Bug 509412 - Screen brightness widget lacks access rights to i2c bus for changing brightness
Summary: Screen brightness widget lacks access rights to i2c bus for changing brightness
Status: RESOLVED DOWNSTREAM
Alias: None
Product: plasmashell
Classification: Plasma
Component: Brightness and Color widget (other bugs)
Version First Reported In: 6.4.4
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-09-12 11:56 UTC by tomsala
Modified: 2025-09-16 22:09 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tomsala 2025-09-12 11:56:33 UTC
SUMMARY
The screen brightness widget cannot control the brightness of DDC-capable screens, because it lacks access rights to the i2c bus.

STEPS TO REPRODUCE
1. Connect DDC-capable external screen
2. Use "sudo ddcutil setvcp 10 70" to set the screen brightness to 70%. Verify that it works.

OBSERVED RESULT
My screen brightness widget still shows a screen brightness of 100%.
Changing the slider dimms the brightness in software.
Reading back the brightness value with "sudo ddcutil getvcp 10" keeps returning 70%.

EXPECTED RESULT
The value of the slider and that of ddcutil match. After following the above steps, it should be at 70%.
Changing the brightness with the slider and then reading it back with "sudo ddcutil getvcp 10" should return the same value that the slider is set to.

SOFTWARE/OS VERSIONS
perating System: Fedora Linux 42
KDE Plasma Version: 6.4.4
KDE Frameworks Version: 6.17.0
Qt Version: 6.9.1
Kernel Version: 6.16.5-200.fc42.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen AI 7 350 w/ Radeon 860M

ADDITIONAL INFORMATION
I found the solution:
I got it to work by giving me access rights to the i2c bus. I followed the instructions found here: https://github.com/davidhi7/ddcci-plasmoid

# create group i2c, if it doesn't exist yet
$ sudo groupadd --system i2c

# add me to that group
$ sudo usermod -aG i2c <username>

# Add the following lines to /etc/udev/rules.d/60-ddcutil-i2c.rules
# I'm not sure what this code does, please verify - but it works.
SUBSYSTEM=="i2c-dev", KERNEL=="i2c-[0-9]*", ATTRS{class}=="0x030000", TAG+="uaccess" 
KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0660"

Reboot, the brightness widget now shows the same value as "ddcutil getvcp 10" and can change the screen brightness.
Comment 1 TraceyC 2025-09-16 22:09:08 UTC
Thanks for the bug report. KDE Plasma sits on top of a large stack of software, not all of which is under KDE's control.
The system groups and udev rules are set by your distro. I recommend filing a bug report with Fedora to adjust these.

https://docs.fedoraproject.org/en-US/quick-docs/bugzilla-file-a-bug/

Thanks for your understanding.