Gegen Ende April veröffentlichte AMD den neuen Grafiktreiber ATI Catalyst 10.4. AMD gab an, dass der Treiber auch mit der XOrg-Version 7.5 laufen sollte. Seit der Veröffentlichung unternahm ich den Versuch den fglrx-Treiber in der Version 8.723 unter XOrg 7.5 mit dem neuen X-Server 1.8.0 zum Laufen zu bekommen.
Zuallererst extrahierte ich den ATI-Installer 10.4 und spendierte ihm zwei weitere SPEC-Dateien (32bit und 64bit) zur Installation eines inoffiziellen XOrg-7.5-Treibers für openSUSE 11.2. Danach ließ ich vom Installer ein RPM-Paket bauen und installierte es im Anschluss. Die Installation funktionierte problemlos.
Der erste Versuch:
Ich installierte die neuen XOrg-Pakete aus dem bekannten openSUSE-Repo http://download.opensuse.org/repositories/X11:/XOrg/ und startete den Computer neu. Der X-Server quittierte seinen Dienst. In der Logdatei /var/log/Xorg.0.log fand ich folgenden Eintrag:
[atiddxSetup] X version mismatch - detected X.org 7.1.0.0, required X.org 7.5.1.0.
Öhm, detected XOrg 7.1?! Ich fing heftig an zu lachen und fand mich später auf dem Boden wieder. Nach etwa 10 Minuten konnte ich mich wieder beruhigen. Die Abfrage der Versionsnummer vom X-Server scheint bei AMD noch immer ein Problem (von vielen) zu sein. Wie dem auch sei. Ich dachte über mögliche Lösungen nach und hatte zum Schluss folgende Optionen:
- Den fglrx-Treiber auf binärer Ebene patchen. (Pfui!)
- Den X-Server selber patchen (Bäh!)
Die 1. Option hatte ich ganz schnell begraben. Denn das wäre wirklich eine Sisyphusarbeit gewesen. Die 2. Option war jedenfalls machbar, aber für mich auch nicht wirklich die ideale Lösung. Es könnten auch andere Programme oder Treiber die X-Server-Version abfragen. Wohl eher eine Notlösung.
Der 2. Versuch:
Um die besagte Notlösung durchzuführen, duplizierte ich das o.g. XOrg-Repo in meinem Repo und ersetzte die Versionsnummer vom X-Server von 1.8.0 auf 1.7.5.1 mit einem Patch. Da AMD anscheinend die Linux-Distribution Ubuntu 10.04 LTS zum Testen der Beta-Treiber den Vortritt gelassen hatte, schien es dort mit dem X-Server (1.7.5) zu laufen. Nachdem die Pakete in meinem Repo gebaut waren, installierte ich sie. Nach einem Neustart … (Trommelwirbel) … startete auch endlich der X-Server und KDE 4.4.2 mit dem fglrx-Treiber.
Okay, dann ging ich gleich auf die Fehlersuche und wurde leider fündig. Es waren noch einige Fehler vorhanden, die auch in der letzten ATI-Version 10.3 nicht behoben waren.
Hier nur einige Bugs mit dem fglrx-Treiber unter KDE 4.4.2:
- Compositing ließ sich nicht aktivieren. Lösung: Systemeinstellungen → Arbeitsfläche → Arbeitsflächen-Effekte → Tab: Erweitert → Funktionsprüfungen deaktivieren
- Bei aktiviertem Compositing im Zusammenspiel mit 3D-Anwendungen oder 3D-Spiele im Vollbildmodus stürzte Compositing ab (Schwarzer Bildschirm). Man konnte nur noch das Compositing per ALT+SHIFT+F12 beenden und die Sitzung neustarten. Besser ist es hier Compositing vorübergehend mit o.g. Tastenkürzel auszuschalten und dann die 3D-Anwendungen oder 3D-Spiele starten. Ausnahme: Wenn die 3D-Anwendung (bzw. 3D-Spiel) die gleiche Bildschirmauflösung wie KDE verwendet, dann scheint es zu laufen.
Allerdings wurden auch einige schwerwiegende Fehler behoben:
- Bei aktiviertem OpenGL-Bildschirmschoner stürzte das Compositing nicht mehr ab.
- Der X-Server hängt sich nicht mehr auf, wenn man zur TTY1-6 (STRG+ALT+F1 – F6) umgeschaltet hatte und dort in den Runlevel 3 (init 3) und später wieder zurück in den Runlevel 5 (init 5) wechselte.
Installationsanleitung
Bitte beachtet folgendes: Diese Installation ist nur für Fortgeschrittene, Entwickler oder zu Testzwecken gedacht. Ich habe mich entschlossen, dass ich das Skript makerpm-ati-10.4.sh nicht erweitere. In der Regel wird XOrg 7.5 für openSUSE 11.2 noch nicht unterstützt, sondern erst mit openSUSE 11.3. Sobald openSUSE 11.3 veröffentlicht wurde, werde ich ggfs. einen gepatchten X-Server zur Verfügung stellen (Falls AMD da nicht schneller ist als ich).
1. ATI-Installer 10.4 herunterladen:
http://support.amd.com/us/gpudownload/Pages/index.aspx
2. Patch für den ATI-Installer 10.4 herunterladen:
http://www.sebastian-siebert.de/downloads/ati-10.4-xorg-7.5.patch
3. ATI-Installer entpacken:
./ati-driver-installer-10-4-x86.x86_64.run --extract ati-10.4
4. In den ATI-Verzeichnis wechseln:
cd ati-10.4
5. Patch einspielen (Der Patch muss im ATI-Verzeichnis vorhanden sein):
patch -p1 <ati-10.4-xorg-7.5.patch
6a. RPM bauen (32bit)
./ati-installer.sh 8.723 --buildpkg SuSE/SUSE112-IA32-unofficial-Xorg75
6b. RPM bauen (64bit)
./ati-installer.sh 8.723 --buildpkg SuSE/SUSE112-AMD64-unofficial-Xorg75
7a. RPM installieren:
rpm -ihv fglrx*7_5_0*8.723*.rpm
7b. RPM updaten:
rpm -Uhv fglrx*7_5_0*8.723*.rpm
8. Das Repository (mit der gepatchten X-Server-Version) in YaST hinzufügen:
http://download.opensuse.org/repositories/home:/Freespacer:/X11:/XOrg75/openSUSE_11.2/
9. In YaST alle XOrg-Pakete einschließlich Mesa, MesaGLw, libXi6, libdrm, libpciaccess0, libpixman, sax2 vom o.g. Repo aktualisieren
10. Computer neustarten und freuen.
Kommentare und Erfahrungsberichte sind immer willkommen.