Cintiqs on GNU/Linux: How to setup brightness, contrast and more.

Published on

Last month, during a discussion on Twitter with the GNU/Linux artist Tyson Tan, Neotheta and  Wacom Official, I started to talk about the impossibility for GNU/Linux users to setup the brightness/contrast/RGB on their Cintiqs. And during this discussion Jason Gerecke -maintainer of the Linuxwacom driver- wrote a solution to this issue. Today, I'm reporting this solution on this article for better archiving and in the hope it will help future GNU/Linux artists at finding a solution to their problem.

About the issue:

Cintiqs are tablets made by Wacom with a display monitor built inside the surface of the pen tablet. In my carreer, I owned four Cintiqs. If you want to read my opinions about this tablets, read my full tablet history log article here. On the older models, the monitor had physical buttons to setup the brightness/contrast/RGB, something similar to many common monitors on the market. But around 2010, Wacom replaced the buttons by a driver (a software available only for  Windows and Mac). That's why I never could manage to change the brightness and the contrast of my hardware. I had to use the default factory setting but this one was unfortunately too dark by default.


You need to open a terminal and install ddcutil. On my Kubuntu operating system, I install it with this line:
sudo apt install ddcutil
(Note: if you are new on GNU/Linux, use Ctrl+Shift+V to paste inside a terminal)

Getting the identifier of your Cintiq:

sudo modprobe i2c-dev
sudo ddcutil detect
Thanks to this two commands, you can list and get the identifier of the detected hardware by ddcutil. Unfortunately this two commands crashes my computer and freeze the display. I have to hard reboot holding the power button six seconds each time I'm using them. But the display freeze after printing the result on the screen and you'll have to run this commands only once to know your identifier. In my case, my Cintiq has a three letter capitalized identifier: WAC.

Listing the available settings:

sudo ddcutil --mfg=WAC capabilities
This command will list all the capabilities of the 'WAC' device (screenshot under). Each capabilities are identified by a number (eg. Brightness is number 10). 

Screenshot: Konsole, listing the capabilities of my Cintiq13HD.

Knowing the current value of a setting:

To know the current intensity value of the brightness, you have to use 'getvcp 10' with this line:
sudo ddcutil --mfg=WAC getvcp 10
This command line output looks like that:
VCP code 0x10 (Brightness): current value = 50, max value = 100

Changing the value of a setting

Now if I want to switch the value of the brightness to 75%, I have to use 'setvcp 10' followed by 75:
sudo ddcutil --mfg=WAC setvcp 10 75

All other capabilities can be changed using setvcp. To change the color preset (14) to option 5 (6500K):
sudo ddcutil --mfg=WAC setvcp 14 05


Thanks to this control on the brightness/contrast/RGB of my Cintiq, I was able to match the same luminous intensity in cd/m² as my other monitors. I was also finally able to calibrate the Cintiq to sync with the colors of my other monitors. I also discovered it was possible to draw on this device during the day without having to close the windows and set my workplace into the dark. It was long, tedious to setup this device via the command line but it was possible. This totally made me focus back on digital drawing using this hardware. Thank you again Jason Gerecke for sharing this solution and obviously not thank you Wacom for publishing only drivers for Mac and Windows on your website. This story is just another proof that being an artist on GNU/Linux requires a lot of knowledge... or you might spend years of your life painting in the darkness (as I did).

License: CC BY
David Revoy,, .
Unless otherwise mentioned in the article.

Tags:  #install  #Linux  #krita  #tablet  #hardware  


link xHire   - Reply

So many years and I haven’t known about the Ctrl-Shift-V shortcut! I always used just Shift-Insert that pastes contents of the other clipboard (Ctrl-Shift-V works with “Ctrl-C clipboard”, while Shift-Insert with “select(&click-mouse-wheel-to-paste) clipboard”). Thank you, this is a very helpful tip! :·)

For hard reboot, I prefer prefer using the magic SysRq key ( in a sequence of shortcuts Alt-SysRq-S (to sync filesystems), Alt-SysRq-U (to remount them as read-only) and Alt-SysRq-B (to actually force immediate hard reboot).

Anyway, it’s good to know that there is this possibility to control cintiq with ddcutil. For a long time, I had no idea how to control brightness on my laptop, because I was using only openbox that doesn’t have any built-in support for brightness control, so I was stuck with a very dark screen too. (Later I found xbacklight utility that solved this issue for me. :·))

link David REVOY Author, - Reply

Oh, I haven't thought of using that for the monitor on my laptop. That sounds so obvious now. I'll try. Thank you for the tip!

link cybertron   - Reply

I use redshift on my stumpwm WM debian manager.
It works in any DE or WM I might or not install...

link David REVOY Author, - Reply

@cybertron: Redshift doesn't manage this type of brightness at a hardware level. As far as I know, it interacts only with the color curve of the output of the graphic card: so you can't brighten an hardware or use the feature of the monitor; you can just 'tone down' the video signal output. Solutions like redshift might solves very well the blue color issue that affect human's sleep cycle but unfortunately for graphist/artist, I never saw a solution like that mixing well with the need of keeping a consistent color-profiling and calibration. I would like to know if the dev of graphic server thought about this.

link bazza   - Reply

It connects only by HDMI or needs also a connection USB?

link David REVOY Author, - Reply

@bazza: The Cintiq13HD has a all-in-one single cable (you can see on the photo) that split into a HDMI, a USB and an alim (requiring 220volts here). So it is really like a monitor plus a tablet hardware. The USB manages the Wacom tablet, the monitor is managed by HDMI. You can even disconnect the USB and use only the 1080p monitor.

link Larpon   - Reply

Finally a way! Thank you so much for sharing!

link David REVOY Author, - Reply


link Ali   - Reply

''Hi David, How long dose it take for you to complete a complete page, just for sketching, coloring and editing'' ... For your comic book.

link David REVOY Author, - Reply

Hi Ali,
It is too hard to tell; because I'm not doing page from A to Z one by one like artworks. I do cycle: a pass on all pages for storyboard, then for pencil, then for line-art, then color-flat, then background painting, then shading, then paint-over and then post-FX. It does loops in the agenda. Also, I'm not doing only production: I experiment, I record video tutorials, I do video-editing cut, I write articles, I interact with community, I maintain the translations and website. So, right now I take in between two month and three month to complete a 8 pages long episode. That's a bit more than a full week per page? Maybe around 30h of pure production per page.

link Ali   - Reply

WOW, thanks for the reply and rely appreciate your dedication to your work.

link Batto   - Reply

I'm curious have you had any luck mapping the express keys? I have a Wacom mobile studio pro and unfortunately I have been stuck using windows because of the constant driver issues I've been having. Its basically a laptop and a Cintiq all in one. I've had no luck getting pressure sensitivity or the buttons working. its either one or the other for some reason.

link rice   - Reply

And how do you calibrate cintiq pen with linux ?


link David REVOY Author, - Reply

Hi rice; it depends: for Xorg based desktops, Gnome and KDE have a GUI for calibration and a CLI tool exist named xcalibrator and xsetwacom. On Wayland, as far as I know only Gnome has a GUI for that.

link Francisco   - Reply

Hi, David, is it possible that Krita correctly recognizes and applies two color profiles for two different monitors, when one screen is configured as a replica of another? I recently bought a Cintiq 13 HD, and if I replicate my main monitor on the Cintiq, the Colord profile loader (I'm in KDE Plasma), it seems that it applies the global profiles correctly on each monitor, but Krita always applies one of them to both devices. Also, if the box "use the profile of the system monitor is checked, it confuses the profiles of my devices, so I have to assign them manually. Could you tell me what your configuration looks like, since it is the same as the one I describe? Thanks from in advance and greetings!

link David REVOY Author, - Reply

Hey, yes, this part doesn't work very well and the best setup I found (I often use the same config as you: cintiq13HD duplicate of my main + an external monitor, so three in total) is to assign the ICC I create with DispCalGUI for each monitors with Dispwin ; using a bash script at start-up. This color correct the full desktop on the three monitors. Then I let Krita do the convertion not using the system monitor profile (unchecked) and I put sRGB built-in in each "Screen" list. This way Krita convert the color profile of document to sRGB for the display; and dispwin correct this with my profile. This method works well with monitors being near to sRGB gamut; but has limits with wide gamut monitors where one has no benefit to restrict all colors to the small gamut of sRGB to display a CMYK or AdobeRGB document... Fortunately all my cheap monitors rarely exeed 104% of sRGB gamut; so I'm fine getting this bottleneck at the output of Krita and correct it on the fly with a global one.

link Douglas Brebner   - Reply

I knew you could change brightness/contrast/colour temperature this way but I've never been able to change things like the seperate colour channel gains/saturations/hues.

I keep meaning to send a wireshark trace of colour calibrating my cintiq from windows to the linux wacom devs but it'll require a lot of messing around, assuming I can even trace ddc stuff :(

Leave a reply

Comments will be moderated according the Citizens of Hereva Code of Conduct.


Enter image code