ignoring s3-bios and s3-mode suspend quirks with nvidia cards does not work

Bug #253223 reported by Gerd Bavendiek on 2008-07-30
100
This bug affects 1 person
Affects Status Importance Assigned to Milestone
hal (Ubuntu)
High
Martin Pitt
Hardy
Undecided
Unassigned

Bug Description

Binary package hint: hal-info

Hi,

the Fujitsu Lifebook E8410 comes in two flavours: Intel graphics or NVIDIA graphics. Running Hardy currently suspend to RAM ist not possible on E8410 with NVIDIA graphics (The Lifebook seems to suspend fine, but freezes immediately after switching on power).

With the current 20-video-quirk-pm-fujitsu.fdi, pm-suspend is called like this:

pm-suspend --quirk-s3-bios --quirk-s3-mode

This fails. If called without arguments, the Lifebook is resuming fine.

As a dirty hack I did:

root@lulu:/usr/share/hal/fdi/information/10freedesktop# diff -NaurwB 20-video-quirk-pm-fujitsu.fdi ~
--- 20-video-quirk-pm-fujitsu.fdi 2008-07-29 21:07:40.000000000 +0200
+++ /root/20-video-quirk-pm-fujitsu.fdi 2008-06-11 12:46:41.000000000 +0200
@@ -44,13 +44,9 @@
           <merge key="power_management.quirk.s3_bios" type="bool">true</merge>
         </match>
         <match key="system.hardware.product" contains_outof="E8410;T4010">
-
- <match key="system.hardware.primary_video.product" contains_not="1064">
           <merge key="power_management.quirk.s3_bios" type="bool">true</merge>
           <merge key="power_management.quirk.s3_mode" type="bool">true</merge>
         </match>
-
- </match>
         <match key="system.hardware.product" contains="S7110">
           <merge key="power_management.quirk.vbe_post" type="bool">true</merge>
           <merge key="power_management.quirk.reset_brightness" type="bool">true</merge>

After that, pm-suspend is called without any arguments and my Lifebook with NVIDIA resumed fine.

Kind regards

Gerd

Martin Pitt (pitti) wrote :

Hm, actually that's exactly the case that

hal (0.5.11~rc2-1ubuntu3) hardy; urgency=low

  * 01_default_suspend_quirks.patch: Disable video quirks when running on a
    known-good video driver (proprietary nvidia and fglrx, and Intel >=
    915GM). Doing this here is better than the previously applied pm-utils
    patch, since it avoids ignoring explicit pm-utils command line arguments,
    consistently uses the same behaviour for suspend and resume, and keeps the
    logic where it actually belongs.

 -- Martin Pitt <email address hidden> Mon, 24 Mar 2008 17:35:38 +0100

was supposed to take care of. Seems that doesn't really work then?

Does /sys/module/nvidia exist for you? or do you use the free nv driver? Can you please edit /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux and add the following two lines right after the first line:

  set -x
  exec 2>/suspend.log

and then try to suspend, and resume (or reboot, if it failed). Can you please attach /suspend.log here?

Changed in hal-info:
status: New → Incomplete

Martin,

thanks for dealing with this issue.

Yes, I have

root@lulu:/# ls /sys/module/nvidia/
drivers holders initstate refcnt sections

I put the original 20-video-quirk-pm-fujitsu.fdi in place and changed
hal-system-power-suspend-linux as you requested. I suspended. Resuming
failed. After resetting the Lifebook I found:

root@lulu:/# cat suspend.log
+ read seconds_to_sleep
+ [ -d /sys/module/i915 ]
+ [ ]
+ [ -d /sys/module/nvidia ]
+ HAL_PROP_POWER_MANAGEMENT_QUIRK_DPMS_ON=false
+ HAL_PROP_POWER_MANAGEMENT_QUIRK_VBESTATE_RESTORE=false
+ HAL_PROP_POWER_MANAGEMENT_QUIRK_VBEMODE_RESTORE=false
+ HAL_PROP_POWER_MANAGEMENT_QUIRK_VGA_MODE_3=false
+ HAL_PROP_POWER_MANAGEMENT_QUIRK_VBE_POST=false
+ HAL_PROP_POWER_MANAGEMENT_QUIRK_RESET_BRIGHTNESS=false
+ QUIRKS=
+ [ true = true ]
+ QUIRKS= --quirk-s3-bios
+ [ true = true ]
+ QUIRKS= --quirk-s3-bios --quirk-s3-mode
+ [ = true ]
+ [ false = true ]
+ [ false = true ]
+ [ false = true ]
+ [ false = true ]
+ [ false = true ]
+ [ = true ]
+ [ false = true ]
+ [ = true ]
+ [ 0 != 0 ]
+ [ -x /usr/sbin/pm-suspend ]
+ /usr/sbin/pm-suspend --quirk-s3-bios --quirk-s3-mode
root@lulu:/#

Hope this helps !

Kind regards

Gerd

Martin Pitt schrieb:
> Hm, actually that's exactly the case that
>
> hal (0.5.11~rc2-1ubuntu3) hardy; urgency=low
>
> * 01_default_suspend_quirks.patch: Disable video quirks when running on a
> known-good video driver (proprietary nvidia and fglrx, and Intel >=
> 915GM). Doing this here is better than the previously applied pm-utils
> patch, since it avoids ignoring explicit pm-utils command line arguments,
> consistently uses the same behaviour for suspend and resume, and keeps the
> logic where it actually belongs.
>
> -- Martin Pitt <email address hidden> Mon, 24 Mar 2008 17:35:38
> +0100
>
> was supposed to take care of. Seems that doesn't really work then?
>
> Does /sys/module/nvidia exist for you? or do you use the free nv driver?
> Can you please edit /usr/lib/hal/scripts/linux/hal-system-power-suspend-
> linux and add the following two lines right after the first line:
>
> set -x
> exec 2>/suspend.log
>
> and then try to suspend, and resume (or reboot, if it failed). Can you
> please attach /suspend.log here?
>
> ** Changed in: hal-info (Ubuntu)
> Status: New => Incomplete
>

--
------------------------------------------------------------------------
Gerd Bavendiek Linux Users check out:
<email address hidden> http://linos.wordpress.com
------------------------------------------------------------------------

Indeed this trace shows that it's not doing the intended thing here. And looking at the code, I now see why, so thanks for your help! I'll get that fixed right now.

Changed in hal-info:
assignee: nobody → pitti
importance: Undecided → High
milestone: none → ubuntu-8.10
status: Incomplete → In Progress
Martin Pitt (pitti) wrote :

Fixed in bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/hal/ubuntu/revision/273

I consider this fix for hardy as well, once we got some confirmations that it is now really working.

Changed in hal:
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package hal - 0.5.11-4ubuntu2

---------------
hal (0.5.11-4ubuntu2) intrepid; urgency=low

  * 01_default_suspend_quirks.patch: Disable remaining quirks (s3-bios,
    s3-mode, dpms-suspend, and radeon-off) for systems using the proprietary
    nvidia and fglrx drivers and newer Intels, too, since they break
    suspend/hibernate. (LP: #253223)

 -- Martin Pitt <email address hidden> Thu, 09 Oct 2008 08:38:29 +0200

Changed in hal:
status: Fix Committed → Fix Released
Andreas Hasenack (ahasenack) wrote :

I have a Lenovo T61 with an Nvidia Quadro 140M video card and I'm using the proprietary driver. I run Hardy.

I applied the patches from the mentioned branch to the hal scripts and now I can both suspend and hibernate, and come back.

Hibernate, however, is a bit scary. It takes a while, and there are some beeps and the screen gets corrupted twice in the boot process. I was about to restart when suddenly the gnome password dialog popped up, and everything was restored.

The restore from hibernate looked like X when starting with a wrong driver and falling back to something else.

Rolf Leggewie (r0lf) wrote :

Hardy has seen the end of its life and is no longer receiving any updates. Marking the Hardy task for this ticket as "Won't Fix".

Changed in hal (Ubuntu Hardy):
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers