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

Published on

2023-01: Update, I added a feedback for the Cintiq 13 Pro.
2022-12: Update, I added a feedback for the Cintiq 16 on Ubuntu 22.04.
2023-03: Update, I added info about a change in how numeric are set.

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.

Install:

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

then

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 the Mfg identifier: WAC. You can find your on the "Mfg id" line: it's the three first letters in uppercase.

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

Conclusion:

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

Update

Variations for the Cintiq 13 Pro

A feedback from Han Young in the comment section:

The wacom cintiq pro 13 I'm testing refused to comply to the set brightness command. After two days of debugging, I found out that only after restore factory defaults can I set the brightness. The capability code for cintiq pro 13 is 04, so I just execute sudo ddcutil --mfg=WAC setvcp 04 1

Variations for the Cintiq 16 under Ubuntu 22.04

Here are a set of notes I received by email about the Cintiq 16 (2021) under Ubuntu 22.04, thanks Pierre Haessig:

sudo ddcutil detect 

This commands works fine, doesn't crash the computer, but be careful as it returns two devices (they have same identifier Mfg Id "WAC").

sudo ddcutil --mfg=WAC 

This commmand will fail with a "Display not found". However, you can use another method than --mfg to target the monitor by its bus number:

sudo ddcutil --bus=15 capabilities 

The Bus id 15 comes from the line "I2C bus: /dev/i2c-15", part of the output of the command "detect".

You won't find listed on this model the feature number 10 "luminosity", but you'll find "contrast". However, this will not prevent the command

sudo ddcutil --bus=15 getvcp 10

To works and output the brightness: "VCP code 0x10 (Brightness ): current value = 50, max value = 100". To put light to max:

sudo ddcutil --bus=15 setvcp 10 100

Recent changes in interpretation of negative values

If your device support negative values, you might enter it like that: - 10 with a space between the - and the 10. I had a report the version without space was working until of a recent change.