[Regression, bisected] Backlight of internal eDP display doesn't turn off any more (Dell XPS 17/GeForce GT 555M)
Submitted by Erik van Pienbroek
Assigned to Nouveau Project
Description
Created attachment 115605
Patch which resolves the issue on the internal display for me
This bug was already filed quite some time ago in the Fedora bugzilla (https://bugzilla.redhat.com/show_bug.cgi?id=1123661) but due to lack of response there I've now filed the bug here. Here's a recap of the details mentioned in the downstream bug report:
Between kernel 3.16.0-0.rc0.git9.1 and 3.16.0-0.rc0.git10.1 a regression got introduced. After this kernel update the backlight on the internal display on my notebook (Dell XPS 17/Geforce GT 555M) doesn't turn off any more.
Together with Hans de Goede we tried some additional kernel boot parameters (like acpi_backlight=vendor) but those didn't resolve the issue.
The issue is still valid with the latest 4.1 development kernels on a Fedora 22 environment.
A git bisect was done to find out the exact commit which caused the regression and this turned out to be:
commit 4874322e78d505d38c8d4481118af5c9f0e8306d
Author: Ben Skeggs bskeggs@redhat.com
Date: Sat May 31 01:48:06 2014 +1000
drm/nouveau/dp: fix support for dpms
SOR_PWR has no effect to power-off DP links, unlike other SOR protocols.
Instead, on the source side, we cut power to the lanes after having put
the sink into D3. Link training takes care of everything required to
bring it back again.
Signed-off-by: Ben Skeggs bskeggs@redhat.com
By now the code in question has seen some rewrites, but I found out that removing the "args.pwr.state = 1;" instruction from the nv50_sor_dpms function (see attached patch) resolves the issue for me. With this change the backlight of the internal display on my notebook now properly turns off whenever I try to lock my desktop.
Unfortunately this patch doesn't resolve all display related issues I'm having with nouveau. There's also an external display connected to my notebook (using a mini-DP connection) which shows a similar issue. Whenever I lock my desktop the external display goes black (with the backlight off), but after about 8 seconds the backlight suddenly turns back on and remains on. The backlight on my internal display remains off (with the patch applied). I've tested various kernels (from 3.16 to current 4.1) and none are able to properly turn off the external display (it may have worked in the past, but I can't get it reproduced at the moment).
Any ideas where to go from here?
Patch 115605, "Patch which resolves the issue on the internal display for me":
0001-drm-nouveau-dp-make-turning-off-edp-displays-using-dpms-.patch