Ich habe Gestern – nach langer Zeit mal wieder – nach dem Nouveau-Projekt geschaut. Das Projekt entwickelt den xf86-video-nouveau Treiber. Ziel des Projekts ist es, einen OpenSource 3D-Grafiktreiber für alle Nvidia-Grafikkarten zu entwickeln.
Inhaltsverzeichnis
- 1. Einleitung
- 1.1 Mein Chipset
- 2. Installation
- 2.1 xorg.conf Optionen
- 2.2 nvidia-Treiber
- 3. Scripte
- 3.1 Switch2Nouveau
- 3.2 Switch2Nvidia
- 4. 3D-Support
- 5. Fazit
1. Einleitung
Um den freien Treiber des Nouveau-Projekts zu testen habe ich mir das ganze auf meinem Archlinux System installiert. Da dieser Prozess nicht sehr einfach war, möchte ich die Installation und die Funktion des Treibers auf meiner GeForce Go 7300 (G72M Chipsatz) hier beschreiben.
Mein Chipset:
Nouveau erkannte auf meinem System nicht den G72M- sondern einen NV46 Chipsatz. Ich fragte deshalb im IRC in #nouveau auf irc.freenode.net – dem Entwickerchannel von Nouveau – nach und es stellte sich herraus, dass der Name G72M nur ein Marketing Trick von Nvidia ist und meine GeForce Go 7300 eigentlich einen NV46 Chip hat.
2. Installation
Die Grundinstallation von Nouveau ist über das AUR sehr einfach. Mit Hilfe des Programms yaourt installiert man Nouveau in den zwei folgenden Schritten:
yaourt -S nouveau-drm-git
yaourt -S xf86-video-nouveau-git
Nachdem die beiden Pakete kompiliert und installiert sind kann man den Treiber durch das Eintragen von nouveau in die xorg.conf in Betrieb nehmen.
xorg.conf Optionen
Es gibt einige wichtige Optionen, die in die /etc/X11/xorg.conf eigetragen werden sollten:
Section "Module"
Load "glx"
EndSection
Section "Device"
Driver "nouveau"
EndSection
Section "ServerFlags"
Option "AIGLX" "off"
EndSection
nvidia-Treiber
Bei allen, die den proprietären nvidia-Treiber installiert haben, kann es noch zu Problemen mit dem glx-Modul kommen. Um diese Probleme zu umgehen habe ich zwei Scripte geschrieben: Scripte.
3. Scripte
Da ich gerne zwischen dem Nouveau-Treiber und dem proprietären Nvidia-Treiber wechseln möchte habe ich mir zwei kleine Scripte geschrieben. Die Scripte müssen als root und von einer Konsole aus aufgerufen werden.
Switch2Nouveau
Das Script switch2nouveau Kopiert eine xorg.conf.nouveau (hier meine) in die “richtige” xorg.conf und verlinkt /usr/lib/xorg/modules/extensions/libglx.so auf die freie xorg-Version – libglx.xorg.
#!/bin/sh
cp /etc/X11/xorg.conf.nouveau /etc/X11/xorg.conf
cd /usr/lib/xorg/modules/extensions
rm libglx.so
ln -s libglx.xorg libglx.so
/etc/rc.d/gdm restart
Switch2Nvidia
Das Script switch2nvidia Kopiert eine xorg.conf.nvidia (hier meine) in die “richtige” xorg.conf und verlinkt /usr/lib/xorg/modules/extensions/libglx.so auf die proprietäre Nvidia-Version – libglx.so.173.14.12.
#!/bin/sh
cp /etc/X11/xorg.conf.nvidia /etc/X11/xorg.conf
cd /usr/lib/xorg/modules/extensions
rm libglx.so
ln -s libglx.so.173.14.12 libglx.so
/etc/rc.d/gdm restart
4. 3D-Support
Die Version, die ich momentan installiert habe (git-20080813) biete leider keinen Support für 3D/OpenGL Programme. Sobald ich ein Programm starte, welches das glx-Modul benötigt (z.B: glxgears oder glxinfo) stürzt X ab. Da es in älteren Versionen schon Erfolge gab, wie z.B. dass man mit dem Nouveau-Treiber 3D-Spiele wie OpenArena spielen konnte, fragte ich bei den Entwicklern nach. Diese sagten mir dann, dass die 3D-Unterstützung gerade in starker Entwicklung ist und es deshalb zu solchen Fehlern kommen kann.
5. Fazit
Abschließend kann ich sagen, dass das Nouveau-Projekt super Arbeit leistet und dass der freie Nvidia Grafiktreiber schon für den alltäglichen Einsatz zu gebrauchen ist, falls man keinen 3D-Support benötigt. Falls man doch mal 3D-Support benötigen sollte kann man mit meinem kleinen Script switch2nvidia innerhalb weniger Sekundden auf den ClosedSource Treiber wechseln.
Hi,
danke für das HowTo.. werd mal sehen, wann der Treiber eine GF8xxxx supported und es dann auch mal ausprobieren; ist wirklich ein interessantes Projekt.. danke für die Info – ansonsten war mir das Projekt noch gar nicht bekannt.. zu meiner Schande..
schöne Nacht noch 😉
lg
Chris