Migrer de Nouveau à Nvidia
Les vacances approchent, le PC portable est en préparation: il peut dèjà se connecter au net via mon smartphone, il est maintenant temps de préparer les activités des enfants.
Sur ce laptop, j’utilise en temps normal le driver libre Nouveau pour la GeForce4 MX440, ce qui suffit à mes besoins. Le hic, c’est que visiblement, cela ne suffit pas à mes enfants, car la 3D sur ce PC ne fonctionne pas avec Nouveau. Bien ennuyeux pour jouer à supertuxkart les jours de pluie…
Repassons donc provisoirement au driver propriétaire Nvidia.
Avant toute chose, sauvegarder un éventuel xorg.conf:
# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.driver_nouveau
Puis blacklister le module nouveau, sinon, cela ne fonctionnera pas :
# nano /etc/sysconfig/blacklist ## Ajouter la ligne suivante: blacklist nouveau
Quel est le modèle de ma carte graphique :
# lspci | grep VGA 01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 440 Go 64M] (rev a3)
Un petit tour sur le wiki Frugalware, il me faut nvidia-96xx :
# pacman-g2 -S nvidia-96xx
Pacman-g2 demande éventuellement à retirer libglx, libgl-headers-mesa et libgl, on accepte.
On exécute la commande suivante pour générer un xorg.conf façon nvidia (ou pas) :
# nvidia-xconfig
On peut rebooter. En principe, cela fonctionne.
Sauf pour la mise en veille, impossible de sortir de l’hibernation. En cette saison de grand nomadisme, c’est très gênant.
Pour corriger le problème, il faut d’abord éditer le xorg.conf généré par nvidia-xconfig :
# nano /etc/X11/xorg.conf ## ajouter ceci dans la section device de la carte: Option "NvAGP" "1"
Il faut maintenant faire en sorte que le module nvidia soit seul à utiliser le bus AGP. Listons les intervenants actuels :
# lsmod | grep agp amd64_agp 6063 1 agpgart 20048 2 amd64_agp,nvidia
Dans mon cas, le module amd64_agp est gênant.
Il faut le blacklister :
# nano /etc/sysconfig/blacklist ## Ajouter la ligne suivante: blacklist amd64_agp
On reboote, et en principe l’hibernation fonctionne.
On se retrouve en septembre pour remettre nouveau!