Bug 16175

Summary: pm-utils-1.1.2.x breaks suspend to RAM
Product: pm-utils Reporter: Alberto González <luis6674>
Component: GeneralAssignee: Victor Lowther <victor.lowther>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: jon+bugs.freedesktop.org, victor.lowther
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: pm-suspend log file
/var/run/pm-utils contents
pm-suspend log file
escape > comaprison in 98smart-kernel-video
/var/log/pm-suspend.log

Description Alberto González 2008-05-31 06:24:52 UTC
My computer needs a couple of quirks to get suspend to RAM to work. These are:

--quirk-s3-bios --quirk-s3-mode

Ok, so I sent that info long ago and my machine worked fine with pm-utils (calling pm-suspend from Kpowersave on KDE)... until the latest upgrade. It seems that with 1.1.2 the quirks are not used and so when I resume I get the symptoms of not using them (the screen "shakes" every few seconds).

With version 1.1.2 when I was trying "pm-suspend --quirk-s3-bios --quirk-s3-mode" on a terminal to see if that worked and the problem was just that pm-suspend was not reading HAL-info's list, I was getting an error saying something like (might not be exact):

touch: cannot touch /var/run/pm-utils/storage/parm: no such file or directory

So I upgraded to 1.1.2.2 and I don't get that error anymore. Now the computer suspends, but when I resume it again has the shaking screen. So it seems that even passing the quirks directly on the command line, it ignores them.

Don't know what info I should send or how to debug it. Please let me know if you have any idea or need any info, etc...

Thanks,
Alberto.
Comment 1 Victor Lowther 2008-06-04 16:18:49 UTC
Can you attach the contents of /var/log/pm-suspend.log and a tarball of /var/run/pm-utils to this bug?  

Also, if you run pm-suspend with the PM_DEBUG environment variable set to true, the log will contain all sorts debugging information I can use to track down the source of this bug.
Comment 2 Alberto González 2008-06-05 03:34:06 UTC
Created attachment 16926 [details]
pm-suspend log file
Comment 3 Alberto González 2008-06-05 03:34:51 UTC
Created attachment 16927 [details]
/var/run/pm-utils contents
Comment 4 Alberto González 2008-06-05 03:36:32 UTC
Created attachment 16928 [details]
pm-suspend log file

This is just for comparison, a log from the successful suspend/resume from the older version 1.1.0.
Comment 5 Victor Lowther 2008-06-05 05:30:57 UTC
Created attachment 16932 [details] [review]
escape > comaprison in 98smart-kernel-video

OK, I see the problem.  You are using the kernel-based Intel driver, which is supposed to handle the video reinitialization correctly without any userspace intervention by us.  However, only kernels >= 2.6.26 do so.  You are running 2.6.25, and I forgot to escape the > in the line in 98smart-kernel-video that checks for the kernel revision. Can you apply the attached patch to 98smart-kernel-video and see if that makes things work correctly for you?
Comment 6 Alberto González 2008-06-05 06:13:59 UTC
Yes, the patch fixes the problem completely.

Thanks!
Comment 7 Victor Lowther 2008-06-05 06:22:46 UTC
(In reply to comment #6)
> Yes, the patch fixes the problem completely.

OK, cool.

> Thanks!

No problem. I will go ahead and close this bug and push these changes to the repository.


Comment 8 Alberto González 2008-07-22 06:57:49 UTC
I just upgraded to kernel 2.6.26 and the problem is back. With the new kernel version the quirks are ignored again and so my screen gets corrupted after resume from RAM.

So, unfortunately, my system still requires the quirks to work correctly. I guess I must not alone in this, so the approach of removing the quirks for anyone using the intel driver with kernel >= 2.6.26 seems to not be (completely) valid.

I don't know what the best solution is, but I think a safe approach could be:

- Leave all the quirks in place for now (i.e, apply them regardless of kernel version).
- Those who can test that their systems no longer need the quirks with kernel>=2.6.26 should send a patch to HAL-info to remove their machines from the list, and from that point any new release of hal-info should require kernel>=2.6.26.

Just an idea...
Thanks.
Comment 9 Victor Lowther 2008-07-22 16:39:29 UTC
(In reply to comment #8)
> I just upgraded to kernel 2.6.26 and the problem is back. With the new kernel
> version the quirks are ignored again and so my screen gets corrupted after
> resume from RAM.
> 
> So, unfortunately, my system still requires the quirks to work correctly. I
> guess I must not alone in this, so the approach of removing the quirks for
> anyone using the intel driver with kernel >= 2.6.26 seems to not be
> (completely) valid.
> 
> I don't know what the best solution is, but I think a safe approach could be:
> 
> - Leave all the quirks in place for now (i.e, apply them regardless of kernel
> version).
> - Those who can test that their systems no longer need the quirks with
> kernel>=2.6.26 should send a patch to HAL-info to remove their machines from
> the list, and from that point any new release of hal-info should require
> kernel>=2.6.26.

I will be releasing pm-utils 1.1.2.4 shortly which should do The Right Thing with Intel kernel modesetting and the acpi s3 quirks.  If you want to help test it out, try cloning the git repository, checking out the pm-utils-1.1 branch, and using the latest 98smart-kernel-video file on your system.

> Just an idea...
> Thanks.
> 

Comment 10 Alberto González 2008-07-24 10:11:44 UTC
Created attachment 17858 [details]
/var/log/pm-suspend.log

I have tested the latest 98smart-kernel-video from git and with it my system works perfectly again. I'm attaching the log in case you want to look at it.

Thank you!
Comment 11 Victor Lowther 2008-07-24 17:03:01 UTC
*** Bug 16453 has been marked as a duplicate of this bug. ***

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.