Display Brightness Slider for Gnome Shell
-
install
ddcutil
-
Manually load kernel module
i2c-dev
sudo modprobe i2c-dev
- Verify that your monitor supports brightness control
ddcutil capabilities | grep "Feature: 10"
- udev rule for giving group i2c RW permission on the
/dev/i2c
devices
ddcutil 2.0+
sudo cp /usr/share/ddcutil/data/60-ddcutil-i2c.rules /etc/udev/rules.d
Note: Fedora 40+ users, you need to uncomment this line
# KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0660"
Prior ddcutil 1.4.0
sudo cp /usr/share/ddcutil/data/45-ddcutil-i2c.rules /etc/udev/rules.d
Read more: https://www.ddcutil.com/i2c_permissions/
- Create i2c group and add yourself
sudo groupadd --system i2c
sudo usermod $USER -aG i2c
- load
i2c-dev
automatically
sudo touch /etc/modules-load.d/i2c.conf
sudo sh -c 'echo "i2c-dev" >> /etc/modules-load.d/i2c.conf'
- Reboot for changes to take effect
sudo reboot
This tool uses ddcutil as backend, so first make sure that your user can use use following shell commands without root or sudo.
ddcutil getvcp 10
to check the brightness of a monitor and
ddcutil setvcp 10 100
to set the brightness to 100
It automatically supports multiple displays detected by
ddcutil detect
You can find this extension here
Clone this repo and in the repo's root directory run these shell commands
make build
make install
In my hardware for some reason when ddcutil detect
is ran for the first time after a cold boot and then, when it checks for i2c busno=1, whole system locks for couple of seconds.
As a workaround I changed this extension to read cached info from a file, when it exists.
ddcutil --brief detect > $XDG_CACHE_HOME/ddcutil_detect
This extension is developed and maintained by @daitj
- @oscfdezdz for adding new settings UI, keyboard shortcuts and ability to set icon location
- @maniacx for porting the extension to GNOME 45
- Night Theme Switcher for keyboard shortcut UI.