Monthly Archives: December 2005

Der Kampf mit den ATI-Treibern

Ich befasse mich nun schon eine beachtliche Zeit lang mit meinem Debian-System und arbeite aktiv damit. Nach und nach gelingt es mir, einen weiteren Schritt zur vollen Nutzbarkeit der Geräte an und in meinem Rechner zu tätigen. Heute wollte ich mich (erneut) mit der 3D-Beschleunigung befassen.

Zu meinem „Glück“ steckt in meinem Rechner eine Sapphire Radeon 9600 Atlantis und Grafikkarten mit Chips von ATI (bzw. die Treiber dafür) haben den Ruf, sich – im Gegensatz zu mit NVIDIA-Chips bestückten Grafikkarten – etwas „schwierig“ in GNU/Linux-Systeme zu integrieren. Aber nichtsdestotrotz wollte ich es nun (erneut) versuchen; warum sollte ich auf die 3D-Beschleunigung verzichten, nur weil ich ein Nicht-Windows-System nutze? Also frisch ans Werk.

Ich begann meine Suche nach einer kurzen Suche auf der ATI-Supportseite in der Treibersektion, wurde schnell fündig und konnte die Linux-Treiber für meine Grafikkarte herunterladen. Zuallererst habe ich es mit dem Installer versucht, welcher augenscheinlich ordnungsgemäß alle erforderlichen Dateien einrichten konnte. Im Anschluss daran musste ich nur noch fglrxconfig ausführen, um die Konfigurationsdatei für meinen X-Server, xorg.conf auf den neuesten Stand zu bringen. Damit sollte die Einrichtung abgeschlossen sein und ich mich eines Debian-Systemes mit 3D-Beschleunigung erfreuen können. Sollte. Nach dem obligatorischen Neustart war vom neuen Treiber nichts zu spüren. Die Testtools glxgears und glxinfo spuckten nach wie vor ärmliche Ergebnisse aus:

[email protected]:~$ glxgears Xlib: extension "XFree86-DRI" missing on display ":0.0".
1638 frames in 5.0 seconds = 327.600 FPS
1488 frames in 5.0 seconds = 297.600 FPS
1612 frames in 5.0 seconds = 322.400 FPS
1388 frames in 5.0 seconds = 277.600 FPS
1488 frames in 5.0 seconds = 322.400 FPS

Soviel also zum offiziellen und einfachen Weg.

Angesichts dieses Misserfolges stellte ich meine alte xorg.conf wieder her und begab mich wieder in Richtung Suchmaschine. Nach längerer Suche stieß ich schließlich auf dieses sehr gute Tutorial für die ATI-Treiberinstallation. (Die Site ist offenbar seit einiger Zeit offline. Ich habe daher aus dem Google-Cache ein Backup des Tutorials erstellt.) Da ich einen 2.6er-Kernel verwende, kam für mich der entsprechende Installationsweg auf dieser Seite in Frage, welcher – zu meinem Erstaunen – angenehm kurz zu sein schien.

Nach dem ich also die erforderlichen Kommandos in der Konsole ausgeführt hatte, wurde mir ständig die gleiche Fehlermeldung präsentiert:

ATI module generator V 2.0 ==========================
kernel includes at /usr/src/linux/include not found or incomplete
file: /usr/src/linux/include/linux/version.h

Nach dem ich nun also wieder unseren liebsten Freund – die Suchmaschine – gequält hatte, fand ich heraus, dass ich die Kernel-Header meines aktuellen Kernels benötigte. Ich zweifelte jedoch schon fast an meinem Verstand und meinen Suchmethoden, als ich diese nirgends auftreiben konnte. Wieder nach einigem Suchen stieß ich dann aber auf den erlösenden Befehl: apt-get install linux-headers-`uname -r`. (Der Unterbefehl uname -r spuckt hierbei die Version des aktuell laufenden Kernels aus.) Damit konnte ich nun (endlich!) die Kernel-Header installieren. Dass ich bei meiner Suche nach „kernel-headers-2.6.12“ nicht erfolgreich war, verwunderte mich nun nicht mehr sonderlich.

Nachdem ich nun noch eine auf das eigentliche Kernel-Header-Verzeichnis deutende symbolische Verknüpfung namens „linux“ unter /usr/src angelegt hatte, um den ATI module generator zufrieden zu stellen, führte ich erneut oben erwähnte Kommandos zur Kompilierung des Treibermodules aus. Es folgte also das altbekannte fglrxconfig und meine xorg.conf war wieder auf dem neuesten Stand. Danach folgte der Neustart und die ersten nervösen Momente beim Starten des Systemes. Der X-Server gab keine Fehlermeldung aus, Auflösung und Farbtiefe waren unverändert und mein Window-Manager wurde wie gewohnt gestartet. Nun also der spannende Moment; ich führte glxgears aus:

[email protected]:~$ glxgears
11883 frames in 5.0 seconds = 2376.600 FPS
12929 frames in 5.0 seconds = 2585.800 FPS
12946 frames in 5.0 seconds = 2589.200 FPS
12947 frames in 5.0 seconds = 2589.400 FPS
12947 frames in 5.0 seconds = 2589.400 FPS

Ungeachtet dieser mehr als erfreulichen Ausgabe führte ich nun dennoch zusätzlich glxinfo aus:

[email protected]:~$ glxinfo | grep "direct rendering"
direct rendering: Yes

Und was soll ich nun noch groß sagen, außer: „Es funzt™!“

Zugegeben: die Installation war lang und steinig, aber dafür bin ich nun recht froh, alles selbst gemacht zu haben und ich dieses Wissen sammeln konnte. Meiner Meinung sollte ATI hier aber noch einiges in Bezug auf die einfache Installation der Treiber und damit einher gehend die Bedienerfreundlichkeit verbessern, wenn ihnen die GNU/Linux-Nutzer nicht gänzlich egal sind.