Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
Manage monitor settings with ddcci-driver and ddcutil/ddcui (AOC G-menu alternative)
whizse Oct 10, 2022
TL DR: Use the ddci driver and ddcutil/ddcui utils to control backlight and other preferences on external monitors.

I usually adjust monitor settings once when a monitor is new and live with those settings for the entire lifespan of the device. Lately though, in an effort to save some energy, I have started to lower the backlight when coding/reading and switching back to normal for movies and games. As expected, this is fiddly with the hardware controls and OSD menus.

The Windows software package for this (AOC) monitor includes something called G-Menu which provides the same controls but in software. Not available for Linux, so I went looking for alternatives.

Turns out there's a standard'ish way to speak monitor config. That language is called Display Data Channel Command Interface and you will communicate with monitors implementing the Monitor Control Command Set. Need a translator? Enter the ddci driver and the ddcutil/ddcui utils,

The ddcci drivers provides backlight control, and most other things accessed in the OSD menu. Controlling the backlight is now as simple on my desktop as on it is on my laptop.

ddui and the options supported by ddcci for my monitor:



Besides backlight I can for example quickly toggle the game mode feature (different colour/brightness profiles). The "Racing" profile with a higher contrast and brightness was actually helpful for driving sims. Switching it on and off is now easily handled by a script at game start and exit. Hey! A feature I payed for but never used until now!

The downside is that not every feature is supported. For example this monitor can draw some sort of aim assist* on the middle of the screen. It can be toggled from the OSD menu, but is not available through ddcui. Not something I miss though.

The driver and tools are packaged in many distros (in Debian as ddcci-dkms, ddcui and ddcutil) and there's work ongoing to have it upstreamed.

* Big ugly red crosshairs

Last edited by whizse on 10 October 2022 at 4:53 pm UTC
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.