FGLRX DPMS support totally broken, fails to wake up the monitor after putting it to sleep.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
fglrx |
Confirmed
|
High
|
|||
fglrx-installer (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
I have filed a bug report in AMD's bugzilla about this. I would also like to file one here to track that one.
---
For quite a while now, I've just turned DPMS off to keep anything from putting
the monitor to sleep to work around this problem.
When DPMS support is on (which is the default setting), and something attempts
to put the display to sleep (in this case, KDE's desktop power management
daemon, but I've had this problem with XFCE and GNOME, and under Ubuntu's Unity
desktop as well), the monitor cannot come back on when the user returns and
moves the mouse or presses a button on the keyboard. The rest of the system is
apparently still functional as I've left music playing before, and then when
I've returned, the display is asleep and not responding to my attempts to wake
it up, but the music is still playing.
Steps to reproduce:
1. I am assuming that for the purposes of reproducing this bug that the
following is true, even though I've seen it on various distributions and
several versions of Catalyst.
You are using Ubuntu 11.10 or 12.04 development branch.
You are using Catalyst 12.2 with FGLRX 8.95.
You are using a RadeonHD 5670.
You are using the Unity or KDE desktop environment. (Either one should provoke
this problem.)
2. Wait for the display to be turned off/go into sleep mode. NOT dimmed! If you
catch it while it is dimmed, but before it is turned off, you will end up back
at your desktop.
3. After the display is off/asleep, attempt to move your mouse or press a
button on the keyboard. Observe that the system is NOT responding and the
monitor is stuck in sleep mode.
Actual result: The display fails to resume, anything you left open is trashed,
game over man, game over! :)
Expected result: The display mode should be resumed properly in the state that
it was previously in. The open source radeon driver always manages to do this
right.
Workaround:
Generate a xorg.conf file with this command:
sudo amdconfig --initial
Open the xorg.conf file:
sudo nano /etc/X11/xorg.conf
Find this line: (under Section "Monitor")
Option "DPMS" "true"
change it to read
Option "DPMS" "false"
Restart the X server.
Observe that your desktop is no longer able to put the display to sleep and
that AMD's proprietary display driver is contributing to increased global
warming and a higher electric bill. (But doesn't screw up the X server and
cause all of user's open files to be lost)
tags: | added: dpms fglrx sleep suspend |
Changed in fglrx: | |
importance: | Unknown → High |
status: | Unknown → Confirmed |
I had this problem too, sporadically, for a very long time. Recently it got quite a bit worse with a new release of fglrx, so I undertook to solve it. What was happening for me is that the X server used the dpms settings specified in the ServerFlags section (BlankTime, etc.) of xorg.conf to put the display to sleep after 10 minutes, then when KDE's power management daemon tried to put the display to sleep after 20 minutes, it caused some kind of race condition in the X server and required a reboot.
My solution was to *add* the following to the ServerFlags section of my xorg.conf:
Option "BlankTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
to turn off xset's dpms handling entirely, and leave it up to KDE to blank the display. Note that all four values default to 600 (ten minutes) if they're not specified! (My feeling is that as long as KDE and GNOME are set to handle display blanking by default in the distribution, then the above values should ship with the default xorg.conf.)
I hope this helps anyone else with this problem. For the OP: you might want to dispable display dimming as well in case fglrx can only handle one kind of power saving request at a time.