freier Nvidia Treiber: Nouveau

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

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.

1 thought on “freier Nvidia Treiber: Nouveau

  1. 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

Comments are closed.

Bad Behavior has blocked 1542 access attempts in the last 7 days.