openSUSE 11.2 – proprietären Grafik-Treiber ATI Catalyst 10.6 als RPM installieren

Hinweis: Dieser Artikel ist veraltet. Ein neuer Artikel befindet sich hier: openSUSE 11.3 – proprietären Grafik-Treiber ATI Catalyst 10.7 als RPM installieren

Es gibt 2 Wege den Bau des RPM-Packages durchzuführen.

  1. das RPM mit dem Skript makerpm-ati-10.6.sh bauen (empfohlen)
  2. 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. ;-)

Wichtig: Bevor ihr irgendwelche Fragen an mich richtet, lest euch bitte sorgfältig diesen Artikel durch und achtet auch auf eure Eingaben in der Konsole wegen mögliche Tippfehler. Falls es Probleme geben sollte, schaut bitte unter Troubleshooting nach, ob euer Problem dort schon dokumentiert wurde.

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 fremde fglrx-Treiber sind auf jedenfall zu deinstallieren, sonst kommt es zu Konflikten bei der Installation dieses selbstgebauten RPM-Package.

Mit fremde fglrx-Treiber sind z.B. folgende gemeint:
ati-fglrxG01-kmp-{default,desktop,pae,…}
ati-fglrxG02-kmp-{default,desktop,pae,…}
x11-video-fglrxG02

Vorhandene fremde fglrx-Treiber auflisten lassen:

rpm -qa | grep -E 'fglrxG01|fglrxG02'

Wenn hier von RPM eine Ausgabe erscheint, müssen diese Package deinstalliert werden:

zypper rm (packagename)

Alternativ kann man auch in YaST nach fglrxG01 bzw. fglrxG02 suchen und entfernen lassen.

RPM mit dem Skript bauen

Das Skript makerpm-ati-10.6.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 dem System werden nach den nötigen Entwicklungspaketen geprüft und ggfs. installiert. 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
-ux – Nur den gepatchten X-Server installieren. Verbessert die Zusammenarbeit mit dem fglrx-Treiber. (dringend zu empfehlen)
-h – Die Hilfe anzeigen lassen
-V – Version des Skript anzeigen

Downloads:

Empfohlene Vorgehensweise:

Optional: Das System im Runlevel 3 starten oder wechseln:
Beim Booten: Im Bootmenü den Eintrag von openSUSE 11.2 selektieren und auf der Tastatur die Zahl „3“ und Enter drücken und als „root“ einloggen
Im laufenden System: STRG+ALT+F1 drücken und sich als „root“ einloggen. Danach mit folgendem Befehl in den Runlevel 3 wechseln:

init 3

1. Das Skript herunterladen:

wget http://www.sebastian-siebert.de/downloads/makerpm-ati-10.6.sh

2. Die Prüfsummendatei herunterladen:

wget http://www.sebastian-siebert.de/downloads/makerpm-ati-10.6.sh.sha1

3. Die Prüfsummendatei gegen das Skript prüfen:

sha1sum -c makerpm-ati-10.6.sh.sha1

Idealerweise sollte folgende Ausgabe erscheinen, andernfalls stimmt etwas mit dem heruntergeladenen Skript nicht:

makerpm-ati-10.6.sh: OK

4. Die Rechte des Skriptes ändern und ausführbar machen:

chown root:root makerpm-ati-10.6.sh && chmod 744 makerpm-ati-10.6.sh

5. Das Skript mit dem Argument -ux ausführen. Es wird ein gepatchter X-Server installiert. (Diese Vorgehensweise wird empfohlen. Weitere Informationen findet ihr hier: X-Server und ATI Catalyst Treiber (fglrx) zur Zusammenarbeit bewegen)

./makerpm-ati-10.6.sh -ux

6. Das Skript mit dem Argument -i ausführen. Das RPM-Package wird im Anschluß automatisch installiert.

./makerpm-ati-10.6.sh -i

7. Den Rechner neustarten:

reboot

Troubleshooting (RPM mit dem Skript bauen):

  • Sollte man trotz gepatchten X-Server nach dem Booten in der Konsole landen, dann kann es evtl. an einer fehlerhaften Konfiguration des X-Servers liegen. In diesem Fall bitte als „root“ in die Konsole einloggen und das Skript mit folgendem Parameter ausführen lassen.

    Vorher noch in den Runlevel 3 wechseln:

    init 3

    Bei einem Monitor (Single-Modus):

    ./makerpm-ati-10.6.sh -c single

    Bei zwei Monitore (Dual-Modus):

    ./makerpm-ati-10.6.sh -c dual

    Danach den Rechner neustarten.

  • Falls die Arbeitsflächen-Effekte (Compositing) in KDE 4.4.3 nicht mehr aktiviert sind, weil vermutlich die Erkennung der OpenGL-Schnittstelle von AMD/ATI Catalyst 10.6 fehlschlägt. Hierzu gibt es eine einfache Lösung:
    1. Im KDE-Menü auf Systemeinstellungen klicken
    2. Unter Allgemein / Erscheinungsbild & Verhalten auf Arbeitsfläche klicken
    3. In Arbeitsflächen-Effekte einrichten auf den Tab Erweitert klicken
    4. Die Checkbox Funktionsprüfungen deaktivieren aktivieren
    5. Im Tab Allgemein prüfen, ob Compositing aktiviert ist. Falls nicht, bitte aktivieren.
    6. 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.

RPM manuell bauen

Das ist der etwas schwierigere Teil. Aber es ist nicht unmöglich. :-)

Für den Bau des RPM-Packages werden folgende Entwicklungswerkzeuge bzw. -packages benötigt

  • gcc
  • make
  • patch
  • linux-kernel-headers
  • kernel-source
  • kernel-{default,desktop,pae,rt,vanilla,xen}-devel

Beim Kernel-Entwicklungspackage ist zu beachten, dass man die richtige installiert hat. Welchen Kernel zur Zeit auf dem System läuft, kann man in der Konsole abfragen:

uname -r

Bei mir ergibt beispielsweise diese Ausgabe:

2.6.31.12-0.2-default

Also muss im o.g. Fall der Kernel-Entwicklungspackage kernel-default-devel installiert sein.

Folgende Schritte werden auf einem 32bit openSUSE-System durchgeführt:
(64bit openSUSE-System weiter unten)

1. Den gepatchten X-Server installieren:
Anleitung: http://www.sebastian-siebert.de/2010/03/24/opensuse-11-2-x-server-und-ati-catalyst-display-treiber-fglrx-zur-zusammenarbeit-bewegen/

2. Den Installer des proprietären Treiber von ATI herunterladen:
http://support.amd.com/us/gpudownload/Pages/index.aspx

Optional: Das System im Runlevel 3 starten und als „root“ einloggen oder per init 3 wechseln.

3. Den Bau des RPM-Packages anstoßen:

sh ./ati-driver-installer-10-6-x86.x86_64.run --buildpkg SuSE/SUSE112-IA32

4a. Das RPM-Package installieren (Neuinstallation):

rpm -ihv fglrx_7_4_0_SUSE112-8.741*.rpm

4b. Das RPM-Package installieren (Update):

rpm -Uhv fglrx_7_4_0_SUSE112-8.741*.rpm

5. Den Rechner neustarten:

reboot

Folgende Schritte werden auf einem 64bit openSUSE-System durchgeführt:

1. Den gepatchten X-Server installieren:
Anleitung: http://www.sebastian-siebert.de/2010/03/24/opensuse-11-2-x-server-und-ati-catalyst-display-treiber-fglrx-zur-zusammenarbeit-bewegen/

2. Den Installer des proprietären Treiber von ATI herunterladen:
http://support.amd.com/us/gpudownload/Pages/index.aspx

Optional: Das System im Runlevel 3 starten und als „root“ einloggen oder per init 3 wechseln.

3. Den Bau des RPM-Packages anstoßen:

sh ./ati-driver-installer-10-6-x86.x86_64.run --buildpkg SuSE/SUSE112-AMD64

4a. Das RPM-Package installieren (Neuinstallation):

rpm -ihv fglrx64_7_4_0_SUSE112-8.741*.rpm

4b. Das RPM-Package installieren (Update):

rpm -Uhv fglrx64_7_4_0_SUSE112-8.741*.rpm

5. Den Rechner neustarten:

reboot

Troubleshooting (RPM manuell bauen):

  • Sollte man trotz gepatchten X-Server nach dem Booten in der Konsole landen, dann kann es evtl. an einer fehlerhaften Konfiguration des X-Servers liegen. In diesem Fall bitte als „root“ in die Konsole einloggen und folgende Schritte durchführen.

    1. X-Server-Konfiguration verschieben, falls vorhanden:

    mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

    2. Von SaX2 eine neue Konfigurationsdatei erzeugen lassen:

    sax2 -a

    oder alternativ mit aticonfig (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

    oder bei zwei Monitore (Dual-Modus):

    aticonfig --initial=dual-head

    Hinweis: Falls man bereits in diesem Schritt das Tool aticonfig für die Erzeugung einer X-Server-Konfiguration verwendet hat, so entfallen die nachfolgenden Schritte 3, 3a, 3b.

    3. Die Konfigurationsdatei von aticonfig für die Nutzung des fglrx-Treibers modifizieren lassen.

    3a. Bei einem Monitor (Single-Modus):

    aticonfig --initial --input=/etc/X11/xorg.conf

    3b. Bei zwei Monitore (Dual-Modus):

    aticonfig --initial=dual-head --input=/etc/X11/xorg.conf
  • Falls die Arbeitsflächen-Effekte (Compositing) in KDE 4.4.3 nicht mehr aktiviert sind, weil vermutlich die Erkennung der OpenGL-Schnittstelle von AMD/ATI Catalyst 10.6 fehlschlägt. Hierzu gibt es eine einfache Lösung:
    1. Im KDE-Menü auf Systemeinstellungen klicken
    2. Unter Allgemein / Erscheinungsbild & Verhalten auf Arbeitsfläche klicken
    3. In Arbeitsflächen-Effekte einrichten auf den Tab Erweitert klicken
    4. Die Checkbox Funktionsprüfungen deaktivieren aktivieren
    5. Im Tab Allgemein prüfen, ob Compositing aktiviert ist. Falls nicht, bitte aktivieren.
    6. 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.

Feedbacks sind wie immer willkommen. :-)

10 thoughts on “openSUSE 11.2 – proprietären Grafik-Treiber ATI Catalyst 10.6 als RPM installieren

  1. Hallo, ich wollte fragen wie das ist mit der OpenSuse 11.3 RC1 version … funktioniert der gepatchte X-Server auch dort?

    • Hallo Johnny,

      ich wollte fragen wie das ist mit der OpenSuse 11.3 RC1 version … funktioniert der gepatchte X-Server auch dort?

      Der gepatchte X-Server ist für openSUSE 11.3 nicht kompatibel, weil es nur die Version XOrg 7.4 (X-Server 1.6.5) unter openSUSE 11.2 betrifft.

      Das o.g. Skript ist noch nicht für openSUSE 11.3 angepasst oder anders ausgedrückt AMD hat die Unterstützung für openSUSE 11.3 noch nicht freigegeben. Das erste Release Candidate von openSUSE 11.3 ist erst vorgestern am 16. Juni 2010 veröffentlicht worden. Bis zur finalen Version wird sich da nichts mehr großartig ändern und so kann ich die notwendigen Änderungen in der nächster Zeit in das Skript implementieren. Heute morgen habe ich ein Artikel „openSUSE 11.2 – XOrg 7.5 (X-Server 1.8.0) + ATI Catalyst 10.6 (fglrx 8.741) laufen einwandfrei“ veröffentlicht, in der man den fglrx-Treiber für die neuere XOrg-Version 7.5 unter openSUSE 11.2 und openSUSE 11.3 vorab installieren kann. Ich bin an deinem Erfahrungsbericht sehr interessiert wie gut der fglrx-Treiber bei dir auf openSUSE 11.3 (RC1) läuft.

      Gruß

      Sebastian

  2. Hallo Sebastian,

    Ich habe dein neuen beitrag gelesen und ausprobiert. Leider funktioniert es bei mir nicht ganz.
    Bei der Kernel Modul erstellung kommt ein Fehler. Folgendes wird ausgegeben.

    /usr/src/kernel-modules/fglrx/kcl_wait.c: In function ‘KCL_WAIT_Remove’:
    /usr/src/kernel-modules/fglrx/kcl_wait.c:95:9: error: implicit declaration of function ‘kfree’
    /usr/src/kernel-modules/fglrx/kcl_wait.c: In function ‘KCL_WAIT_CreateObject’:
    /usr/src/kernel-modules/fglrx/kcl_wait.c:112:38: warning: initialization makes pointer from integer without a cast
    make[3]: *** [/usr/src/kernel-modules/fglrx/kcl_wait.o] Fehler 1
    make[2]: *** [_module_/usr/src/kernel-modules/fglrx] Fehler 2
    make[1]: *** [sub-make] Fehler 2
    make: *** [all] Fehler 2
    make: Leaving directory `/usr/src/linux-2.6.34-9-obj/x86_64/default‘

    ******************************
    Build of kernel module failed!
    ******************************

    Mit freundlichen Gruß

    Johnny

    • Hallo Johnny,

      das liegt bestimmt am neuen Kernel 2.6.34 unter openSUSE 11.3 RC1. Dazu habe ich gerade ein Patch generiert, der dieses Problem behebt.

      Bitte den Patch hier herunterladen:
      http://www.sebastian-siebert.de/downloads/ati-10.6-fixed-missing-include.patch

      Und im Artikel „openSUSE 11.2 – XOrg 7.5 (X-Server 1.8.0) + ATI Catalyst 10.6 (fglrx 8.741) laufen einwandfrei“ nach dem Punkt 5 der Installationsanleitung folgendes ausführen (Patch muss ebenfalls im Verzeichnis vorhanden sein):

      patch -p1 <ati-10.6-fixed-missing-include.patch

      Danach Punkt 6 nochmal ausführen.

      Jedoch benötige ich vorerst deine Mithilfe, weil ich mangels openSUSE 11.3 RC1 nicht testen kann. Wenn es einwandfrei funktioniert, dann werde ich den Patch in der Anleitung aufführen. Die Installations-DVD von openSUSE 11.3 RC1 lade ich gerade herunter, um es auf meiner Maschine zu installieren und zu testen.

      Gruß

      Sebastian

      • Jedoch benötige ich vorerst deine Mithilfe, weil ich mangels openSUSE 11.3 RC1 nicht testen kann. Wenn es einwandfrei funktioniert, dann werde ich den Patch in der Anleitung aufführen. Die Installations-DVD von openSUSE 11.3 RC1 lade ich gerade herunter, um es auf meiner Maschine zu installieren und zu testen.

        Ich habe den Patch selber nochmal unter openSUSE 11.3 RC1 getestet. Der Patch funktioniert. einwandfrei. Die Anleitung habe ich aktualisiert und dort auch nochmal den Patch zum Download freigegeben.

        @Johnny:
        Bitte nochmal nach der Anleitung gehen. Diesmal sollte es funktionieren.

        Gruß

        Sebastian

  3. Ich glaube das liegt dadran das ich keinen Kernel Header installiert habe… Leider ist er auch nicht auffindbar bei meinen Repos

    ich habe mein System per zypper dup aktualliesiert

  4. Jap der Patch funktioniert.. Leuft alles problemlos

    Mit Freundlichen Gruß

    Johnny

  5. Pingback: openSUSE 11.2 – XOrg 7.5 (X-Server 1.8.0) + ATI Catalyst 10.6 (fglrx 8.741) laufen einwandfrei

  6. Ich hab genau das obere Skript ausgeführt und überall stand ein grünes [ok].
    Als ich dann rebootete kam ich wieder in die Console. Hab dann das Troubleshooting ausgeführt und egal ob ich Single oder Dual Monitor ausführe kommt:

    Check for loaded fglrx kernel module
    Error: The kernel module „fglrx“ does not loaded …
    Try to probe the fglrx module…
    FATAL: Module fglrx not found.

    kann mir wer helfen und weiß woran das liegt bzw. was ich tun muss?

    • Hallo Mumie,

      Ich hab genau das obere Skript ausgeführt und überall stand ein grünes [ok].

      Von welcher openSUSE Version sprechen wir hier gerade? 11.2 oder 11.3?

      Wenn du openSUSE 11.3 meinst, dann solltest du dir lieber ein aktuelleres Skript herunterladen:
      http://www.sebastian-siebert.de/2010/06/18/opensuse-11-2-xorg-7-5-x-server-1-8-0-ati-catalyst-10-6-fglrx-8-741-laufen-einwandfrei/

      Als ich dann rebootete kam ich wieder in die Console. Hab dann das Troubleshooting ausgeführt und egal ob ich Single oder Dual Monitor ausführe kommt:

      Check for loaded fglrx kernel module
      Error: The kernel module “fglrx” does not loaded …
      Try to probe the fglrx module…
      FATAL: Module fglrx not found.

      kann mir wer helfen und weiß woran das liegt bzw. was ich tun muss?

      Um weitere Diagnose machen zu können, führe bitte folgende Schritte durch:

      1. Konsole starten und als root mit folgendem Befehl einloggen:

      # zum Superuser root werden
      su

      2. Diagnose-Skript ausführen:

      atigetsysteminfo.sh

      3. Diagnose-Datei /root/atisysteminfo-report.txt auf filebin.ca hochladen und den ausgegebenen Link hier posten.

      Bitte auch folgende Ausgaben hier posten von:

      rpm -qa | grep fglrx

      und

      hwinfo --gfxcard

      Gruß

      Sebastian

Die Kommentarfunktion ist geschlossen.