Created attachment 286111
fix_max_backlight_calculations
When running Ubuntu with linux-image-5.3.0-23-generic, mainline 5.3.13, or latest 5.4+ my Lenovo ThinkPad P1 Gen 2 is unable to change the backlight brightness. The buttons trigger the on-screen display and move the bar but the actual display brightness does not change. With the kernel option i915.enable_dpcd_backlight=1 it does make the backlight change but erratically. For example moving through the range you get stuff like off, medium bright, dim, bright, medium, off. This does work in Ubuntu linux-image-4.15.0-1059-oem. It seems the following commits in particular make the difference.
I ported the above commits to the latest linux mainline kernel and am running that. This was in part because >= 5.3.12 fixes another issue with this hardware where the screen remains black after a resume (https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1854177).
git clean -fdx && cp /boot/config-5.3.0-23-generic .config && yes '' | make oldconfig && make clean && make -j `getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION=-altendky-backlight
Note that the use of DEVICE_ID_ANY is likely bad and the correct ID for this panel should be identified. I wanted to first confirm it worked before bothering to figure out which ID was needed there and how to get it.
Created attachment 286111 backlight_ calculations
fix_max_
When running Ubuntu with linux-image- 5.3.0-23- generic, mainline 5.3.13, or latest 5.4+ my Lenovo ThinkPad P1 Gen 2 is unable to change the backlight brightness. The buttons trigger the on-screen display and move the bar but the actual display brightness does not change. With the kernel option i915.enable_ dpcd_backlight= 1 it does make the backlight change but erratically. For example moving through the range you get stuff like off, medium bright, dim, bright, medium, off. This does work in Ubuntu linux-image- 4.15.0- 1059-oem. It seems the following commits in particular make the difference.
UBUNTU: SAUCE: i915: intel_dp_ aux_backlight: Fix max backlight calculations /git.launchpad. net/~canonical- kernel/ ubuntu/ +source/ linux-oem/ +git/eoan/ commit/ ?h=oem& id=ff39163c455f 31005e2709a2006 a7605b3d8a05f
https:/
UBUNTU: SAUCE: drm/i915: customize DPCD brightness control for specific panel /git.launchpad. net/~canonical- kernel/ ubuntu/ +source/ linux-oem/ +git/eoan/ commit/ ?h=oem& id=cf7286b44a6e 27967f5ed134c44 92dd17bde118a
https:/
I ported the above commits to the latest linux mainline kernel and am running that. This was in part because >= 5.3.12 fixes another issue with this hardware where the screen remains black after a resume (https:/ /bugs.launchpad .net/ubuntu/ +source/ linux/+ bug/1854177).
https:/ /github. com/altendky/ linux/commit/ 395eb4b85f6a0f8 5061c0598247727 de0d9316f6 /github. com/altendky/ linux/commit/ c2dc38e6aadf3d9 79bea83e382a1b1 19574df7af
https:/
Built with:
git clean -fdx && cp /boot/config- 5.3.0-23- generic .config && yes '' | make oldconfig && make clean && make -j `getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION= -altendky- backlight
Note that the use of DEVICE_ID_ANY is likely bad and the correct ID for this panel should be identified. I wanted to first confirm it worked before bothering to figure out which ID was needed there and how to get it.