Backlight adjustments shows OSD but does not change anything on Samsung OLED panel
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linux |
Unknown
|
Medium
|
|||
linux (Ubuntu) |
Confirmed
|
Medium
|
AaronMa |
Bug Description
When running Ubuntu with linux-image-
UBUNTU: SAUCE: i915: intel_dp_
https:/
UBUNTU: SAUCE: drm/i915: customize DPCD brightness control for specific panel
https:/
It has been explained to me that these OEM changes are unlikely to be directly ported into -generic images but it seems relevant to document the issue. I ported the above commits to the latest linux mainline kernel and am running that (other than while reporting this issue). This was in part because >= 5.3.12 fixes another issue with this hardware where the screen remains black after a resume (https:/
https:/
https:/
Built with:
git clean -fdx && cp /boot/config-
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.
I have naively ported these patches. While I have done embedded C for years and some hardware design... I am not familiar with Linux kernel development nor any details of controlling this hardware.
ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: linux-image-
ProcVersionSign
Uname: Linux 5.3.0-23-generic x86_64
ApportVersion: 2.20.11-0ubuntu8.2
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
CurrentDesktop: KDE
Date: Thu Nov 28 21:24:12 2019
InstallationDate: Installed on 2019-11-26 (2 days ago)
InstallationMedia: Kubuntu 19.10 "Eoan Ermine" - Release amd64 (20191017)
MachineType: LENOVO 20QTCTO1WW
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=
RelatedPackageV
linux-
linux-
linux-firmware 1.183.2
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 10/17/2019
dmi.bios.vendor: LENOVO
dmi.bios.version: N2OET40W (1.27 )
dmi.board.
dmi.board.name: 20QTCTO1WW
dmi.board.vendor: LENOVO
dmi.board.version: SDK0T08861 WIN
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.
dmi.modalias: dmi:bvnLENOVO:
dmi.product.family: ThinkPad P1 Gen 2
dmi.product.name: 20QTCTO1WW
dmi.product.sku: LENOVO_
dmi.product.
dmi.sys.vendor: LENOVO
Changed in linux (Ubuntu): | |
assignee: | nobody → AaronMa (mapengyu) |
importance: | Undecided → Medium |
Changed in linux: | |
importance: | Unknown → Medium |
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.