openSUSE – proprietären Grafik-Treiber AMD Catalyst 12.3 als RPM installieren

AMD Catalyst 12.3 (fglrx 8.951) wurde veröffentlicht. Das Skript makerpm-amd-12.3.sh steht ab sofort zum Download zur Verfügung und unterstützt 11.4 und 12.1.

Das Packaging Skript habe ich wegen einem Kompilierungsfehler beim Bau eines fglrx Kernelmodul unter dem Kernel 3.2.8+ und dem Kernel 3.3+ aktualisiert. Auf Grund des sehr knappen Zeitfenster konnten die Patches leider nicht mehr in AMD Catalyst 12.3 einfliessen. Erst im kommenden AMD Catalyst 12.4 werden die Patches von mir für openSUSE verfügbar sein und ab AMD Catalyst 12.5 werden diese auch offiziell für alle anderen Distributionen enthalten sein. Ja, mit dem makerpm-amd-Skript kann ich für euch sehr einfach, bequem und schnell fehlende Patches oder sinnvolle Erweiterungen via Packaging Skript Update nachliefern, wo ihr sonst Monate warten müsst. ;-)

Downloads:

Installationsanleitung:
http://de.opensuse.org/SDB:AMD/ATI-Grafiktreiber#Installation_via_makerpm-amd-Skript

Über das makerpm-amd-Skript

Das Skript makerpm-amd-12.3.sh ist sehr mächtig, robust und läuft vollautomatisch. Der AMD-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

Hilfe, es funktioniert nicht!

Bitte haltet folgende Regel ein:

  1. Bei der Eingabe der Befehle auf mögliche Tippfehler überprüfen.
  2. Möglicherweise ist die Lösung für das Problem im Wiki vorhanden.
  3. 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-amd-12.3.sh herunter und erstellt einen Report von eurem System in der Konsole:

su -c 'sh makerpm-amd-12.3.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.

Feedbacks sind wie immer willkommen. :-)

25 thoughts on “openSUSE – proprietären Grafik-Treiber AMD Catalyst 12.3 als RPM installieren

  1. Pingback: openSUSE: neues aus dem “SuS(i)E-Land” … die fünfte! | Lisufa' s Blog

  2. Ich kriege folgende Fehler:
    Compare SHA1 checksum of the AMD-Installer … [ FAILURE ]

    Dieser check sagt aber alles in Ordnung

    :~/Downloads> sha1sum -c makerpm-amd-12.3.sh.sha1
    makerpm-amd-12.3.sh: OK

    • Hallo Werner,

      bitte einmal den AMD Installer von Hand entfernen.

      rm amd-driver-installer*.sh

      Danach nochmal das Skript ausführen.

      Gruß

      Sebastian

  3. Ich habe das Problem, dass er zwar die RPM einwandfrei erstellt und installiert, dann aber bei der Compilierung des Kernelmoduls scheitert:

    Warning:
    kernel includes at /lib/modules/3.1.9-1.4-desktop/source/include not found or incomplete
    file: /lib/modules/3.1.9-1.4-desktop/source/include/asm-x86_64/compat.h

    /usr/src/kernel-modules/fglrx/2.6.x /
    rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
    make: *** /lib/modules/3.1.9-1.4-desktop/build: No such file or directory. Stop.

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

    Den ersten Fehler habe ich behoben gekriegt, indem ich von folgender URL den Inhalt in eine Textdatei kopiert habe: http://www.cs.fsu.edu/~baker/devices/lxr/http/source/linux/include/linux/compat.h
    Diese habe ich als compat.h gespeichert und als root in der Konsole das Verzeichnis erstellt, in dem der Compiler sie finden will und dahin verschoben.
    Danach hab ich die Kernelcompilierung mit /usr/bin/fglrx-kernel-build.sh nochmal propiert, wie mir die Konsolenausgabe empfohlen hat. Dabei erhielt ich dann folgenden Output:

    file /lib/modules/3.1.9-1.4-desktop/source/include/asm-x86_64/compat.h says:COMPAT_ALLOC_USER_SPACE=compat_alloc_user_space
    /usr/src/kernel-modules/fglrx/2.6.x /home/norman
    rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
    make: *** /lib/modules/3.1.9-1.4-desktop/build: No such file or directory. Stop.

    ******************************
    Build of kernel module failed!
    ******************************
    Das Erstellen eines leeren Verzeichnisses mit dem angegebenen Pfad brachte dann beim erneuten Versuch nur die Meldung:
    make: Entering directory `/lib/modules/3.1.9-1.4-desktop/build‘
    make: *** No targets specified and no makefile found. Stop.
    make: Leaving directory `/lib/modules/3.1.9-1.4-desktop/build‘
    Und wieder, dass der Build vom Kernelmodul fehlgeschlagen ist.

    Zu allem Übel habe ich nun überhaupt keine 3D-Beschleunigung mehr! Er kriegt den alten Radeon-Treiber zwar wieder installiert, aber er wird als deaktiviert angezeigt in YaST, und ebenso in glxinfo. Ich habe zwar eine einwandfreie 2D-Darstellung, aber 3D geht gar nicht mehr. Google Earth startet nicht mal mehr, und wenn ich WebGL Contents aufrufe kriege ich die Meldung, dass mein Browser es zwar unterstützt, es aber deaktiviert zu sein scheint und ich meine Videotreiber checken soll. Vor dem Versuch mit Catalyst hat Google Earth funktioniert, und WebGL zwar mit fehlerhafter Darstellung (v.A. Clippingfehler), lief aber auch. Jetzt geht – wie gesagt – gar kein 3D mehr.
    Neuinstallation von Mesa, X11 und dem Radeon-Treiber über die Paketverwaltung hat nichts gebracht. Natürlich hab ich auch nach jeder Treiberänderung brav das Notebook neu gestartet.

    Meine Graphikkarte ist übrigens eine Mobility Radeon HD 5670, falls das relevant sein sollte.

    Wäre schön, wenn du mir ne Lösung für das Problem hättest, damit ich volle 3D-Unterstützung krieg!

    Der Link zum Report: http://sprunge.us/ibTX

    • Hallo Norman,

      du hast einen fremden Kernel-Repo eingebunden. Der laufende Kernel (kernel-desktop 3.1.9) stimmt mit den installierten Kernel-Entwicklungspaket (kernel-devel 3.3.1 jng5) nicht überein.

      # OUTPUT (echo): Package: kernel
      ------------------------------------------------
      kernel-default-3.3.1~jng5-8.x86_64
      kernel-default-devel-3.3.1~jng5-8.x86_64
      kernel-desktop-3.1.9-1.4.1.x86_64
      kernel-desktop-devel-3.3.1~jng5-8.x86_64
      kernel-devel-3.3.1~jng5-8.noarch
      kernel-firmware-20111025git-1.7.1.noarch
      kernel-source-3.3.1~jng5-8.noarch
      kernel-syms-3.3.1~jng5-8.1.x86_64
      kernel-xen-devel-3.3.1~jng5-8.x86_64
      ================================================

      Entweder du aktualisierst den laufenden Kernel auf 3.3.1 jng5 oder du downgradest alle Kernel Pakete auf 3.1.9.

      Gruß

      Sebastian

  4. Hallo Sebastian.

    Ich bin per Zufall auf einen Fehler in deinem Skript gestoßen, da mir über die Ostertage nichts besseres einfiel als mein System mal wieder neu aufzuspielen. (Wollte dann doch lieber wieder weg vom Tumbleweed :wink: .)

    Nun zum Fehler.
    Das Kernelmodul wird leider nicht gebaut, wenn man beim frisch aufgesetzten System das Skript ausführt. Es kommt zu einem Konflikt zwischen dem installierten und aktualisierten Kernelmodul (3.1.9-1.4-desktop) und den zusätzlichen durch das Skript installierten Kernelmodulen wie bspw. kernel-xen-devel, kernel-pae-devel usw.

    Diese zusäzlichen Kernelmodule werden nicht automatisch auf die Version 3.1.9-1.4 aktualisiert. Was zum oben beschriebenen Problem führt.

    Nachdem ich die übrigen Kernelversion über Yast aktualisiert hatte lief alles wie geschmiert.

    gruß Hennes

    • Hallo Hennes,

      darüber bin ich auch gestolpert. Laut den Bugreports, die ich von den Usern erhalte, taucht immer wieder genau dieser Fehler auf, weil die User z.B. kein Kernel-Update durchgeführt haben (wie in deinem Fall) oder einen weiteren Kernel-Repo eingebunden haben. Daher kommen diese merkwürdigen Versionsunterschiede des Kernels zustande.

      Dies ist leider ein Problem bei der internen Definition des Kernel-RPM im Zusammenhang einer Multi-Kernel-Version, dass heute standardmäßig voreingestellt ist. Als es noch keine Multi-Kernel-Version gab, hatte zypper einfach die gleiche Kernel-Version genommen, die auch installiert war. Heute geht es offenbar mit zypper genau so etwas gar nicht. Ich bastel noch an einer Lösung, der die installierten Kernel-RPM ausliest und die korrekte Kernel-Version (Übergabe der installierten Kernel-Versionen an zypper) installiert. Scheinbar ist zypper nicht in der Lage genau das selbst herauszufinden und die passenden Kernel-Pakete zu installieren. zypper verlässt sich zu sehr auf die Require-Parameter in der RPM. :-?

      Gruß

      Sebastian

      • Hallo Hennes,

        ich habe eine Lösung gefunden und habe es in das Skript implementiert. Das Problem mit dem Chaos der Kernel-Versionen sollte nun der Vergangenheit angehören. Ich konnte zypper überreden, nur die Kernel-Pakete zu installieren, die auch tatsächlich mit der gleichen Version installiert sind. Dazu musste ich zuerst die installierten Kernels via RPM ermitteln und dann explizit die Kernel-Version an zypper mitgeben. Es ist eigentlich ein total krasser zypper-Hack.

        zypper -v install -C -t package -t patch fglrx*.rpm kernel-source-3.1.0 kernel-syms-3.1.0

        Ich werde mal mit den Entwicklern von zypper und den Kernel-Maintainer von openSUSE reden, dass man für die Kernel-Pakete eine eigene Prüfung in zypper einbaut, um die korrekte Paket-Version zur Installation zu ermitteln.

        Gruß

        Sebastian

  5. Das extreme Ruckeln im Vollbildmodus von Flash-Movies bleibt. Hier nochmal zusammenfassend:

    openSUSE 12.1 mit KDE 4.7.4 release 13 (Bis auf dieses KDE, LibreOffice und Packman habe ich nur die Standard-Repos.)
    flash-player und flash-player-kde4, jeweils 11.2.202.228-12.1, aus openSUSE Update
    Firefox 11.0 wurde verwendet, um die Videos abzuspielen
    CPU: AMD Phenom II X4 920 mit 4 Kernen
    Grafikkarte: ATI Technologies Inc RV770 [Radeon HD 4850]

    Das Ruckeln tritt ausschließlich im Vollbildmodus und nicht mit den oss-Treibern auf. Ebenfalls funktionieren z. B. HD-Filme mit VLC im Vollbildmodus. Bei Ruckeln belegt „plugin-container“ einen ganzen CPU-Kern.

    Viele Grüße,

    Dennis

    • Hallo Dennis,

      ich kann leider dein Problem auf meiner Maschine noch immer nicht nachvollziehen. Was mir aber auffällt ist, dass im Systemmonitor beim Abspielen eines HD 1080p Flash-Video alle vier CPU-Kerne (AMD Phenom 9850 Quad-Core) gleichmäßig (25 % Last) beansprucht. Bei dir offenbar nur einen einzigen Kern. Mein Bauch und mein Köpfchen sagt, dass da evtl. was nicht stimmt. Welchen Kernel verwendest du? Ist es eine 32-bit oder 64-bit openSUSE 12.1?

      Gruß

      Sebastian

  6. Hallo Sebastian,

    Ich verwende die 32-Bit-Version von openSUSE 12.1. Als Kernel kommt 3.1.9-1.4-desktop zum Einsatz, aber auch mit dem 3.1.9-1.4-default tritt dasselbe Problem auf.

    Screenshots von der CPU-Auslastung gibt es hier: http://v34755.1blu.de/public/flash/

    Bild1 bis 5: ATI-Treiber, Vollbild
    Bild 6: ATI-Treiber, Standard
    Bild 7: oss-Treiber, Standard
    Bild 8: oss-Treiber, Vollbild

    Jedes Mal wurde mit Firefox dasselbe 720p-Youtube-Video abgespielt. Standard = normale Youtube-Größe. Die letzten paar Sekunden musst du ignorieren, da habe ich immer das Screenshot gemacht.

    In Bild 5 sieht man, dass der Scheduler auch gern mal den ausgelasteten Kernel wechselt, jedoch immer nur einer belastet bleibt. Wenn man sonst Bild 1 bis 6 mit 7 und 8 vergleicht, sieht man, dass der oss-Treiber die Kerne viel gleichmäßiger auslastet. Auch zeigt das Video in Standard-Größe mit dem ATI-Treiber viel mehr schlieren, obwohl es an sich flüssig läuft. Auch der Fensteraufbau (ich habe die KDE-Arbeitsflächen-Effekte deaktiviert) ist mit dem ATI-Treiber recht langsam.

    Einen Report (desktop-Kernel, ATI-Treiber frisch installiert, reboot, ein paar Screenshots gemacht und dann den Report erstellt) habe ich hier hochgeladen: http://sprunge.us/hhKc (nur mein voller Name ist zensiert)

    Vor ein paar ATI-Versionen hatten doch noch mehr Probleme mit ruckelnden Flashvideos. Woran lag es denn dort?

    Viele Grüße,

    Dennis

  7. Hallo Sebastian,

    nachdem ich nun ewig am rumprobieren bin. Und auch Google und sonstwo gesucht habe, ist das Problem mit der Helligkeistregelung bei mir immer noch aktuell.
    Tips wie in die Zeile für die Kernelparameter beim Start (nomodeset und acpi_backlight=vendor ) funktionieren mit dem freien Radeon-Treiber. Aber sobald ich den Ati-Treiber installiere, funktioniert die Helligkeitsregelung nicht mehr.

    Siehe: http://sprunge.us/GTZR

    Ich verstehe auch nicht so recht, warum nach der Treiberinstallation auf einmal in der Datei xsession-errors „No outputs have backlight property“ steht, obwohl es vorher beim freien radeon-Treiber nicht steht. (Logisch das dann auch der Backlighthelper nicht funktioniert)
    Zum Glück regelt aber der Kernel oder Ati-Treiber bei dem Kernelparameter acpi_backlight=vendor die Helligkeit beim Start nicht auf halb runter, sodass die Helligkeit auf 100% bleibt, die ich vorher beim Aufruf des BIOS mit den Fn-Tasten eingestellt habe.
    Ohne den Parameter wird kurz nach dem Start von Linux der Monitor abgedunkelt. (auf ca 50%) Und läßt sich danach auch nicht mehr ändern.
    Versucht man in der Konsole: xbacklight -set 100 oder sowas bekommt man auch nur wieder die Meldung: No outputs have backlight property

    Viele Grüße
    SuSi-Fan

  8. Hallo,

    ich hab da mal eine Frage an Sebastian oder jeden anderen, der damit Erfahrung hat.

    Ich überlege mir gerade, ob ich mir eine neue AMD/ATI-Grafikkarte zulegen soll (wahrscheinlich eine HD 6xxx).
    Das Problem, das mich dabei quält, ist die Frage, ob openSUSE 12.1 bzw. der Catalyst-Treiber einen Wechsel einfach so mitmachen (wie unter Win bisher üblich).

    Hintergrund meiner Bedenken ist ein zurückliegender Austausch des MB, CPU und RAM. Das hat mir damals openSUSE 11.1 oder 11.3 (mit Mesa-Treiber) übelgenommen und ich durfte openSUSE neu installieren.

    Oder muss ich erst Catalyst deinstallieren und nach dem Grafikkartentausch wieder installieren?

    Danke für eure Erfahrungen dazu.

    Grüße

    • Hallo Sebastian,

      du kannst ohne Probleme eine AMD Grafikkarte der HD-Reihe 6xxx tauschen. Ich habe auch meine Radeon HD 3870 auf HD 4870 getauscht und habe nach dem Start immer noch 3D-Funktionalität gehabt. Eine Reinstallation des Treibers ist also nicht nötig.

      Gruß

      Sebastian

      • Hi,

        klasse. :-D In meinen schlimmsten Befürchtungen habe ich schon vor einem schwarzen Bildschirm gesessen und nicht gewusst, was ich hätte machen sollen.

        Grüße

  9. Hi Sebastian,
    bin neu bei Suse , ansonsten normalo anwender in Sachen Linux.
    Ich hab das gleiche (oder ähnliches problem) wie der Norman.
    Hast du ein Tip wo ich gucken kann wie ich den Kernel up/bzw downgraden kann(soll) ?
    Anbei der Link zum report: http://sprunge.us/PDHX

    Fehler ist halt das Build & Install nicht funktionieren.
    Danke schonmal für die Hilfe !

  10. Hi,

    ich hoffe das wird kein doppelpost, der andere ist leider nicht zu sehen :(

    Ich habe wohl ein ähnliches problem wie der Norman weiter oben. Irgentwie will der nicht Treiber nicht so wie ich will :-?
    Build & Install kriegt der nicht hin.
    Da ich mehr oder minder ein einfacher Linuxer bin hab ich zwar versucht so was raus zubekommen aber bei nem Kernel downgrade oder upgrade wie oben beschrieben muss ich passen.
    Kannst du mir vielleicht nen Tipp geben wo ich das „verständlich“ nachlesen kann , bzw sagen anhand des logs ob ich dies tatsächlich tun muss.

    Vielen Dank im vorraus
    hier der Link: http://sprunge.us/hdfF

    Gruß
    Dennis

    • Hallo Dennis,

      es war dein befürchteter Doppelpost. Ich musste erst deinen Eintrag freischalten, weil dies noch dein erster Kommentar ist. ;-)

      Im Report sehe ich, dass z.B. von gcc keine Ausgabe zur Versionsnummer enthalten ist. Es sieht so aus, dass das gcc-Paket nicht installiert wurde. Warum auch immer. Hast du es evtl. zur Installation gesperrt?

      Ich würde dir empfehlen, dass fglrx-Paket einmal über YaST zu entfernen und erneut zu installieren und darauf achten, dass die Pakete gcc und patch installiert werden. Dies ist zwingend notwendig, um den fglrx Treiber zu bauen.

      Gruß

      Sebastian

      • Hi Sebastian,

        vielen dank für deine Antwort. Nach einem intensiven Crashkurs in sachen Linux 8-O , hab ich nun die Lösung gefunden. Positiv ist dabei : du bist unschuldig :wink:
        Ich hatte Datenbank fehler (db4 error)(über Yast Gui nur schwer zu erkennen gewesen), die verhinderten das Pakete etc geladen & gebaut werden konnten. nach erneuter Instalation mit anderer Oberfläche & ähnlichen Problemen hatt sich herrausgestellt das der Fehler an einer defekten HDD lag ! Bei intensiver Nutzung hat diese nämlich nur „murks“ gebaut, nach tausch der besagten HDD läuft nun alles reibungslos inkl. deinem Skript wofür ich dir an dieser stelle auch noch mal danke sagen möchte.
        DANKE für deine Antwort & dein Skript ! Mach weiter so !

        in zufriedenheit verbleibend
        Dennis :-D :-D :-D

  11. Hallo Sebastian.

    Auch wenn ich befürchte, dass sich mal wieder gar nix geändert hat.

    Der neue Treiber ist draußen.

    Gruß Hennes

  12. Hallo,

    kann mir jemand helfen.

    Ich habe keine Erfahrung mit SuSE. ich mir 12.2 geladen läuft auch alles bis auf die Grafikkarte Radeon HD 6670.
    Habe zwar AMD Catalyst 12.2 (fglrx 8.950) heruntergeladen und habe versuch es zu installieren aber nichts passiert.
    Wollte eigentlich von diesen Windows mich verabschieden aber das es so kompliziert einen Treiber zu laden , mein lieber man.
    Als Laie keine Chance .

    Ich es kann mir geholfen werden. Vielen Dank im voraus.

    Gruß Blume

Die Kommentarfunktion ist geschlossen.