Catalyst Treiber auf Fedora 17: Ein schmerzfreies Howto

In letzter Zeit kam es irgendwie häufiger vor, dass ich zwischen den freien Radeon Treibern und der proprietären Catalyst Variante hin und herwechseln musste/wollte. Irgendwie hab ich dabei zig merkwürdige Howtos gefunden, die alle unnötig kompliziert oder unvollständig waren. Deshalb mal für alle geplagten hier mal eine kurz und schmerzfrei Variante mit ein paar Anmerkungen zu Problemen die im Dualhead Betrieb mit 2 Monitoren oder mehr aufgreten können. Ich bin übrigens ein großer Fan davon, möglichst alle Paketinstallationen unter Linux vom Paketmanger (in diesem Fall yum) ausführen zu lassen und möglichst NIX manuell zu installieren. So hat man meiner Erfahrung nach am wenigsten Stress bei Updates und das gilt IMHO für jede Distribution.

RPM Fusion hinzufügen

Falls noch nicht geschehen solltet ihr euch die RPM Fusion Repositorys hinzufügen. Wem diese nix sagen: riesiges Software Archiv für RPM basierende Linux Distributionen (Fedora, RHEL, CentOS, usw.). Es gibt 2 Varianten, Free und Nonfree. Ich empfehle beide hinzuzufügen, wenn es euch nicht stört potentiell unfreie Software zu nutzen. Damit kann man dann auch alle möglichen Media Codecs direkt über Yum installieren und glücklich sein. Vor allem aber ist dort der Catalyst Treiber inklusive der passenden akmod Pakete enthalten. Dazu gleich mehr. Erstmal fügt ihr mit folgendem Befehl die beiden RPMFusion Repos eurer Fedora 15-17 Installation hinzu:

yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

Nun noch ein schnelles:

yum update

hinterher und die neuen Repos sollten Teil eures Systems sein. Ihr müsst die Installation entweder direkt bestätigen, oder bei der ersten Paketinstallation. In jedem Fall einfach machen.

Hier übrigens die Anleitung direkt auf der rpmfusion.org Seite, falls mittlerweile eine neuere Fedora Version veröffentlicht wurde, oder ihr eine andere rpm-basierende Distri nutzt.

Catalyst und akmod installieren

Nachdem nun die nötigen Repos im System sind ist es nun an der Zeit für den Catalyst Treiber selbst. Mit den folgenden Befehlen installiert ihr das Paket mesa-libGL neu. Dann installiert ihr den Treiber selbst und entfernt zuletzt den freien Radeon Treiber:

yum reinstall mesa-libGL
yum install akmod-catalyst xorg-x11-drv-catalyst
yum remove xorg-x11-drv-ati

Das akmod Paket sorgt dafür, dass das fglrx Modul nach einem Kernel Update automatisch neu gebaut wird und man dies nicht manuell erledigen muss. Nun müsst ihr das System neustarten und der X-Server sollte nun automatisch den proprietären Catalyst Treiber statt des freien radeon Treibers nutzen. Um zu überprüfen, ob DRI, also die 3D Beschleunigung aktiv ist, einfach folgendes in ein Terminal hauen:

glxinfo | grep "direct rendering"

Wenn dort ein "Yes" steht, passt alles. Um weitere Einstellungen, wie Auflösung oder Dualhead einzurichten, müsst ihr das Catalyst Control Center starten. Das ruft ihr mit dem Befehl:

amdcccle

auf. Um Veränderungen am Monitorlayout durchzuführen müsst ihr es allerdings als root ausführen. Anschließend den PC neustarten und das wars dann soweit auch. Euer System läuft nun mit dem Catalyst Treiber von AMD und 3D Anwendungen und Spiele sollten um einiges schneller laufen. Zusätzlich ist alles über das RPM Fusion Repository installiert, heißt ihr bekommt zukünftige Updates auch über den Paketmanager und solltet euch um nix mehr kümmern müssen.

Probleme bei Systemen mit Dualhead

Ich hatte hier das Problem, dass ich nach dem Boot einen schwarzen Bildschirm hatte, solange der 2. Monitor angeschlossen war. Am besten kurz abstöpseln und probieren ob X dann startet. Wenn nicht zusätzlich noch, sobald die Bootanimation läuft, Escape drücken. Das deaktiviert die Bootanimation und X hat einwandfrei gestartet. Wieso diese beiden Effekte auftraten? Keine Ahnung, aber so ist zumindest ein Quick n' Dirty Workaround...

Probleme mit Standby / Suspend 2 RAM

Ein weiteres Problem, was hier mit auftauchte, war bei der Nutzung von Suspend 2 RAM, also dem Standby Modus. Weder mit dem Befehle "pm-suspend" noch mit "echo -n mem > /sys/power/state" ging das System korrekt in den Schlafmodus. Bzw. ging es mit dem 2. zwar in den Schlafmodus, konnte aber nicht wieder reaktiviert werden.

Deshalb auch noch zum Schluss die Anmerkung: Es ist grundsätzlich immer zu empfehlen ist, einfach den freien Treiber zu nutzen. Der ist erstens Open Source und wird von den Distributionen von Haus aus unterstützt und gepflegt. Bei 3D Anwendungen und Spielen ist er zwar nicht ganz so schnell, zum normalen Arbeiten braucht man das normalerweise nicht und man hat definitiv weniger Stress.