http://en.opensuse.org/NVidia_Suspend_HOWTO

NVidia Suspend HOWTO

From openSUSE


Image:susemini.png
Version:
10.1
This HOWTO was originally written around 10.1 or earlier. Be careful, it is not really known if it still applies to 10.2 and newer, if the workarounds are still needed with newer drivers or if they actually work better without those workarounds. We should collect recent information and rework this article


Contents

[hide]

How to use suspend to disk or RAM with the binary NVidia drivers

To use suspend with the binary only driver for NVidia graphics cards, you need to take some extra precautions. Note that this apparently does not work on all NVidia graphics chipsets, YMMV:

Install NVidia drivers

Download the NVidia driver with Yast Online Update, configure the card for 3D with sax2. You might need a fairly recent version of the NVidia driver, I tested with version 1.0.7167. Reading Stefan Dirsch's nvidia-installer-howto is highly recommended.

Enable NvAGP

Put the line

Option "NvAGP" "1"

in the "Device" section, after the line 'Vendor Name "NVidia"' in /etc/X11/xorg.conf

If you're on a x86_64 System, agpgart is statically linked into the Kernel. This means you have to deactivate agpgart at boot time. Simply add the "agp=off" kernel parameter to /boot/grub/menu.lst.

Prevent vendor AGP modules from being loaded.

SUSE 9.3 and older

Remove any reference to the AGP modules from /etc/sysconfig/hardware:

   # cd /etc/sysconfig/hardware
   # grep agp *
   hwcfg-vpid-8086-3340:MODULE_0='intel_agp'

Now edit the file found with the grep command (here: hwcfg-vpid-8086-3340) and change "STARTMODE='auto'" to "STARTMODE='manual'". You might also want to remove the line "# HOTPLUG-FLAG: autocreated" to make this configuration persist future updates.

SUSE 10.0

Find out which agp module is currently loaded by running

 # lsmod | grep agp

Typical names are intel_agp, sis_agp, via_agp etc. Please ignore agpgart here.

Mark this agp module as blacklisted in /etc/modprobe.conf.local. Example:

   # blacklist agp module
   blacklist intel_agp

Note: /etc/hotplug/blacklist is still there to do the same but will be deprecated soon.

Reboot and check

Reboot and make sure that the agp module is no longer loaded by running

 # lsmod | grep agp

again. There should be no vendor_agp module (e.g. intel_agp, sis_agp,...) listed, except "agpgart".

Note: AGP support will only work with chipsets, which are supported by the nvidia kernel module. Otherwise AGP support will be disabled! Check this with "cat /proc/driver/nvidia/agp/status". If there is no line "Status: Enabled", then AGP support is not available. The graphics card will work without AGP, but performance will be bad.

During suspend to disk, when the drivers get suspended, the display is switched off (and on notebooks this means also the backlight) but it is not switched back on when the drivers are resumed to write the image. This means that you will not see any progress indicator during suspend and if suspend fails (it should not :-) you will not see any error. There is not much we can do about this right now, just wait until the disk stops writing and the machine turns itself off. After resume from suspend, the driver is resumed correctly and the display and backlight is turned back on.

This was tested on a SONY VAIO PCG-GRT995MP and a Dell D800 with both suspend to disk and RAM. It did not work on an older Dell Inspiron 8200.

-- seife 04:40, 22 May 2005 (PDT)

Feedback

Worked here with a Inspiron 8600 Bios A13 and Suspend to Disk. RAM untested. Jens Kühnel


Suspend to RAM worked on a Compal EFL30 notebook, SUSE 9.3. Suspend to Disk untested. D. Hurst


Suspend to Disk worked on a Toshiba Satellite 5200-903 with SUSE 10.0 after changing SUSPEND2DISK_SHUTDOWN_MODE to "shutdown" in /etc/sysconfig/powersave/sleep. Suspend to RAM works fine. K. Becker


My Dell D800 resumes after suspend-to-ram, but the screen goes white. Using vga=normal, suspending from text mode, nothing helps. The only solution is to ctrl-alt-backspace the X server so kdm restarts it. This works, but of course all open programs are gone :( -- Mark van Reijn, Novell


It completely fails on a DELL Dimension 4400 with nVidia GeForce 2, where the system tries to suspend and hangs with a black screen and a flashing power led. It properly suspend on a DELL Inspiron 8600c (A14 bios), but when resumed, GNOME is not restored and the GDM screen is proposed. At the login, the message "Another panel is running" is shows and the menus aren't loaded, requiring a reboot. --Alberto Passalacqua


Fails on Sony VGN-S560P. Followed the instructions above for SUSE 10, but (1) there's no /proc/driver/nvidia/agp directory at all (/proc/driver/nvidia/version reads "NVRM version: NVIDIA Linux x86 NVIDIA Kernel Module 1.0-7676 Fri Jul 29 12:58:54 PDT 2005" in its first line - /proc/driver/nvidia/cards/0 says Model: GeForce Go 6400 Video BIOS: 05.44.02.35.07, Card Type: PCI-E), and (2) suspend to disk works, but doesn't restore video upon bootup.--Ed Reed, Reed-Matthews, Inc.


9.3 (Kernel 2.6.11.4-21.12) on Dell Inspiron 8600 (GeForce FX Go5650 rev 161), NVIDIA-Linux-x86-1.0-8762

Suspend 2 RAM works great here. I added "options nvidia NVreg_EnableAGPFW=1" to /etc/modprobe.conf.local according to another hint. Don't know if this is really nessesary. Suspend 2 Disk not tested.


10.0 (Kernel 2.6.13-15.13) on an older Dell Dimension XPSB733r 128 MB RDRAM (Trident Viper V770 32-bit) NVIDIA-Linux-x86-1.0-7174 Followed the instructions from above. The intel-agp blacklisted and 'Option "NvAGP" "3" Option "NoLogo" "True". In addition, I added Option "Composite" "Enable" to Section "Extensions". Works great! However, 256 MB of RDRAM needs to be added to 128 MB of RDRAM to support translucency.

I hope this helps with users using older graphics cards that require legacy driver support. -- Roman Bysh :-) 21.02.2007


10.1 (Kernel 2.6.16.13-4), GeForce 6800

Version 8762 works for me with intel_agp blacklisted plus 'Option "NvAGP" "1"' in xorg.conf. No changes to the kernel command line in GRUP were neccessary for me.

Fails with 8756 during suspend (hangs after screen goes blank).

Version 8174 doesn't compile anymore.

Version 7174 with the patch mentioned in the section "Legacy chipset support" of NVIDIA works when you do this:

  1. Patch the driver as explained in the page NVIDIA but don't repackage it (don't run makeself.sh)
  2. Edit usr/src/nv/nv.c
  3. Go to line 3427. It should read: case PM_SUSPEND_MEM:
  4. Insert "case PM_SUSPEND_STANDBY:" (without the quotes) above or below
  5. Now create a new package or simply run the install script using: ./nvidia-installer -q
  6. Follow the instructions above to setup the driver

PS: Just in case, you're wondering why it stops working after a real shutdown (ie. logout and fresh restart instead of suspending):

  1. Copy the file ./usr/src/nv/makedevices.sh from the NVIDIA archive somewhere (/sbin, for example)
  2. Make sure the x-bits are still set
  3. Edit /etc/init.d/xdm
  4. find "start)"; should be around line 106)
  5. Insert: /sbin/makedevices.sh

This makes sure that even after a cold reboot, the necessary device files are there. The installer will create them and you won't notice anything wrong when you suspend. But after a real reboot, the device files will be gone and the card will have stopped working mysteriously.

Hope that helps -- Aaron Digulla, 24.06.2006


10.1 on Dell D800 (GForce FX Go5650) with NVIDIA 8756

- suspend2disk works out of the box, without any option like NvAGP or blacklisting intel_agp.

- suspend2ram doesn't work. I tried every option and a mix of differrent options (NvAGP, blacklist intel_agp, acpi_sleep=..., vga=normal) but nothing works. The machine restarts sometimes or hangs on a blank screen during resume. On blank screen SysRq is still working...

-- Matthias Boettger, 24.05.2006


10.1 on Dell Latitude 8600 (GeForce FX Go5650)

- suspend2disk works with nvAGP = 1 and removing the intel_agp (as mentioned in the article)

- supsend2ram doesn't work (black screen during resume)

-- Torsten Bielen, 25.05.2006


10.1 on Acer Aspire 1710/1714 (GeForce FX Go5700] (rev a1))

- Nvidia driver: NVIDIA-Linux-x86-1.0-8762-pkg1.run (installed according readme)

- suspend2disk works with

 nvAGP = 1 and removing the intel_agp (as mentioned in the article)
 noapic kernel parameter in grub

- suspend2ram works with:

 noapic kernel parameter in grub
 SUSPEND2RAM_FORCE="yes" in /etc/powersave/sleep
 kernel 2.6.16.13-4-default (smp kernel untested, failed always in 10.0)

-- Dezsö Kados, 31.05.2006

There is no kernel parameter "napic". Do you mean "noapic"? -- Aaron Digulla, 24.06.2006
Sorry for the typing error - it is of course "noapic" -- Dezsö Kados, 26.06.2006

10.2 on Acer Aspire 1710/1714 (GeForce FX Go5700] (rev a1))

- Nvidia driver: NVIDIA-Linux-x86-1.0-9631-pkg1.run (installed according readme)

- suspend2disk works with

 nvAGP = 1 and removing the intel_agp (as mentioned in the article)

- suspend2ram works with:

 noapic kernel parameter in grub
 S2RAM_OPTS="-f" in /etc/pm/config
 kernel 2.6.18.2-34-default

-- Dezsö Kados, 21.12.2006

  Remark 1: Also works without "noapic" kernel parameter 
  Remark 2: The driver version NVIDIA-Linux-x86-1.0-9746-pkg1.run seems
            to break the suspend functions!

-- Dezsö Kados, 18.01.20007


10.2 on Dell XPS M1710 (GeForce Go 7950 GTX) and NVIDIA-Linux-x86_64-1.0-9629-pkg2.run installed.

Suspend to disk works with NvAGP 1 and removing the intel_agp as mentioned above.

Suspend to RAM immediately wakes back up.

-- Kenneth Ingham 2006-12-22


10.2 on Dell Latitude D800

Suspend to Disk: NvAGP=1, intel_agp to blacklist as mentioned above

Suspend to RAM: In /etc/pm/config set S2RAM_OPTS="-f"

Both modes work

-- Torsten Bielen 2007-01-28


10.2 on Sony Vaio FR215H

Suspend to Disk: NvAGP=1, blacklisted via_agp as explained above. Unfortunately USB does not work upon resuming from hibernate; I cannot use the USB mouse but only the mouse pad (anybody has a hint for this?).

Suspend to RAM: In /etc/pm/config I set S2RAM_OPTS="-f". It actually suspends to RAM (as confirmed by suspend led flashing as it should) but there is NO way to switch the laptop on again. I must keep the "power on" button pressed for more than 3 seconds...so basically I have to reboot. Please help!

--Mauro A. Cremonini 2007-02-16


10.2 on DELL Inspiron 8600 - Bios A14 - nVidia GeForce FX Go 5200

Both suspend to RAM and to disk work properly :-)

To enable suspend to disk: NvAGP=1 and blacklist intel_agp as explained above.

To enable suspend to RAM: In /etc/pm/config I set S2RAM_OPTS="-f"

-- Alberto Passalacqua - 2007, March 2nd


10.2 on Desktop PC - MICRO-STAR INC. MS-6728 Mainboard Version 2.0 BIOS V3.A - nVidia GeForce FX 5600 XT

Suspend to RAM works fine only on Console with "s2ram -f -p -m".

But settings like NvAGP=1 and blacklist intel_agp as explained above doesn't help to get S2RAM working with running X-Server. System hangs.

Any Ideas?

-- Jan-Christian Treusch - 2007, May 24th


10.2 on Acer Extensa 6702 WLMi - Intel 915GM

Suspend to RAM works fine

To enable supend to RAM: In /etc/pm/config I set S2RAM_OPTS="-f -p -m"

-- Jan-Christian Treusch - 2007, May 24th


10.2 on Acer Travelmate 5612 WSMi - GoForce 7300

Suspend to both disk and RAM works fine.

I set NvAGP=1 and blacklisted intel_agp and in /etc/pm/config I set S2RAM_OPTS="-f".

-- Evgeny Chesnokov - 2007, Jul 29th


10.3 on home built PC (PCCHIPS M935ALU mobo, w/ FX5200 AGP4x)

I'd just like to say that after following this guide, Suspend to Disk works perfectly (it did not before), so this guide still applies (at least for me) in 10.3

set NvAGP=1 and sis_agp was blacklisted. S2RAM is not supported on my system. (system is 4 years old, pentium 4 northwood @ 2.4 GHz)

I would like to say that this howto is working with Suse 10.3 (Asus PE PRO Sis645 Nvidia mx440)


10.3 i686 on Lenovo/IBM Thinkpad T61 , bios 2.07, Graphic Quadro NVS 140M with install binary Nvidia Driver 169.07

Suspend to ram: 1.add intel_agp module as blacklisted in /etc/modprobe.conf. / check lsmod|grep intel_agp / 2. Add Option "NvAGP" "3" in /etc/X11/xorg.conf. /I see "3" in cat /proc/driver/nvidia/registry / 3. in Grub add acpi_sleep=s3_bios agp=off in /boot/grub/menu.lst / I'm not sure, if is agp=off necessarily / 4. Create or edit /etc/pm/config.d/defaults and add just only S2RAM_OPTS="-f"

suspend to disk: suspend works, but after wake up system start xdriver and freeze/crash.I think some in Nvidia binary driver isn't ok. --Ang-cz


10.3 on Thinkpad T61 Quadro NVS 140m Thanks Ang-cz your suspend to RAM fixed worked for me except I did not edit xorg.conf

--hweise March 3, 2008


This is what worked for me on my Dell Inspiron 8600 with openSUSE 10.3...

In /etc/X11/xorg.conf add:

Option "NoLogo" "False"

Option "NvAGP" "1"

In /etc/modprobe.conf.local:

blacklist intel_agp

options nvidia NVreg_EnableAGPFW=1


In /boot/grub/menu.lst add "agp=off":

kernel /boot/vmlinuz-2.6.22.13-0.3-default root=/dev/disk/by-id/scsi-SATA_IC 25N040ATMR04-_MRG257K2JXYTUH-part6 vga=0x317 resume=/dev/sda5 splash=silent agp=off showopts

Add files...

/etc/pm/config.d/nvidia:

DISPLAY_QUIRK_VBE_POST=false

/etc/pm/config.d/s2ram:

S2RAM_OPTS="-f"

and chmod +x these.

--denhams


Overview for Dell M4300

Using 2.6.24.2/.3 kernels, I've been able to get my Dell M4300 to s2ram and s2disk. s2disk didn't require the 2.6.24.X kernel; I was able to use the stock openSUSE 10.3 kernel.

The only way to consistently get s2ram to work is to switch off the wireless and Blue Tooth card using the slider on the left side of the laptop. I tried playing with the BIOS settings to only control one or the other wireless card but the only way to get s2ram to work consistently is to control them both with the slider.

s2ram sleeps the machine extremely quick when there's minimal disk activity (exception, zypper running :)

One nice thing about using 2.6.24.X is I'm able to hot-swap in my modular bay my second battery with my CD/DVD recorder.

s2ram

Via the BIOS, ensure laptop's slider controls both BlueTooth (bt) card (if installed) and wireless NIC.

To s2ram:

  1. Slide slider to off
  2. From kpowersave, select `s2ram'

To resume:

  1. Turn on the laptop (or open lid)
  2. Slide slider to on

Note: if the slider is turned on before resuming, the kernel will not see the Bluetooth device. All is not lost, you can slide the slider off, then on once the machine is running to get the Bluetooth device recognized.

s2disk

There is no need to switch off the Bluetooth card or wirelss card via the switch:

  1. From kpowersave, select `s2disk'

Setup

- Graphics Driver

 I used the driver from the nVidia site (www.nvidia.com).  s2ram works successfully with both 169.09 and 169.12.

- /etc/X11/xorg.conf - relevant section

 Section "Device"
   BoardName    "Quadro FX 360M"
   BusID        "1:0:0"
   Driver       "nvidia"
   Identifier   "Device[0]"
   VendorName   "NVidia"
   Option       "NoLogo"
   Option       "DPMS" "0"
   Option       "NvAGP" "1"
   Option       "RenderAccel" "true"
   Option       "backingrestore" "true"
   Option       "UseEdiDpi"     "0"
   Option       "DPI"   "96 x 96"
 EndSection

- /etc/modprobe.conf.local

 blacklist intel_agp

- /boot/grub/menu.lst - added `agp=off' to `kernel' line; `nohz=off' is for my VirtualBox VM

 kernel /boot/vmlinuz-2.6.24.3-bigsmp 
   root=/dev/disk/by-id/scsi-SATA_Hitachi_HTS7220070703DP0C00DSG0R3YA-part1 
   vga=0x346 resume=/dev/sda5 showopts nohz=off agp=off

- Kernel - 2.24.2 and 2.24.3

 Downloaded from www.kernel.org - as there's no way to upload my .config, if there's demand, I'll place it on my server.

- /etc/pm/config.d/dell-m4300 - name not relevant, `chmod +x dell-m4300'

 # Although SuSE defaults to userspace, let's be explicit
 #
 HIBERNATE_METHOD="userspace"
 
 #
 # Force because Dell M4300 is not in the white-list
 #
 # Note:  without the -p and -s, the GPU would run _very_ hot when returning from s2ram
 #
 S2RAM_OPTS="-f -p -s"
 
 #
 # We need the following in order to s2ram
 #
 DISPLAY_QUIRK_VBE_POST=false

11.0 on Samsung X30 WVC1500 (21.06.2008)

In /etc/X11/xorg.conf add:

 Option         "NvAGP" "1"

In /etc/modprobe.conf.local:

 blacklist intel_agp

then i created the file "/etc/pm/config.d/s2ram" with the line

 S2RAM_OPTS="-f"

and made it executable.

again i created a file "/etc/pm/config.d/display_restart"

 /usr/sbin/vbetool dpms off
 /usr/sbin/vbetool dpms on

and made it executable.

i am happy to hear some improvements if any exist.


History

  • Feb 28, 2008 - initial
  • Mar 02, 2008 @ 06:00 pm ET - added s2ram/s2disk section; simplified some of the /etc/pm/ scripts
  • Mar 02, 2008 @ 07:20 pm ET - finished changes to /etc/pm/sleep.d/dell-m4300
  • Mar 03, 2008 @ 10:30 pm ET - added comments to s2ram; tweak to /etc/pm/sleep.d/dell-m4300
  • Mar 07, 2008 @ xx:xx xx xx - seems Seife considered some of my details `stuff' which wasn't relevant so he deleted them. If you can't get s2ram to work with the details listed, ping seife.


-- Pablo/Blueoak Database Engineering Inc (see my website if you'd like to contact me)

See also




Reply via email to