SusiP
Nickname: SusiP
Archlinux PKGBUILDS für Nouveau.
Installation
Zum betreiben des nouveau-Treibers sind einige tiefe Eingriffe in das System notwendig. Sie sollten wissen wie das Paketmanagement funktioniert, wie man Kernelmodule lädt, wie eine Xorg.conf Datei aufgebaut ist und wie man sie konfiguriert. Ich weise deshalb hiermit darauf hin, dass ich keine Haftung für irgendwelche entstanden Schäden übernehmen werde.
Ich werde mich in meiner Beschreibung auf die Installation unter der Verwendung der Archlinux Distribution beziehen. Hierfür habe ich die benötigten PKGBUILDS erstellt und stelle Sie hier zum Download bereit.
Entpacken sie alles nach /var/abs/local/nouveau. Die PKGBUILDS sind so ausgelegt, dass das git-Repository lokal in dem src Verzeichnis bleibt und beim Aufruf von build auf HEAD aktualisiert wird. Zur Zeit tragen alle Pakete noch die pkgver=20070202. Geplant ist eine Umbenennung nach -git. Makepackage sollte so konfiguriert sein, dass es neue Pakete in /home/packages speichert (/etc/makepkg.conf). Die hier enthaltenen Skripte suchen in diesem Verzeichnis die nouveau-Pakete.
Das Bauen der Pakete übernimmt für Sie das Skript build-nouveau. Es übersetzt die Pakete in der richtigen Reihenfolge und installiert die Abhängigkeiten für Sie. Ausnahme bildet das Paket nouveau-mesa. Dieses wird von dem Skript nicht installiert, weil es mit den Paketen mesa und nvidia in konflikt steht. Die Installation erfolgt erst durch das Skript switch2nouveau. Bevor Sie gleich das Buildskript starten, sollten Sie zunächst die PKGBUILDS an Ihre vorhandene Kernelversion anpassen.
Starten Sie jetzt mit build-nouveau den Übersetzungsvorgang und installieren ggf. Sie die fehlenden Abhängigkeiten nach und starten Sie das Skript solange erneut bis alle Pakete fertig gebaut sind.
Seit Xorg-1.2 ist ein Patchen des Xorg-Servers unter Archlinux nicht mehr notwendig. Dieses war notwendig, weil das original Paket die Xorg eigene libdrm einkompiliert hatte. Was dazu führte, dass sie beim Starten von Xorg eine Fehlermeldung ausgegeben wurde.
Benutzung
Mit switch2nouveau werden alle Aktionen ausgeführt die zum Starten des Xorg-Servers mit den nouveau-Treibern nötig sind ausgeführt.
- entladen des nvidia-Kernelmoduls
- entfernen des Paketes nvidia-96xx-utils
- entfernen des Paketes mesa
- entfernen des Paketes freeglut
- laden der nouveau Kernelmodule
- Installation von nouveau-mesa
- Überprüfung anhand der gelandenen Kernelmodule
Zum Starten benutzen sie das enthaltene Skript start-nouveau. Wechseln sie vorher als root nach init 3. Es startet den X-Server mit der Konfiguration aus /etc/X11/nouveau.conf neu. Achtung ~/.initrc bestimmt WM. Leider stürzt KDE-3.5.6 kurz nach dem Starten ab. Der Windowmanager twm läuft mit nouveau-Treibern gut. Installieren sie ggf. xterm.
Um wieder den Originalzustand herzustellen führen sie das Skript switch2nvidia aus.
- entladen nouveau und drm Kernelmodule
- entfernen des nouveau-mesa Paketes
- original Mesa/NVIDIA Pakete installieren
- freeglut installieren
- modprobe nvidia
Fehlersuche
Überprüfen Sie die Logdatei vom Xorg-Server mit cat /var/log/Xorg.0.log
Verwenden Sie einen Kernel mit Framebuffer? Zur Zeit funktioniert das Zusammenspiel zwischen Framebuffer und nouveau-Treiber noch nicht richtig. Deshalb ist es wichtig, damit die Grafikkarte immer in einem definierten Zustand ist, dass die Framebufferunterstützung deaktiviert ist. Laut IRC-log ist wohl eine enge Zusammenarbeit mit den Kernelentwicklern geplant, um diesen Umstand zu beheben.
Testen
Die Ausgabe von glxinfo enthält Direct Rendering yes und verwendet den nouveau-Treiber. ldd /usr/bin/glxgears.
Tipps
Mit Hilfe von Umgebungsvariablen läßt sich das Verhalten des Systems steuern. In Bezug auf OpenGL trifft das auf LIBGL_DRIVERS_PATH zu. Was kann man nun mit dieser Variable einstellen? Wenn Sie zum Beispiel einen neuen Branch oder eine andere Version von Mesa in einem Verzeichnis übersetzt haben und diese nur mal testen wollen, dann können Sie dies tun indem Sie mit
export LIBGL_DRIVERS_PATH=Pfad/zum/lib-Verzeichnis
die Umgebungsvariable setzen. Jetzt wird die Mesalib aus diesem Pfad geladen.
"Fehlermeldung drmModuleData no data object" -> neuen Xorg-server kompilieren, der die systemeigene libdrm verwendet (vor Xorg-1.2).
Erweiterte Debuggingausgaben von OpenGL. Mit der Umbegungsvariable LIBGL_DEBUG können Sie das Verhalten der Meldungen von OpenGL beeinflussen.
export LIBGL_DEBUG=verbose
gibt mehr Informationen aus.
Hardware
NV28
TODO
- Pakete umbenennen nach -git
- Paket nouveau mit , Xorg.conf Beispiel erstellen
- Hinweis Abänderung verschiedene NVIDIA-Versionen im Skript

