Bug 5280 - Display sometimes locked up on resume on i810 w/DRI enabled
Summary: Display sometimes locked up on resume on i810 w/DRI enabled
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/other (show other bugs)
Version: XOrg git
Hardware: x86 (IA32) Linux (All)
: high critical
Assignee: Default DRI bug account
QA Contact:
Depends on:
Reported: 2005-12-08 12:56 UTC by Lorenzo Colitti
Modified: 2006-06-22 03:27 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

My xorg.conf (2.19 KB, text/plain)
2005-12-08 12:57 UTC, Lorenzo Colitti
no flags Details
Log file of crash (81.31 KB, text/plain)
2005-12-08 12:58 UTC, Lorenzo Colitti
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lorenzo Colitti 2005-12-08 12:56:37 UTC
When DRI is enabled, about 1 time out of 10 my laptop's display dies when coming
out of S3 (suspend-to-RAM). The symptoms are:

- Instead of the normal X display coming back, only the mouse pointer appears
- X dies, reporting "Fatal server error: lockup"
- The display is totally unusable. Console doesn't work, X doesn't work,
"vbetool post" doesn't work, the only thing left is a reboot

This is using X.org 6.9RC3 on an IBM thinkpad X40 with an i855 integrated
graphics card, but it also happened on a Dell latitude D400 with an i855.

lspci reports:

0000:00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated
Graphics Device (rev 02)
Comment 1 Lorenzo Colitti 2005-12-08 12:57:17 UTC
Created attachment 4040 [details]
My xorg.conf
Comment 2 Lorenzo Colitti 2005-12-08 12:58:00 UTC
Created attachment 4041 [details]
Log file of crash
Comment 3 Lorenzo Colitti 2005-12-08 12:59:50 UTC
For what it's worth, my suspend-to-ram script does:

chvt 1
vbetool vbestate save > /tmp/vbe
echo mem > /sys/power/state
vbetool vbestate restore < /tmp/vbe
chvt 7
Comment 4 Lorenzo Colitti 2005-12-08 13:01:32 UTC
Note that if DRI is disabled with:

    Option "DRI" "off"

this does not occur and resume works fine 100% of the time.
Comment 5 Lorenzo Colitti 2005-12-15 12:06:51 UTC
CC'ing alan as suggested by Dave Airlie
Comment 6 Lorenzo Colitti 2005-12-15 13:15:36 UTC
More info:

- When the lockups happen on resume, |outring| is not aligned on a QWord
  boundary. This is strange because outring is only ever incremented by 4
  in the code. Perhaps it's not initialized during resume?

- Perhaps what happens is that if we suspend when the ring buffer is full,
  it stays full on resume and "gets stuck"?
Comment 7 Alan Hourihane 2006-01-30 20:19:08 UTC
You might want to try the latest CVS of X.Org, and get the latest DRM too.
Comment 8 Alan Hourihane 2006-02-18 06:59:01 UTC
Try without vbetool. Users have reported to me that when they've disabled it, it
works fine.
Comment 9 Alan Hourihane 2006-06-22 01:15:25 UTC
Did removing vbetool fix it ?
Comment 10 Lorenzo Colitti 2006-06-22 03:27:21 UTC
It seems to work most of the time now. Sometimes it gets stuck, but only rarely.
Resolving as WORKSFORME.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.