Fixing xbacklight
I recently decided to upgrade from Ubuntu 16.04 LTS to 16.10. This was
unfortunate for a couple reasons: 1. The upgrade broke some dependencies
leading to apt
no longer working and 2. I made the decision at midnight on a
worknight.
I ended up reinstalling 16.04 and trying to restore a backup of my home folder.
In this process, I ended up breaking plenty of my configuration. The most
frustrating of which was the breaking of xbacklight
for backlight control.
Before the reinstall, xbacklight
worked perfectly. Now, it returned a
frustrating error: “No outputs have backlight property”
I knew this wasn’t true because it worked before, but I didn’t know what exactly was wrong, so I explored several options.
- Modifying kernel parameters – Adding parameters like
acpi_backlight=vendor
to grub to somehow change ACPI behavior on boot. This never changed anything as far as I could tell, and was annoying to test because it required restarting. - Adding a line to xorg.conf – Adding “EnableBrightnessControl=1” to a device section of an xorg config file. This also never seemed to do anything at all.
- Writing to
/sys/class
– One can change their brightness by writing to the brightness file in/sys/class/backlight/intel_backlight
, but this requires root permissions, and doesn’t fixxbacklight
, the basis of my backlight control config.
Ultimately I found a debian bug
page that led to my
result. The problem exists in an updated x/video package. What I needed was
xserver-xorg-video-intel
, but what I had was xserver-xorg-core
.
According to this bug report, someone was able to force rollback to
xserver-xorg-video-intel
by creating the following file:
/usr/share/X11/xorg.conf.d/10-backlight.conf
Section "Device"
Identifier "Intel"
Driver "intel"
EndSection
And indeed it worked for me too. I created this file and rebooted, and
xbacklight
worked again!
Lenovo Thinkpad Carbon X1, 4th gen
Ubuntu 16.04 LTS
Kernel 4.8.0-41-generic
xbacklight 1.2.1