Posts Tagged ‘ Radeon

Ade, ATI-Treiber!

Ich wechselte bereits vor einiger Zeit vom offiziellen ATI-Treiber („fglrx“) zu seinem freien Pendant („radeon“) und bin damit bis auf einige Dinge auch recht zufrieden. Der Treiber ist im Gegensatz zum offiziellen Treiber sehr stabil und erlaubte mir nun auch erstmalig, die Composite-Erweiterung des X-Servers zu nutzen.

Bedauerlicherweise stand mir hier bis jetzt kein Direct Rendering zur Verfügung, was zur Folge hatte, dass sämtliche die Grafik betreffenden Berechnungen nicht direkt von meiner Grafikkarte durchgeführt werden konnten. Doch dies hat sich heute geändert. Das tägliche Systemupdate meiner Debian-Sid-Installation brachte heute die Mesa-Bibliotheken in Version 6.4.2-1 mit sich und nachdem ich im Bugtracker keine Release-kritischen Fehler finden konnte, welche mich betroffen hätten, aktualisierte ich die Bibliotheken.

Nun, nachdem ich mein System einmal neu gestartet hatte, um einige Dinge unter Windows zu erledigen, wollte ich einmal nachschauen, was mir die Aktualisierung gebracht hat und führte glxinfo aus:

ashura@core2:~$ glxinfo
name of display: :0.0
*********************************WARN_ONCE*********************************
File r300_state.c function r300Enable line 456 TODO - double side stencil !
***************************************************************************
No ctx->FragmentProgram._Current!!
display: :0
screen: 0
direct rendering: Yes

Erst traute ich meinen Augen nicht und vergewisserte mich deshalb mit Hilfe von glxgears:

ashura@core2:~$ glxgears
5304 frames in 5.0 seconds = 1060.651 FPS
5326 frames in 5.0 seconds = 1065.156 FPS
5335 frames in 5.0 seconds = 1066.958 FPS
5343 frames in 5.0 seconds = 1068.417 FPS
5332 frames in 5.0 seconds = 1066.281 FPS

Zugegeben: der freie Treiber ist halb so schnell wie der offizielle, aber dies kann sich in Zukunft ja noch ändern.

Der aktuelle Entwicklungszweig von Mesa ist nun also in die offiziellen Pakete eingeflossen, womit mir nun endlich Direct Rendering zur Verfügung steht, was mir bisher nur die offiziellen Treiber ermöglichten.

Jetzt kann ich also auch endlich gänzlich auf ATIs Treiber verzichten, womit mein System gleich ein ganzes Stück sauberer wird. Und in Kombination mit meinem Wechsel des X-Servers zum modularen Zweig vor einiger Zeit ist mein System nun bestens gewappnet für nützliche Verschönerungen wie Xgl und AIGLX.

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:

ashura@core2:~$ 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:

ashura@core2:~$ 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:

ashura@core2:~$ 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.