NVidia Suspend HOWTO
Cet article est à relire ! Cette page demande à être relue pour correction. Si vous pouvez y participer, merci de le faire en accord avec le Guide stylistique openSUSE. |
Version : 10.1 Ce HOWTO a été écrit à l'origine pour la 10.1 ou précédent. Attention, il n'est pas sûr qu'il s'applique toujours à la 10.2 ou plus récent, ni qu'il y a toujours besoin de contournements avec les nouveaux pilotes, ni que cela marche mieux sans ces controunements. Des informations plus récentes seront collectées et cet article sera retravaillé
Sommaire
Comment mettre en oeuvre la mise en veille sur disque ou sur RAM avec les pilotes binaires NVIdia
Pour utiliser la mise veille avec les pilotes sous forme binaire pour les cartes graphiques NVidia, il faut prendre quelques précautions supplémentaires. Il faut noter qu'apparemment cela ne marche pas pour toutes les puces NVidia, YMMV:
Installer les pilotes NVidia
Télécharger les pilotes NVidia avec Yast Online Update (mise à jour en ligne de Yast), configurer la carte pour la 3D avec sax2. Il vaut mieux avoir une version récente des pilotes NVidia, l'essentiel de ce qui suit a été testé avec la version 1.0.7167. La lecture de Stefan Dirsch's nvidia-installer-howto est fortement recommandée.
Activer NvAGP
Mettre la ligne
Option "NvAGP" "1"
dans la section "Device" , après la ligne 'Vendor Name "NVidia"' dans /etc/X11/xorg.conf
Sur un système x86_64, agpgart est lié statiquement avec le noyau. Cela signifie qu'il faut désactiver agpgart à l'amorçage. Il suffit d'ajouter le paramètre noyau "agp=off" dans /boot/grub/menu.lst.
Empêcher les modules AGP fabriquants d'être chargés.
SUSE 9.3 et avant
Oter toute référence aux modules AGP de /etc/sysconfig/hardware:
# cd /etc/sysconfig/hardware # grep agp * hwcfg-vpid-8086-3340:MODULE_0='intel_agp'
Puis éditer le fichier trouvé avec la commande grep (ici: hwcfg-vpid-8086-3340) et changer "STARTMODE='auto'" en "STARTMODE='manual'". Il faudrait aussi oter la ligne "# HOTPLUG-FLAG: autocreated" pour que cette configuration subsiste à des futures mises à jour.
SUSE 10.0
Trouver quel module agp est actuellement exécuté
# lsmod | grep agp
Typiquement les noms sont intel_agp, sis_agp, via_agp etc. Ne tenez pas compte de agpgart ici
Marquer ce module agp dans la liste noire dans /etc/modprobe.conf.local. Exemple:
# blacklist agp module blacklist intel_agp
Note: /etc/hotplug/blacklist est encore là pour faire la même chose mais sera bientôt déprécié.
Réamorcer et vérifier
Réamorcer et s'assurre que le module agp n'est plus exécuté en faisant
# lsmod | grep agp
de nouveau. Il ne devrait plus y avoir aucun module agp fabriquant (e.g. intel_agp, sis_agp,...) dans la liste, excepté "agpgart".
Note: le support AGP ne fonctionne que pour les puces supportées par le module noyau nvidia.
Sinon les support AGP sera désactivé!
Vérifier cela avec "cat /proc/driver/nvidia/agp/status". S'il n'y a pas de ligne "Status: Enabled", alors le support AGP support n'est pas disponible. La carte graphique fonctionnera sans AGP, mais avec des performances moindres.
Pendant la mise en veille sur disque, quand les pilotes sont supendus, l'écran est éteint (et sur les portables cela veut dire aussi le rétro-éclairage) mais il n'est pas rallumé quand les pilotes sont réactivés pour écrire l'image. Cela signifie qu'on ne voit aucun indicateur de progression durant la mise en veille et que si la mise en veille échoue (elle ne devrait pas :-) on ne verra aucune erreur. On ne peut rien faire d'autre à ce stade, qu'attendre l'arrêt des écritures sur disque et l'extinction de la machine. Après la reprise de mise en veille, le pliote est réactivé correctement et l'écran et le rétro-éclairage sont rallumés.
Ceci a été testé sur un SONY VAIO PCG-GRT995MP et un Dell D800 avec les mise en veille sur disque et sur RAM. cela ne fonctionnait pas sur ancien Dell Inspiron 8200.
-- 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:
- Patch the driver as explained in the page NVIDIA but don't repackage it (don't run makeself.sh)
- Edit usr/src/nv/nv.c
- Go to line 3427. It should read: case PM_SUSPEND_MEM:
- Insert "case PM_SUSPEND_STANDBY:" (without the quotes) above or below
- Now create a new package or simply run the install script using: ./nvidia-installer -q
- 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):
- Copy the file ./usr/src/nv/makedevices.sh from the NVIDIA archive somewhere (/sbin, for example)
- Make sure the x-bits are still set
- Edit /etc/init.d/xdm
- find "start)"; should be around line 106)
- 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 sur HP xw6000 avec Quadro FX3000
La mise en veille sur disque fonctionne avec les instructions indiquées.