You are not logged in.

#1 2022-08-03 10:37:16

azmeuk
Member
Registered: 2012-06-30
Posts: 27
Website

Backlight changes with ddcutil, but /sys/class/backlight is empty

I have a NVIDIA GeForce GTX 1050 Ti with the proprietary blob driver, kernel 5.18.15, and a Dell Ultrasharp U3219Q 32" monitor.

I would like to be able control the monitor screen backlight. I followed the instructions from the wiki and I can control the backlight with ddcutil:

$ sudo ddcutil capabilities | grep "Feature: 10"
[sudo] Mot de passe de azmeuk :
   Feature: 10 (Brightness)
$ sudo ddcutil getvcp 10
VCP code 0x10 (Brightness                    ): current value =    50, max value =   100
$ sudo ddcutil setvcp 10 25
# actually darkens the screen brightness
$ sudo ddcutil setvcp 10 50
# actually lights the screen brightness

In order to be able to user backlight utilities,

  • I installed ddcci-driver-linux-dkms

  • I added myself to the i2c and video groups

  • I copied the /usr/share/ddcutil/data/90-nvidia-i2c.conf in /etc/X11/xorg.conf.d/, because the wiki instruction tell it is needed

  • I copied /usr/share/ddcutil/data/45-ddcutil-i2c.rules in /etc/udev/rules.d so I can access the device files without being root

  • Rebooted, just to be sure

  • I enabled the ddcci_backlight kernel module

    sudo lsmod | grep "ddcci\|i2c_dev"
    i2c_dev                24576  0
    ddcci_backlight        20480  0
    ddcci                  49152  1 ddcci_backlight

However /sys/class/backlight is empty, and grep RegistryDwords /proc/driver/nvidia/params returns empty value, maybe suggesting that the nvidia fix did not work? With /sys/class/backlight being empty, none of the backlight utilities work.

I am not sure where to search from here. Do you have a clue?

Last edited by azmeuk (2022-08-03 11:32:27)

Offline

#2 2022-08-03 11:03:06

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,645

Re: Backlight changes with ddcutil, but /sys/class/backlight is empty

dkms modules are generally only compiled when the corresponding linux-headers are installed, is that the case? Did you check lsmod whether the ddcci kernel module is loaded?

Did you read the comments in https://aur.archlinux.org/packages/ddcc … ent-874069 ?

Last edited by V1del (2022-08-03 11:06:50)

Offline

#3 2022-08-03 11:31:49

azmeuk
Member
Registered: 2012-06-30
Posts: 27
Website

Re: Backlight changes with ddcutil, but /sys/class/backlight is empty

V1del wrote:

dkms modules are generally only compiled when the corresponding linux-headers are installed, is that the case? Did you check lsmod whether the ddcci kernel module is loaded?

Yes. I edited the post to paste the lsmod results.

V1del wrote:

If I understand correctly, this comment gives a trick to load the kernel module at startup for convenience. At the moment I just would like to get this work at least once, event if it is not persistent.

Offline

#4 2022-08-10 18:29:01

fh2ctm
Member
Registered: 2022-08-10
Posts: 1

Re: Backlight changes with ddcutil, but /sys/class/backlight is empty

I have the same issue here. ddcci and ddcci_backlight are both loaded according to lsmod, but backlight utilities (e.g. light) cannot detect my monitor

Last edited by fh2ctm (2022-08-10 18:30:19)


077 199 00223 12455

Offline

#5 2022-08-10 21:28:44

dimich
Member
From: Kharkiv, Ukraine
Registered: 2009-11-03
Posts: 240

Re: Backlight changes with ddcutil, but /sys/class/backlight is empty

azmeuk wrote:

However /sys/class/backlight is empty

README.md for ddcci-driver-linux says:

For each monitor that supports accessing the Backlight Level White or the Luminance property, a backlight device of type "raw" named like the corresponding ddcci device is created. You can find them
in `/sys/class/backlight/`.

But

Feature: 10 (Brightness)

is not a Backlight control. It is brightness control which is also available from monitor's menu.

Offline

#6 2022-09-12 20:42:31

twirlip_
Member
Registered: 2022-09-12
Posts: 1

Re: Backlight changes with ddcutil, but /sys/class/backlight is empty

This is an issue with the nvidia driver. Fortunately, you can force the ddcci backlight driver to detect an i2c device manually.

There's a workaround that involves creating a udev rule to trigger forced detection once the i2c devices become active. Take a look at this issue in the driver's GitLab repo, it has more details: https://gitlab.com/ddcci-driver-linux/d … _151296583

Offline

Board footer

Powered by FluxBB