AMD Catalyst 11.9 (fglrx 8.892) wurde veröffentlicht. Das Skript makerpm-ati-11.9.sh steht ab sofort zum Download zur Verfügung.
Wichtige Änderungen in AMD Catalyst 11.9 (eine öffentliche ChangeLog seitens AMD für den Linux-Treiber gibt es leider noch nicht):
- Es gab da bereits ein offenes Geheimnis, dass mit dieser Version nun offiziell GNOME 3 unterstützt wird.
Für AMD Catalyst 11.9 stelle ich an dieser Stelle später ein Cheat Sheet bereit.
In eigener Sache:
Ich möchte mich recht herzlich für die vielen Spenden bedanken. Die Spende wird dazu verwendet, um einen 2. Monitor und zusätzlich noch eine moderne AMD Radeon HD Grafikkarte zu erwerben. Noch habe ich nicht den idealen Monitor wie auch AMD Grafikkarte gefunden und bin daher noch auf der Suche. Wer eine Empfehlung abgeben möchte, kann es gerne über die Kommentarfunktion tun. Ich hoffe, dass ich spätestens Ende Oktober die Hardware hier habe und somit die Monitore im Dual-Head-Betrieb testen kann und euch auch auf diesem Gebiet helfen kann.
Inhaltsverzeichnis
Einleitung
Die Anleitung funktioniert mit 11.3 und 11.4.
*** Wichtiger Hinweis zum ATI-Repo ***
Im ATI-Repo befindet sich der ältere ATI-Catalyst 11.1 (fglrx 8.812) Treiber. Es kann durchaus passieren, dass neuere Grafikkarten noch nicht unterstützt werden. Zudem werden die Treiber mit einer Verzögerung von 1-2 Monaten gebaut und veröffentlicht.
Diese Anleitung wie auch das Skript werden regelmäßig aktualisiert. Es lohnt sich daher öfter mal vorbei zu schauen oder im Feedreader zu speichern.
Es gibt 2 Wege den Bau des RPM-Packages durchzuführen.
- das RPM mit dem Skript makerpm-ati-11.9.sh bauen (empfohlen)
- das RPM manuell bauen (für Fortgeschrittene)
Der Vorteil zu Punkt 1: man muss sich nicht um die nötigen Packages für den Bau kümmern und man spart sich die Tipparbeit, die Zeit und die Nerven.
Hinweis: Alle genannten Schritte müssen in der Konsole im Root-Modus ausgeführt werden. Die Installation des RPM-Package „fglrx“ kann im Runlevel 3 oder auch im Runlevel 5 durchgeführt werden. Danach ist ein Neustart des Computers auf jeden Fall erforderlich.
Vorhandene fglrx-Treiber wird mit der Installation des AMD Catalyst RPM-Paket automatisch entfernt.
Mit vorhandene fglrx-Treiber sind z.B. folgende gemeint:
- ati-fglrxG01-kmp-{default,desktop,pae,…}
- ati-fglrxG02-kmp-{default,desktop,pae,…}
- x11-video-fglrxG02
Hilfe, es funktioniert nicht!
Bitte haltet folgende Regel ein:
- Bei der Eingabe der Befehle auf mögliche Tippfehler überprüfen.
- Möglicherweise ist die Lösung für das Problem im Troubleshooting vorhanden.
- In Kommentaren lesen, ob eine Lösung zu einem Problem bereits existiert.
Wenn keines der o.g. Regel greift, dann könnt ihr mit eurem Anliegen an mich wenden. Damit ich euch helfen kann, müsst ihr erst vorarbeiten. Bitte ladet euch das Skript makerpm-ati-11.9.sh herunter und erstellt einen Report von eurem System in der Konsole:
su -c 'sh makerpm-ati-11.9.sh -ur'
Das Skript lädt das Report auf sprunge.us hoch und gibt anschließend einen Link aus. Diesen Link postet ihr in eurem Kommentar zusammen mit einer Beschreibung zu eurem Problem an mich. Ich werde mir euren Report anschauen und Hilfestellung geben, wo evtl. das Problem liegen könnte.
RPM mit dem Skript bauen
Das Skript makerpm-ati-11.9.sh ist sehr mächtig, robust und läuft vollautomatisch. Der ATI-Installer wird automatisch heruntergeladen, falls er nicht schon im Verzeichnis liegt. Zudem wird geprüft, ob die Grafikkarte vom Treiber unterstützt wird. Auf Wunsch wird nach dem Bau des RPM-Packages der fglrx-Treiber installiert.
Folgende Argumente können dem Skript übergeben werden:
-b |
Nur das RPM-Package bauen (Standard) |
-c <type> |
Nur X-Server konfigurieren. Monitor-Typ: single = 1 Monitor, dual = 2 Monitore (Wichtig: Nur ausführen, wenn es Probleme mit der Standardkonfiguration des X-Servers auftreten) |
-d |
Nur den ATI-Installer downloaden |
-i |
Das RPM-Package bauen und installieren bzw. updaten |
-kms <yes|no> |
Kernel-Mode-Setting (KMS) aktivieren oder deaktivieren |
-nohw |
Hardware-Erkennung explizit ausschalten. (z.B. beim Bau in einer VM) |
-old2ddriver <yes|no> |
den alten 2D-Treiber aktivieren oder deaktivieren |
-r|–report |
erstellt ein Report und speichert diese in eine Datei namens ati-report.txt |
-u|–uninstall |
entfernt AMD Catalyst restlos vom System. Zuerst wird das fglrx-Package (falls vorhanden) vom System deinstalliert. Danach werden vorhandene ATI-Dateien und -Verzeichnisse entfernt. Hinweis: Falls das Rebuild-Skript installiert wurde, wird es ebenfalls entfernt und das Initskript /etc/init.d/xdm wiederhergestellt. |
-ur|–uploadreport |
wie Option –report nur zusätzlich wird der Report auf einem NoPaste-Service sprunge.us hochgeladen und gibt bei Erfolg den Link zurück. |
-h |
Die Hilfe anzeigen lassen |
-V |
Version des Skript anzeigen |
Downloads:
Empfohlene Vorgehensweise:
Man benötigt hierfür die Konsole mit root-Rechten, um das Skript auszuführen.
- Das Skript herunterladen:
wget http://www.sebastian-siebert.de/downloads/makerpm-ati-11.9.sh
- Die Prüfsummendatei herunterladen:
wget http://www.sebastian-siebert.de/downloads/makerpm-ati-11.9.sh.sha1
- Die Prüfsummendatei gegen das Skript prüfen:
sha1sum -c makerpm-ati-11.9.sh.sha1
Idealerweise sollte folgende Ausgabe erscheinen, andernfalls stimmt etwas mit dem heruntergeladenen Skript nicht:
makerpm-ati-11.9.sh: OK
- Die Rechte des Skriptes ändern und ausführbar machen:
chown root:root makerpm-ati-11.9.sh
chmod 744 makerpm-ati-11.9.sh
- Das Skript mit dem Argument -i ausführen. Das RPM-Package wird im Anschluß automatisch installiert (bzw. aktualisiert).
./makerpm-ati-11.9.sh -i
- Den Rechner neustarten:
reboot
RPM manuell bauen
Da nun endlich das von mir neugeschriebene Packaging Skript im ATI-Installer enthalten ist, ist die Installation des Treibers ziemlich einfach geworden.
Folgende Entwicklungswerkzeuge bzw. -packages werden vom gebauten RPM-Paket als benötigt eingestuft und von YaST2/zypper automatisch mitinstalliert:
- gcc
- make
- patch
- kernel-devel
- kernel-source
- kernel-{default,desktop,pae}-devel
- kernel-syms
Folgende Schritte werden auf einem 32-bit wie auch 64-bit openSUSE-System durchgeführt:
- Den Installer des proprietären Treiber von ATI herunterladen:
https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-11-9-x86.x86_64.run
Optional: Das System im Runlevel 3 starten und als „root“ einloggen oder per init 3 wechseln.
- Den Bau des RPM-Packages anstoßen:
sh ./ati-driver-installer-11-9-x86.x86_64.run --buildpkg SuSE/SUSE-autodetection
- Das RPM-Package installieren:
zypper install fglrx*8.89*.rpm
- Den Rechner neustarten:
reboot
Troubleshooting:
- Nach dem Booten sieht man die Konsole (Problem mit der Konfiguration des X-Servers)
- Nach dem Booten hat man einen schwarzen Bildschirm (Problem mit dem Kernel-Mode-Setting)
- Arbeitsflächen-Effekte (Compositing) in KDE 4.4 bzw. 4.5 ist nicht aktiviert
- Arbeitsflächen-Effekte (Compositing) in KDE 4.5 lassen sich gar nicht mehr aktivieren
- In Firefox oder Thunderbird erscheinen schwarze Flächen
- Ein Wasserzeichen erscheint unten rechts
- Der Treiber unterstützt meine Grafikkarte nicht. Was mache ich jetzt?
- Sollte man nach dem Booten in der Konsole landen, dann erstellt man besser eine Konfigurationsdatei des X-Servers. In diesem Fall bitte als „root“ in die Konsole einloggen und folgende Schritte durchführen.
einfache Variante:
Vorher noch in den Runlevel 3 wechseln:
init 3
Bei einem Monitor (Single-Modus):
./makerpm-ati-11.9.sh -c single
Bei zwei Monitore (Dual-Modus):
./makerpm-ati-11.9.sh -c dual
Danach den Rechner neustarten.
Fortgeschrittene Variante:
- X-Server-Konfiguration verschieben, falls vorhanden:
mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
- Von aticonfig eine neue Konfigurationsdatei erzeugen lassen: (Das Tool aticonfig kann mittlerweile auch eine X-Server-Konfiguration from Scratch erzeugen, jedoch speziell auf den fglrx-Treiber zugeschnitten. Die restliche Hardware wird vom X-Server automatisch erkannt und geladen. Dies sollte in Zukunft vorgezogen werden, falls die Autoerkennung für den fglrx-Treiber oder X -configure nicht funktioniert):
Bei einem Monitor (Single-Modus):
aticonfig --initial --input=/etc/X11/xorg.conf
oder bei zwei Monitore (Dual-Modus):
aticonfig --initial=dual-head --input=/etc/X11/xorg.conf
- Wenn man vor einem schwarzen Bildschirm sitzt und man weder die Konsole noch den Desktop sieht, dann liegt es höchstwahrscheinlich am neueingeführten Kernel-Mode-Setting (auch KMS genannt). Das Problem läßt sich durch Deaktivierung des KMS beheben.
einfache Variante:
Mit dem Skript das KMS dauerhaft deaktivieren:
./makerpm-ati-11.9.sh -kms no
Fortgeschrittene Variante:
Es gibt 2 Möglichkeiten KMS zu deaktivieren:
- Als Bootparameter in GRUB oder LILO: nomodeset
- KMS im Initial Ramdisk grundsätzlich deaktivieren. Der nachfolgende Befehl schaltet das KMS in der Konfiguration /etc/sysconfig/kernel auf NO_KMS_IN_INITRD=“yes“ aus.
sed -i 's/^NO_KMS_IN_INITRD=.*/NO_KMS_IN_INITRD="yes"/g' /etc/sysconfig/kernel
Unter openSUSE Tumbleweed bzw. openSUSE Factory:
sed -i 's/^KMS_IN_INITRD=.*/KMS_IN_INITRD="no"/g' /etc/sysconfig/kernel
Anschließend die Initial Ramdisk neubauen lassen:
mkinitrd
- Falls die Arbeitsflächen-Effekte (Compositing) in KDE 4.4 bzw. 4.5 nicht mehr aktiviert sind, weil vermutlich die Erkennung der OpenGL-Schnittstelle von AMD Catalyst 11.9 fehlschlägt. Hierzu gibt es eine einfache Lösung:
- Im KDE-Menü auf Systemeinstellungen klicken
- Unter Allgemein / Erscheinungsbild & Verhalten auf Arbeitsfläche klicken
- In Arbeitsflächen-Effekte einrichten auf den Tab Erweitert klicken
- Die Checkbox Funktionsprüfungen deaktivieren aktivieren
- Im Tab Allgemein prüfen, ob Compositing aktiviert ist. Falls nicht, bitte aktivieren.
- Abschließend auf Anwenden klicken
Jetzt sollen die Effekte in KDE wieder funktionieren. Die 3D-Anwendungen bzw. 3D-Spiele sind von diesem Problem nicht betroffen.
- Wenn das Compositing im OpenGL-Modus in KDE 4.5 nicht mehr aktivierbar sein sollte, dann wurde möglicherweise von KWin das Compositing komplett deaktiviert. Schuld ist die Einstellung OpenGLIsUnsafe=true in der Konfiguration /home/USERNAME/.kde4/share/config/kwinrc. Leider gibt es noch keine Möglichkeit diese Option in den Systemeinstellungen von KDE zu ändern.
Man kann in der Konsole schnell und komfortabel für jeden User im Home überprüfen, ob man von dem Problem betroffen ist. Wenn bei dem nachfolgenden Befehl eine oder mehrere Dateien aufgelistet werden, so ist die Option von KWin bei dem jeweiligen User scharf geschaltet worden:
grep -l "OpenGLIsUnsafe=true" /home/*/.kde4/share/config/kwinrc
Es ist wichtig, dass der folgende Befehl im Runlevel 3 ausgeführt wird, sonst werden die Einstellungen von KWin wieder überschrieben. Wie man in den Runlevel 3 kommt, wird oben im Artikel beschrieben. Um das Problem mit „OpenGLIsUnsafe“ für alle User im Home-Verzeichnis zu beheben, gibt man folgenden Befehl als root in der Konsole ein:
sed -i '/OpenGLIsUnsafe=.*/d' /home/*/.kde4/share/config/kwinrc
Hintergrundinfo:
Die Option OpenGLIsUnsafe kam mit der Revision 1079919 und wurde vom Autor Lucas Murray (lmurray) geschrieben. Allerdings ist ein Recheck-Button in der KDE-Einstellung laut einer TODO-Anmerkung im Quellcode in Zeile 156 geplant, um ggfs. die Option OpenGLIsUnsafe zurückzusetzen, was leider bisher noch nicht umgesetzt wurde.
Quellcode von kwincompositing
der Diff vom Quellcode zur Revision 1079919
- Falls unter Firefox oder Thunderbird schwarze Flächen erscheinen, dann liegt es in erster Linie an den neuen 2D-Treiber. Um den alten 2D-Treiber zu verwenden, führt man folgende Kommando aus.
einfache Variante:
./makerpm-ati-11.9.sh -old2ddriver yes
Fortgeschrittene Variante:
aticonfig --set-pcs-str=DDX,ForceXAA,TRUE
Hinweis: Falls das Problem mit den schwarzen Flächen in 2D-Anwendungen in der nächsten Version behoben wurde, kann man es wieder deaktivieren:
einfache Variante:
./makerpm-ati-11.9.sh -old2ddriver no
Fortgeschrittene Variante:
aticonfig --del-pcs=DDX,ForceXAA
- Ein Wasserzeichen erscheint unten rechts. Wie entfernt man das? Glücklicherweise habe ich ein Skript geschrieben, dass dieses Wasserzeichen entfernt.
Download: ati-remove-water-mark.sh
SHA1: ati-remove-water-mark.sh.sha1
Sobald man das o.g. Skript heruntergeladen hat, führt man ihn wie folgt aus:
su -c 'sh ./ati-remove-water-mark.sh'
Danach den Rechner neustarten.
- Der Treiber unterstützt meine Grafikkarte nicht. Was mache ich jetzt? Hier kann man leider nur den Radeon-Treiber verwenden. Man öffnet die Konfigurationsdatei /etc/X11/xorg.conf.d/50-device.conf mit root-Rechten, um diese bearbeiten zu können. Einfach den Krunner mittels Tastenkürzel ALT+F2 öffnen und folgende Befehlszeile eingeben und abschließend mit Enter bestätigen:
kdesu kwrite /etc/X11/xorg.conf.d/50-device.conf
In der Zeile 4 bei Driver „radeon“ nimmt man vorne die Raute weg und speichert die Datei ab. Anschließend alle Anwendungen schließen und neustarten.
Sollte man beim Neustart einen schwarzen Bildschirm bekommen, dann muss das KMS abgeschaltet werden. Bitte einmal diesen Workaround zum Abschalten von KMS im Failsafe-Modus durchführen.
Feedbacks sind wie immer willkommen.