Display Brightness Slider for Gnome Shell
Setup ddcutil
-
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
sudo cp /usr/share/ddcutil/data/45-ddcutil-i2c.rules /etc/udev/rules.d
- 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
Installation
Automatically from GNOME extensions
You can find this extension here
Manually from the source code
Clone this repo and in the repo's root directory run these shell commands
make build
make install
Issues
Screen hangs/locks on first startup
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
Credits
This extension is developed and maintained by @daitj
Thanks to the following people for contributing via pull requests:
- @oscfdezdz for adding new settings UI, keyboard shortcuts and ability to set icon location
Thanks to the following extensions for the inspiration
- Night Theme Switcher for keyboard shortcut UI.