KDE brightness widget not usable

The backlight device should be exposed. If it is not then the desktop widget has nothing to work with.

Not related to this issue, but you should remove the unneeded NVIDIA repos.

Ok, I have retested the 4 options to be certain. None claim to find a backlight.

amdgpu.backlight=0
ls -l /sys/class/backlight/
total 0

acpi_backlight=video
ls -l /sys/class/backlight/
total 0

acpi_backlight=vendor
ls -l /sys/class/backlight/
total 0

acpi_backlight=native
ls -l /sys/class/backlight/
total 0

@malcolmlewis Thank you for vdu_controls information.

That suggests a driver issue.

@deano_ferrari Are you referring to amdgpu when you speak of this? Possibly a report on GitLab about this?

Yes, the graphics driver.

I’ve seen some recent threads describing screen brightness regressions for amdgpu, but not quite the same symptoms as you describe. For example:
[Solved?] AMD CPU/GPU backlight brightness issues since updates / Laptop Issues / Arch Linux Forums
[solved] Screen very dim with Kernel 6.15.0 - Linux - Framework Community

This parameter might be worth a shot
amdgpu.dcdebugmask=0x40000
Usually for laptops, and really it is a workaround…a debug flag to allow backlight control on all panels. YMMV

A bug report is probably the best way forward I think.

Thanks for the help with this. I have created a bug report
at GitLab :< Making sure you're not a bot!

I am experiencing detection issues with the NEC monitor when initiating VDU Control and have reached out for possible help there also :< VDU Controls failed to obtain capabilities for 1 of 2 external monitors. · Issue #118 · digitaltrails/vdu_controls · GitHub

After receiving information and tips from VDU_Control author. I have also opened report with ddcutil GitHub KDE brightness Widget not usable · Issue #548 · rockowitz/ddcutil · GitHub

Now that I’ve come back to this, I realized my focus on /sys/class/backlight was not relevant here. As Malcolm mentioned, you’re not using a laptop, and that device only applies to laptop displays. For connected displays, it indeed relies on ddcutil. FWIW, my laptop is connected to an HDMI connected Dell monitor:

~> ddcutil detect
Display 1
   I2C bus:  /dev/i2c-3
   DRM_connector:           card1-HDMI-A-1
   EDID synopsis:
      Mfg id:               DEL - Dell Inc.
      Model:                DELL U2417H
      Product code:         16616  (0x40e8)
      Serial number:        Y5V6Y84DB99L
      Binary serial number: 1111046476 (0x4239394c)
      Manufacture year:     2018,  Week: 15
   VCP version:         2.1

and reports current brightness level as expected

~> ddcutil getvcp 10
VCP code 0x10 (Brightness                    ): current value =    64, max value =   100

So maybe the issue is with your monitor.

I wished to show lsmod | grep "amdgpu" output also.

amdgpu              15589376  102
crc16                  12288  2 amdgpu,ext4
amdxcp                 12288  1 amdgpu
i2c_algo_bit           24576  1 amdgpu
drm_ttm_helper         16384  2 amdgpu
ttm                   126976  2 amdgpu,drm_ttm_helper
drm_exec               12288  1 amdgpu
gpu_sched              69632  1 amdgpu
drm_suballoc_helper    16384  1 amdgpu
video                  81920  1 amdgpu
drm_panel_backlight_quirks    12288  1 amdgpu
drm_buddy              28672  1 amdgpu
drm_display_helper    290816  1 amdgpu
cec                    94208  2 drm_display_helper,amdgpu

There are problems with ddcutil on machine here which point to monitor BUT the Goldstar monitor brightness is able to adjust. ddcutil detect claims no i2c.

ddcutil detect
(flock_lock_by_fd              )           Max wait time 0 milliseconds exceeded after 2 flock() calls
(flock_lock_by_fd              )           flock() for /dev/i2c-1 failed on 2 calls
(flock_lock_by_fd              ) Flock diagnostics:
   Processes locking /dev/i2c-1 (inode 401): 
Current call stack (using backtrace()):
   flock_lock_by_fd
   i2c_open_bus
   ddc_open_display
   ddc_initial_checks_by_dref
   
   
   
   
[ 60688] no traced function stack
(flock_lock_by_fd              )           Max wait time 0 milliseconds exceeded after 2 flock() calls
(flock_lock_by_fd              )           flock() for /dev/i2c-1 failed on 2 calls
(flock_lock_by_fd              ) Flock diagnostics:
   Processes locking /dev/i2c-1 (inode 401): 
Current call stack (using backtrace()):
   flock_lock_by_fd
   i2c_open_bus
   ddc_open_display
   ddc_initial_checks_by_dref
   
   
   
   
[ 60688] no traced function stack
(flock_lock_by_fd              )           Max wait time 0 milliseconds exceeded after 2 flock() calls
(flock_lock_by_fd              )           flock() for /dev/i2c-1 failed on 2 calls
(flock_lock_by_fd              ) Flock diagnostics:
   Processes locking /dev/i2c-1 (inode 401): 
Current call stack (using backtrace()):
   flock_lock_by_fd
   i2c_open_bus
   ddc_open_display
   ddc_initial_checks_by_dref
   
   
   
   
[ 60688] no traced function stack
(flock_lock_by_fd              )           Max wait time 0 milliseconds exceeded after 2 flock() calls
(flock_lock_by_fd              )           flock() for /dev/i2c-1 failed on 2 calls
(flock_lock_by_fd              ) Flock diagnostics:
   Processes locking /dev/i2c-1 (inode 401): 
Current call stack (using backtrace()):
   flock_lock_by_fd
   i2c_open_bus
   ddc_open_display
   ddc_initial_checks_by_dref
   
   
   
   
[ 60688] no traced function stack
(flock_lock_by_fd              )           Max wait time 0 milliseconds exceeded after 2 flock() calls
(flock_lock_by_fd              )           flock() for /dev/i2c-1 failed on 2 calls
(flock_lock_by_fd              ) Flock diagnostics:
   Processes locking /dev/i2c-1 (inode 401): 
Current call stack (using backtrace()):
   flock_lock_by_fd
   i2c_open_bus
   ddc_open_display
   ddc_initial_checks_by_dref
   
   
   
   
[ 60688] no traced function stack
(flock_lock_by_fd              )           Max wait time 0 milliseconds exceeded after 2 flock() calls
(flock_lock_by_fd              )           flock() for /dev/i2c-1 failed on 2 calls
(flock_lock_by_fd              ) Flock diagnostics:
   Processes locking /dev/i2c-1 (inode 401): 
Current call stack (using backtrace()):
   flock_lock_by_fd
   i2c_open_bus
   ddc_open_display
   ddc_initial_checks_by_dref
   
   
   
   
[ 60688] no traced function stack
(flock_lock_by_fd              )           Max wait time 0 milliseconds exceeded after 2 flock() calls
(flock_lock_by_fd              )           flock() for /dev/i2c-1 failed on 2 calls
(flock_lock_by_fd              ) Flock diagnostics:
   Processes locking /dev/i2c-1 (inode 401): 
Current call stack (using backtrace()):
   flock_lock_by_fd
   i2c_open_bus
   ddc_open_display
   ddc_initial_checks_by_dref
   
   
   
   
[ 60688] no traced function stack
Display 1
   I2C bus:  /dev/i2c-1
   DRM_connector:           card1-DP-1
   EDID synopsis:
      Mfg id:               NEC - NEC Corporation
      Model:                EA294WMi
      Product code:         26833  (0x68d1)
      Serial number:        37100987NA
      Binary serial number: 16843009 (0x01010101)
      Manufacture year:     2013,  Week: 27
   VCP version:         2.0

Display 2
   I2C bus:  /dev/i2c-3
   DRM_connector:           card1-DP-3
   EDID synopsis:
      Mfg id:               GSM - Goldstar Company Ltd (LG)
      Model:                LG IPS FULLHD
      Product code:         23224  (0x5ab8)
      Serial number:        
      Binary serial number: 16843009 (0x01010101)
      Manufacture year:     2014,  Week: 1
   VCP version:         2.1

Invalid display
   I2C bus:  /dev/i2c-4
   DRM_connector:           card1-DP-1
   EDID synopsis:
      Mfg id:               NEC - NEC Corporation
      Model:                EA294WMi
      Product code:         26833  (0x68d1)
      Serial number:        37100987NA
      Binary serial number: 16843009 (0x01010101)
      Manufacture year:     2013,  Week: 27
   This monitor does not support DDC/CI. (I2C slave address x37 is unresponsive.)

Invalid display
   I2C bus:  /dev/i2c-6
   DRM_connector:           card1-DP-3
   EDID synopsis:
      Mfg id:               GSM - Goldstar Company Ltd (LG)
      Model:                LG IPS FULLHD
      Product code:         23224  (0x5ab8)
      Serial number:        
      Binary serial number: 16843009 (0x01010101)
      Manufacture year:     2014,  Week: 1
   This monitor does not support DDC/CI. (I2C slave address x37 is unresponsive.)

You may find the vdu_control reply very informative :< VDU Controls failed to obtain capabilities for 1 of 2 external monitors. · Issue #118 · digitaltrails/vdu_controls · GitHub

It’s not an issue with KDE Plasma though.

Do you have alternative monitors (even a TV) to test with?

I would kill that bug report. I was thinking about laptop displays when we went down that path. It’s not relevant here.

I closed that report heh. I have the ddcutil report here KDE brightness Widget not usable · Issue #548 · rockowitz/ddcutil · GitHub title KDE brightness Widget not usable Is the title and content adequate?

You linked to it already (and I skim read it), but again this is not a KDE issue. It relies on ddcutil (libddcutil5), and if your monitor does not support full I2C/DDC/CI, or does so unreliably, there is nothing KDE or ddcutil can fix.

That is unfortunate to hear.

Just adding a response from gitlab freedesktop amd although bug is closed there.

The backlight control in the driver is only for integrated LVDS or eDP panels (e.g., the panel’s built into a laptop). Backlight control for external monitors is monitor specific.

I understand this was already discussed.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.