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).

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

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

Corrections and improvements are welcome:

Download article source  


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 :(

link David REVOY Author, - Reply

Hi Douglas,
I never tried the Windows version of the driver, so I had no idea the gains/saturation/hue were also exposed; but do you think these are hardware controls like the classic brightness/contrast/color temperature we can find on any monitors? It sounds like this part can be changed with the video card curves, but I'm not sure about that. Maybe something for xrandr on X11 (I'm thinking about 'xrandr --output LVDS1 --brightness 0.9' sort of command-line; this one can reduce the luminosity by 90%) or the options '--set "Broadcast RGB" "Full"' or '--gamma red:green:blue' ; but all in all touching saturation and hue might be counter-productive to calibrate the monitor so I'm not really missing this type of options. But I find it interesting to think Wacom exposed this to their proprietary driver; thank you for your comment.

link Douglas Brebner   - Reply

I think they're hardware controls, but I couldn't get them to respond.

Supposedly, when you calibrate some Cintiqs using the Wacom colourimeter, it uploads the colour curves to the Cintiq itself, instead of just tweaking the video card curves. This is with the Windows Wacom drivers of course.

I was trying to figure out how this worked so I could send the information to the Linux wacom driver people to add to the drivers. That way, tools like ArgyllCMS and xsetwacom could support this under Linux.

link Francisco   - Reply

Hi, David, and thanks for the answer about how you use color management in Krita. After many tests, trying to obtain a consistent configuration, I have had many doubts and problems that I do not understand or I can not solve myself.

I tried to reproduce your scheme (sRGB for the screen, with "using the system monitor profile" unchecked). Previously, I calibrated my monitors with displayCal, and loaded the profiles with colord. I tried using the displayCal charger, but sometimes it loads only one profile.
With this configuration, my files with embedded srgb profile, are seen with darker shadows and with very little detail, and some more saturated colors in the case of my main monitor. The conclusion I have reached is that Krita seems not to convert the gamma of the profile created for the monitors, to the gamma of the sRGB profile. As I read, gamma 2.2 and sRGB "gamma" are different. sRGB has a curve with a straight segment at the beginning, which flattens the shadows.

I have done some tests, such as opening the same image in Photoshop, Gimp, Inkscape and Gwenview. In all cases, with a similar configuration (I think so), I see the image with shadows "not cropped."

Even making a profile with a 1.6 gamma, as an experiment, all the previous programs correct it, and the images are displayed correctly, even if my desktop is very clear.
I have achieved some configurations that allow me to use sRGB in Krita, without trimming the shadows, although with disparate results regarding the saturation of some shades:

Using a gamma sRGB in the calibration of the monitors. This option clears my desktop, but the programs mentioned above make the compensation, and I see the same image in all of them, including Krita.

Using a "simplified" sRGB color space, it seems that with a pure 2.2 gamma, created with Photoshop, it seems to fit better with sRGB.

Using the sRGB-width-gamma-22-tone-response-curve profile of an Elle Stone experiment:

Sorry to get too long, but right now I am quite confused with the color management in Krita. May I ask your opinion?

Thanks and best regards.

link David REVOY Author, - Reply

It might be an issue with colord. Note that (in case you are using KDE) the colord-kde module still think Plasma4 exists and the module is shipped as it is even on future Kubuntu Daily build for future LTS. I load my profiles here with dispwin for all my monitors.

#! /bin/sh
dispwin -d 1 -c
dispwin -d 2 -c
dispwin -d 1 /home/deevad/scripts/2020-01-06_PHIL27.icc
dispwin -d 2 /home/deevad/scripts/2020-01-06_PHIL21.icc

For the issue; you have a bug (especially if you see other software can do it and can reproduce where Krita is failing). It might be an issue with how Krita reads colord type of profiles; or how colord expose the ICC infos to Krita. It might be also something Krita can't read or access (snap? flatpack containment?) Please report a bug on the bug tracker; Wolthera or Boud will be able to help more than I do with your issue.

link David REVOY Author, - Reply

Note: I tested new beta version of KDE-Neon and Kubuntu 20.04LTS Daily; colord-kde is not working. I reported a bug report here but the project look like abandoned even if I could see a Gentoo developper packing it recently and even patching the dialog to get a new icon. But it might be just a packager not checking if the apps works and not owning a colorimeter, just launching the apps, spotting an icon to update.... Here is the report:

link Francisco   - Reply

Thank you very much, David, for your response and suggestions, and for the research. The questions related to color management are always complex, and I think it is a fundamental aspect in any digital artist.

link Amelie   - Reply

Thank you very much David for pointing me to the right direction. I've been using a Wacom One in half darkness for a while on Ubuntu/Gnome, until I found your blog post. Very much appreciated your time sharing this (and your drawings are beautiful!).

BTW, for Wacom One brightness is not listed among the device VCP capabilities, however can still be tweaked with "sudo ddcutil --mfg=WAC setvcp 10 85" where 85 is the brightness percentage.

All the best, and Stay safe!

link David REVOY Author, - Reply

Oh, thank you very much for leaving here your solution for the Wacom One brightness on Ubuntu/Linux. And thank you for your nice words!

link Fishness   - Reply

I'm trying to configure my wacom 16 the same way yo do but I get the following from ddcutil:
sudo ddcutil detect
Invalid display
I2C bus: /dev/i2c-5
EDID synopsis:
Mfg id: LGD
Serial number:
Manufacture year: 2014
EDID version: 1.4
DDC communication failed
This is an eDP laptop display. Laptop displays do not support DDC/CI.

Invalid display
I2C bus: /dev/i2c-7
EDID synopsis:
Mfg id: LKM
Model: LNKG V2HA01
Serial number:
Manufacture year: 2017
EDID version: 1.3
DDC communication failed

Now, one is my laptopscreen wich does not support DDC/CI.
But the other one (LKM) should be my Cintiq (since it's the only other screen connected).

Have you any idea how to overcome this situation. Not finding much out there...

link cleon   - Reply

Thanks for the great instructions!

I have the same problem as Fishness. After running "sudo ddcutil detect" I got the following output:

Invalid display
I2C bus: /dev/i2c-8
EDID synopsis:
Mfg id: WAC
Model: Cintiq 16
Serial number: 0EQ00X1005961
Manufacture year: 2020
EDID version: 1.3
DDC communication failed

If I ignore the "invalid display" legend and run "sudo ddcutil --mfg=WAC" capabilities, I get:

Display not found

Do you have an idea how can I solve this problem?

link David REVOY Author, - Reply

No idea, sorry. I can't understand why dccutil detect the device in your case, but cannot find the display. Maybe ask Jason (link to his Twitter account on the article, but I'm sure his email is also on the git log of the linux-wacom project). If you find a solution, feel free to comeback here and write it in the comments, I'm sure it will be useful for this generation of Cintiqs (the 16/20) . Thanks.

Leave a reply

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


Enter image code