Bug 16219

Summary: [S3]X crashes on resume with intel driver - Existing errors found in hardware state.
Product: xorg Reporter: Thorsten Lusser <tlusser>
Component: Driver/intelAssignee: Jesse Barnes <jbarnes>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: michael.fu, remi
Version: gitKeywords: NEEDINFO
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
my kernel configuration (2.6.25-tuxonice-r3)
none
lspci -v
none
xorf.conf
none
tail -f /var/log/Xorg.0.log during resume
none
installed packages
none
full Xorg.0.log
none
xorg.conf
none
xorg.conf
none
Xorg.0.log
none
kernel config
none
Xorg.0.log
none
intel_reg_dump before suspend
none
intel_reg_dump after resume none

Description Thorsten Lusser 2008-06-03 13:35:19 UTC
Created attachment 16897 [details]
my kernel configuration (2.6.25-tuxonice-r3)

Hallo!
I have a HP NC4200 Laptop with an "Intel 915 GM" GFX-Card. When i use the
xf86-video-vesa driver s2ram works great, but when i use "xf86-video-i810"
driver, version 2.1.1 X crashes. I can reboot the system by pressing the power
button, or access the machine via ssh, but i have no chance to get X working again.
Comment 1 Thorsten Lusser 2008-06-03 13:35:46 UTC
Created attachment 16898 [details]
lspci -v
Comment 2 Thorsten Lusser 2008-06-03 13:36:15 UTC
Created attachment 16899 [details]
xorf.conf
Comment 3 Thorsten Lusser 2008-06-03 13:36:35 UTC
Created attachment 16900 [details]
tail -f /var/log/Xorg.0.log during resume
Comment 4 Gordon Jin 2008-06-03 19:14:22 UTC
Please try a newer driver, i.e. 2.3.1 release or git master branch, which includes some suspend/resume fixes.

Please attach the _full_ Xorg.0.log.
Comment 5 Thorsten Lusser 2008-06-04 09:27:46 UTC
Hi!

Now i upgraded the folling Packages in the attachment. But now i get a black screen, i can access the box via ssh, but i can not access X or console.
A full Xorg.0.log is also attached and a xorg.conf.

regards Thorsten
Comment 6 Thorsten Lusser 2008-06-04 09:28:15 UTC
Created attachment 16912 [details]
installed packages
Comment 7 Thorsten Lusser 2008-06-04 09:28:36 UTC
Created attachment 16913 [details]
full Xorg.0.log
Comment 8 Thorsten Lusser 2008-06-04 09:29:05 UTC
Created attachment 16914 [details]
xorg.conf
Comment 9 Gordon Jin 2008-06-05 02:13:51 UTC
Better comment below lines in xorg.conf, as EXA is the default setting:
	Option "AccelMethod"    "XAA"	# XAA & EXA are valid values
	Option "PageFlip"      "true"
	Option "TripleBuffer"  "true"
	Option "XaaNoSolidFillRect" "false"

I don't have other idea. Let Jesse to comment. Maybe we need rename the title now.
Comment 10 Thorsten Lusser 2008-06-05 02:55:06 UTC
(In reply to comment #9)
> Better comment below lines in xorg.conf, as EXA is the default setting:
>         Option "AccelMethod"    "XAA"   # XAA & EXA are valid values
>         Option "PageFlip"      "true"
>         Option "TripleBuffer"  "true"
>         Option "XaaNoSolidFillRect" "false"
> 
> I don't have other idea. Let Jesse to comment. Maybe we need rename the title
> now.
> 

I commented the lines attached in the following xorg.conf, but this does not solve the error.

regards Thorsten
Comment 11 Thorsten Lusser 2008-06-05 02:57:45 UTC
Created attachment 16924 [details]
xorg.conf
Comment 12 Thorsten Lusser 2008-06-05 02:58:14 UTC
Created attachment 16925 [details]
Xorg.0.log
Comment 13 Michael Fu 2008-06-05 06:03:10 UTC
(In reply to comment #0)
> Created an attachment (id=16897) [details]
> my kernel configuration (2.6.25-tuxonice-r3)
> 
> Hallo!
> I have a HP NC4200 Laptop with an "Intel 915 GM" GFX-Card. When i use the
> xf86-video-vesa driver s2ram works great, but when i use "xf86-video-i810"
> driver, version 2.1.1 X crashes. I can reboot the system by pressing the power
> button, or access the machine via ssh, but i have no chance to get X working
> again.
> 

Thorsten, when you say "X crashes" , do you mean it happen when you resume back from s2ram? Normal boot-up will give you a working X, right?

Your kernel config shows that you've enabled uvesa. could you please remove any vesa fb kernel module and re-test?

thanks.
Comment 14 Thorsten Lusser 2008-06-05 07:17:48 UTC
(In reply to comment #13)
> (In reply to comment #0)
[...]
> 
> Thorsten, when you say "X crashes" , do you mean it happen when you resume back
> from s2ram? Normal boot-up will give you a working X, right?

When i start my notebook, X works normal. Suspending to ram works too, but when the machine resumes from suspend to ram, X crashes.

I tested the xf86-video-vesa driver and suspend to ram und resume from suspend to ram worked like a charm.

> Your kernel config shows that you've enabled uvesa. could you please remove any
> vesa fb kernel module and re-test?
> 
> thanks.
> 

Ok, i will compile an other kernel without uvesa and test it, but i think that uvesa is not the problem.

regards Thorsten

Comment 15 Thorsten Lusser 2008-06-05 07:48:59 UTC
(In reply to comment #14)
> (In reply to comment #13)
> > (In reply to comment #0)
> [...]
> > Your kernel config shows that you've enabled uvesa. could you please remove any
> > vesa fb kernel module and re-test?
> > 
> > thanks.
> > 
> 
> Ok, i will compile an other kernel without uvesa and test it, but i think that
> uvesa is not the problem.
> 
> regards Thorsten
> 

Ok, i compiled a kernel without "Support for frame buffer devices". But there is no change, i get a black screen. It must be a Bug in the intel driver. Attached you can find the Xorg.0.log and the kernel config files.

regards Thorsten
Comment 16 Thorsten Lusser 2008-06-05 07:49:38 UTC
Created attachment 16933 [details]
kernel config
Comment 17 Thorsten Lusser 2008-06-05 07:50:02 UTC
Created attachment 16934 [details]
Xorg.0.log
Comment 18 Thorsten Lusser 2008-06-06 06:42:35 UTC
Hi!

I changed the name of the report, because of "Existing errors found in hardware state." in the Xorg.0.log file.
A Friend of mine has the same Laptop with Debian unstable, but resume works on his Laptop without any errors. Does Debian patch the driver? So i cannot understand what this bug causes.

regards Thorsten
Comment 19 Julien Cristau 2008-06-06 06:45:33 UTC
> --- Comment #18 from Thorsten Lusser <tlusser@gmail.com>  2008-06-06 06:42:35 PST ---
> Does Debian patch the driver?

no, we don't.
Comment 20 Jesse Barnes 2008-06-06 11:49:28 UTC
Hi Thorsten, a couple of things to try/verify:
  - make sure you're not running vbetool in your suspend/resume path at all
    it can conflict with the kernel driver suspend/resume code
  - try suspend/resume from the console only with the i915 DRM driver loaded
    this *should* work (also try it w/o using s2ram scripts, e.g.
    echo mem > /sys/power/state)

Normally, suspend to ram does a VT switch away from X, suspends, then on resume it'll VT switch back to X.  So you could also try switching to a text console by hand before suspending to see if that works.  If you're able to resume to a text console but the manual VT switch back to X fails, that will give us a clue.  In that case, you could capture register dumps (using the intel_reg_dumper tool in src/reg_dumper) from before suspend and after resume and we can look for problems.
Comment 21 Thorsten Lusser 2008-06-09 00:50:46 UTC
(In reply to comment #20)
> Hi Thorsten, a couple of things to try/verify:
Hi!
>   - make sure you're not running vbetool in your suspend/resume path at all
>     it can conflict with the kernel driver suspend/resume code

I deinstalled vbetool. 

>   - try suspend/resume from the console only with the i915 DRM driver loaded
>     this *should* work (also try it w/o using s2ram scripts, e.g.
>     echo mem > /sys/power/state)
> 
> Normally, suspend to ram does a VT switch away from X, suspends, then on resume
> it'll VT switch back to X.  So you could also try switching to a text console
> by hand before suspending to see if that works.
>  If you're able to resume to a
> text console but the manual VT switch back to X fails, that will give us a
> clue.  In that case, you could capture register dumps (using the
> intel_reg_dumper tool in src/reg_dumper) from before suspend and after resume
> and we can look for problems.
> 

When i suspend X switches to console and then the laptop goes into sleep mode. There is no change, if I go to console manualy. The Laptop suspends normally and wakes up in the console, but if i want to switch to X the same error appears and i can not switch back to console, i can only access the machine via ssh or switch it of by pressing the power button.>

regards thorsten
Comment 22 Thorsten Lusser 2008-06-09 07:25:59 UTC
Created attachment 17008 [details]
intel_reg_dump before suspend
Comment 23 Thorsten Lusser 2008-06-09 07:26:29 UTC
Created attachment 17009 [details]
intel_reg_dump after resume
Comment 24 Thorsten Lusser 2008-06-09 07:31:30 UTC
Hallo!

I compiled "intel_reg_dumper" and saved the data before and after suspend(in the console with "echo mem > /sys/power/state") to files which were attached to the bug report. I hope this information can help you.

regards Thorsten
Comment 25 Thorsten Lusser 2008-06-09 09:26:57 UTC
Hallo!

I found the problem! Gentoo does not provide the "x11-libs/libpciaccess" in the portage. I had to install this package for building the "intel_reg_dumper" by useing a portage overlay. Now resuming works like a charm!(in the console and also under X). So this error only occurs if the libpciaccess package is not installed!

Thank you for your help and i hope that this dependency goes into gentoo ebuilds. I have also read that this driver needs x11-libs/libpciaccess in version 0.10 or higher.

Regards Thorsten
Comment 26 Jesse Barnes 2008-06-09 10:24:15 UTC
Ah, so there must have been a library version problem.  Thanks for the update.

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.