Screen turned off after X server exits
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | xf86-video-intel |
Invalid
|
Medium
|
||
| | xserver-xorg-video-intel (Ubuntu) |
High
|
Robert Ancell | ||
Bug Description
When the X server exits, the screen turns off and doesn't seem to re-enable. The system is still running (i.e. can SSH in).
To reproduce:
1. Log into a session
2. Switch to the greeter (using indicators or running "dm-tool switch-to-greeter" from a terminal")
3. Log back into session
Expected result:
You return to the session
Observed result:
Screen goes black
This appears to be an issue in the Intel drivers, it occurs with the current wily (2:2.99.
| Robert Ancell (robert-ancell) wrote : | #1 |
| Robert Ancell (robert-ancell) wrote : | #2 |
I first noticed this occuring sometime around the end of August.
| Robert Ancell (robert-ancell) wrote : | #3 |
The issue is in git master and bisecting shows it to be this commit:
commit 7d9a74622e5a936
Author: Chris Wilson <email address hidden>
Date: Mon Jun 15 14:16:34 2015 +0100
sna: Be robust in handling DPMS failures
If we fail to turn off an output via DPMS, disable the entire CRTC in
order to blank the output and save the screeen/power.
Reported-by: Lukas Hejtmanek <email address hidden>
References: https:/
Signed-off-by: Chris Wilson <email address hidden>
diff --git a/src/sna/
index f58eb8d..efc5fc9 100644
--- a/src/sna/
+++ b/src/sna/
@@ -213,7 +213,7 @@ struct sna_output {
int panel_vdisplay;
uint32_t dpms_id;
- int dpms_mode;
+ uint8_t dpms_mode;
struct backlight backlight;
int backlight_
@@ -251,6 +251,7 @@ enum { /* XXX copied from hw/xfree86/
OPTION_
};
+static void __sna_output_
static void sna_crtc_
static bool is_zaphod(
@@ -936,7 +937,7 @@ sna_crtc_
if (output->crtc != crtc)
continue;
- output-
+ __sna_output_
}
#if XF86_CRTC_VERSION >= 3
@@ -966,7 +967,7 @@ sna_crtc_
if (output->crtc != crtc)
continue;
- output-
+ __sna_output_
}
}
@@ -1099,7 +1100,7 @@ sna_crtc_
* and we lose track of the user settings.
*/
if (output->crtc == NULL)
- output-
+ __sna_output_
if (output->crtc != crtc)
continue;
@@ -3580,7 +3581,7 @@ sna_output_
}
static void
-sna_output_
+__sna_
{
struct sna *sna = to_sna(
struct sna_output *sna_output = output-
@@ -3607,8 +3608,9 @@ sna_output_
if (sna_output-
if (old_dpms == DPMSModeOn) {
sna_
- DBG(("%s: saving current backlight %d\n",
- __FUNCTION__, sna_output-
+ DBG(("%s(%s:%d): saving current backlight %d\n",
+ __FUNCTION__, output->name, sna_output->id,
+ sna_output-
}
sna_
sna_
@@ -3618,18 +3620,31 @@ sna_output_
drmModeCo
sna_
sna_
- dpms))
- dpms = old_dpms;
+ dpms)) {
+ DBG(("%s(%s:%d): failed to set DPMS to %d (fixup? %d)\n",
+ __FUNCTION__, output->name, sna_output->id, dpms, fixup));
+ if (fixup) {
+ sna_crtc_
| Robert Ancell (robert-ancell) wrote : | #4 |
https:/
| Changed in xserver-xorg-video-intel (Ubuntu): | |
| status: | New → Triaged |
| importance: | Undecided → High |
| assignee: | nobody → Robert Ancell (robert-ancell) |
| Robert Ancell (robert-ancell) wrote : | #5 |
I've put a patched version of the Intel driver in ppa:robert-
[1] https:/
| Michał Sawicz (saviq) wrote : | #6 |
Confirmed, this is the exact problem I'm having here.
| Jean-Baptiste Lallement (jibel) wrote : | #7 |
I tried the patched version from the PPA and it fixes the problem for me. No more black screen after restarting lightdm
| Robert Ancell (robert-ancell) wrote : | #8 |
I've uploaded this change to wily. There is a possibility that there might be a regression for some users with DPMS but I think that is less severe than the effect on those who are left with the screen off. We'll look at doing an update if upstream provides a fix.
| Changed in xserver-xorg-video-intel (Ubuntu): | |
| status: | Triaged → Fix Committed |
| Launchpad Janitor (janitor) wrote : | #9 |
This bug was fixed in the package xserver-
---------------
xserver-
* debian/
- Revert a DPMS change that causes the screen to turn off when returning
from a greeter (LP: #1501941)
-- Robert Ancell <email address hidden> Tue, 06 Oct 2015 14:25:00 +1300
| Changed in xserver-xorg-video-intel (Ubuntu): | |
| status: | Fix Committed → Fix Released |
On Intel systems when the X server exits the display is turned off and remains off. This is triggered when using LightDM and switching to a greeter (starts a second X server) then authenticating in that greeter and returning to the first X server (the greeter X server is stopped).
The cause seems to be a DPMS change from bug 90179 (revision 7d9a74622e5a936
Tracked in Launchpad:
https:/
We are currently working around this issue in Ubuntu 15.04 by reverting that one commmit.
| Changed in xserver-xorg-video-intel: | |
| importance: | Unknown → Medium |
| status: | Unknown → Confirmed |
(In reply to Robert Ancell from comment #1)
> We are currently working around this issue in Ubuntu 15.04 by reverting that
> one commmit.
That one commit being
commit 7d9a74622e5a936
Author: Chris Wilson <email address hidden>
Date: Mon Jun 15 14:16:34 2015 +0100
sna: Be robust in handling DPMS failures
i.e. not a kernel commit. Apparently Chris' conclusion was that the kernel returns an error on DPMS.
Please attach dmesg with drm.debug=14 module parameter, all the way from boot to reproducing the problem.
| Changed in xserver-xorg-video-intel: | |
| status: | Confirmed → Incomplete |
I haven't been able to generate a dmesg due to another kernel issue I have where it spams the log. I will generate one when that issue is resolved...
This bug is really old, is this problem still persist? Robert are you able now to share your dmesg?
| Changed in xserver-xorg-video-intel: | |
| status: | Incomplete → Invalid |


I am bisecting the problem...