Bug 22763

Summary: suspend doesn't work
Product: xorg Reporter: Francesco Marella <francesco.marella>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
kernel messages
none
Xorg log
none
pm-powersave
none
Xorg log
none
kernel log
none
xorg log
none
kernel log none

Description Francesco Marella 2009-07-14 04:31:33 UTC
xf86-video-nouveau, libdrm and kernel modules from git.

DDX driver is patched with: 
http://people.freedesktop.org/~stuart/nv0x-nv4x_suspend/0001-merge-nv40fp.patch
Comment 1 Francesco Marella 2009-07-14 04:32:47 UTC
Created attachment 27676 [details]
kernel messages
Comment 2 Francesco Marella 2009-07-14 04:33:24 UTC
Created attachment 27677 [details]
Xorg log
Comment 3 Francesco Marella 2009-07-14 04:44:18 UTC
(In reply to comment #0)
> xf86-video-nouveau, libdrm and kernel modules from git.
> 
> DDX driver is patched with: 
> http://people.freedesktop.org/~stuart/nv0x-nv4x_suspend/0001-merge-nv40fp.patch
> 

System prepare itself for suspend, hard disk spin down, screen go black, then wake up again and screen saver ask password to login.
Comment 4 Francesco Marella 2009-07-14 04:44:56 UTC
Created attachment 27678 [details]
pm-powersave
Comment 5 Ben Skeggs 2009-07-14 05:21:57 UTC
On Tue, 2009-07-14 at 04:44 -0700, bugzilla-daemon@freedesktop.org
wrote:
> http://bugs.freedesktop.org/show_bug.cgi?id=22763
This is the intended behaviour currently, suspend will fail (and that
patch *definitely* will since you're using KMS) so I made the nouveau
module refuse to suspend.

I've been working on this a bit this week, and have code that *may* work
on your system.  It'll hit git later this week perhaps, there's still a
couple of issues to iron out.

Ben.
> 
> 
> 
> 
> 
> --- Comment #4 from Francesco Marella <francesco.marella@gmail.com>  2009-07-14 04:44:56 PST ---
> Created an attachment (id=27678)
>  --> (http://bugs.freedesktop.org/attachment.cgi?id=27678)
> pm-powersave
> 
> 
Comment 6 Francesco Marella 2009-07-22 00:09:49 UTC
compiled a custom kernel and updated DDX driver,
after wake up, the cursor is a transparent square block filled with some colored pixels. screen is shifted up by ~25 pixel and switching screen resolution via gnome-display-properties gives me back an usable cursor and screen.

thank you.
-fm
Comment 7 Francesco Marella 2009-07-22 00:10:39 UTC
Created attachment 27899 [details]
Xorg log
Comment 8 Francesco Marella 2009-07-22 00:12:10 UTC
Created attachment 27900 [details]
kernel log
Comment 9 Ben Skeggs 2009-07-22 00:40:49 UTC
I'm surprised you survived suspend at all actually, only G80 is working properly still at the moment.  Working on it!
Comment 10 David Heidelberg (okias) 2009-07-22 04:12:29 UTC
Actual state on 9600M GT.
Console testing (KMS enabled, nouveau/linux-2.6 master, rc3, kernel+ddx today updated):
hibernate-ram: working fine! Circa 10 seconds is console extremly slow, but after 10s console working fast

hibernate: it hibernate to hdd, it shudown self, but if is machine power on, LCD is black and system not working. Removing battery and AC power helps. After that system successfully resume from hdd to previous state.

X testing (KMS enabled, no EXAPixmaps)
hibernate-ram: switch to console, suspend, after pressing power try to continue, switch to fbcon, try to switch back X and then screen goes into state from console hibernate (same problem)

X testing (KMS enabled, EXAPixmaps)
can't test, cause now EXAPixmaps rendering one bold line(vertical block on screen circa 3 seconds and it's terrible slow
Comment 11 Francesco Marella 2009-07-29 09:26:42 UTC
Created attachment 28165 [details]
xorg log
Comment 12 Francesco Marella 2009-07-29 09:27:11 UTC
Created attachment 28166 [details]
kernel log
Comment 13 Francesco Marella 2009-07-29 09:33:43 UTC
drm, kernel, ddx from git 
after suspend > resume > vt switch:

[...]
nouveau 0000:01:00.0: PGRAPH_ERROR - nSource: ILLEGAL_MTHD, nStatus: PROTECTION_FAULT
nouveau 0000:01:00.0: PGRAPH_ERROR - Ch 0/2 Class 0x57d0 Mthd 0x0c34 Data 0x00000000:0x00000000
[...]
Comment 14 Francesco Marella 2009-09-27 00:42:55 UTC
NV46: X doesn't crash anymore after resume, no more PGRAPH_ERROR messages in kern.log. kernel modules from git (99da349)

Thanks.

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.