openSUSE – Hardware-Videobeschleunigung via XvBA vom AMD Catalyst nutzen

Genau, man hat richtig gelesen. Die Videobeschleunigung ist jetzt mit openSUSE und AMD Catalyst auch möglich. ;-) Wer hat nicht neidisch auf die proprietären Betriebssystemen geschaut, auf der man die hochauflösenden Filme (z.B. in H.264) über die Hardware-Videobeschleunigung z.B. via DXVA ohne Ruckeln anschauen konnte. In diesem Artikel werde ich euch zeigen, wie es auch auf openSUSE funktionieren kann und berichte nun wie ich es zum Laufen bekommen habe und vor allem wie man es installiert und einrichtet. :-)

AMD Catalyst verwendet die XvBA-Schnittstelle (X-Video Bitstream Acceleration) für die Videobeschleunigung. Diese Schnittstelle hat AMD für die hauseigenen Grafikkarten entwickelt und ist die Antwort auf die VDPAU-Schnittstelle (Video Decode and Presentation API for Unix) von NVIDIA. Das gute daran, die Schnittstellenbeschreibungen sind Open-Source. ;-)

Auf der Suche nach einer Anbindung zwischen AMDs XvBA und VA API (Video Acceleration API) bin ich auf das xvba-video Projekt gestoßen. Die Schnittstelle zwischen XvBA und VA API kann momentan die Videoformate H.264 wie auch VC-1 behandeln und an die Grafikkarte durch reichen. Es gab nur ein Problem, dass die Schnittstelle komplett auf einem Debian-System programmiert wurde und für openSUSE etwas angepasst werden musste. Dann gab es noch eine weitere Hürde, dass die VA API die XvBA-Anbindung nicht laden konnte. Wenn man hier jetzt die Videobeschleunigung im VLC Media Player aktiviert, dann stürzt VLC grandios ab. Also, musste ein Workaround in Form einer Shellvariable her, um VA API explizit die fglrx-Schnittstelle zu aktivieren:

LIBVA_DRIVER_NAME="fglrx"

In der Konsole habe ich überprüft, ob die XvBA-Schnittstelle in VA API geladen werden konnte (Dieses Tool befindet sich im Paket vaapi-tools):

vainfo

Die Ausgabe bestätigt dies:

libva: libva version 0.32.0
libva: User requested driver 'fglrx'
libva: Trying to open /usr/lib64/dri/fglrx_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA API version: 0.32
vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.8.0
vainfo: Supported profile and entrypoints
      VAProfileH264High               : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD

Mit all dieser Erfahrung habe ich (man kennt es ja nicht anders ;-) ) ein Paket namens xvba-video gebaut. Das erste Problem war, wie man das Paket für openSUSE 11.3, 11.4 und auch Tumbleweed mit jeweils für 32-bit und 64-bit Systemen baut und regelmäßig aktualisiert. Mein erste Gedanke war das Paket auf unserem openSUSE Build Service (OBS) zu bauen und hosten zu lassen. Leider benötigt das Paket einige Teile vom AMD Catalyst, um korrekt gegen XvBA von AMD zu linken. Da AMD Catalyst leider nicht Open-Source ist, darf daher dieser gewisse Teil nicht für die Öffentlichkeit verfügbar sein und könnte auf dem OBS Probleme machen.

Da fällt mir noch PackMan ein und habe Pascal Bleser (openSUSE Mitglied) vom PackMan-Team gefragt, ob er mein Paket unterstellen könnte. Er hat zugestimmt und mir ein Account zum PackMan Build Service eingerichtet. Der PackMan Build Service baut auf das openSUSE Build Service auf und lässt sich zu meiner Freude genauso bedienen. Um trotzdem den Closed-Source Teil aus lizenztechnischen Gründen nicht öffentlich verfügbar zu machen, habe ich das Paket aufgeteilt. Es wird nur zur Bauzeit geladen und gelinkt. Diese vorgehensweise halte ich momentan für sinnvoll. Da man sowieso AMD Catalyst auf dem Rechner installiert hat, ist die statische XvBA-Library identisch.

Hinweis: Um die Hardware-Videobeschleunigung via XvBA zu nutzen, muss ein recht aktueller AMD Catalyst Treiber installiert sein. Eine aktuelle Installationsanleitung zu AMD Catalyst gibt es auch in diesem Blog, bitte hierzu die Suchfunktion benutzen.

PackMan-Repo einrichten

Falls man noch kein PackMan-Repo eingerichtet hat, werde ich in diesem Abschnitt die notwendigen Schritte anleiten.

PackMan-Repo via YaST einrichten

  1. Über das YaST-Kontrollzentrum „Software-Repositories“ starten.
  2. Unten links auf Hinzufügen klicken.
  3. Als Medientyp „Community/Gemeinschafts-Repositories“ auswählen und auf Weiter klicken.
  4. Den Eintrag „Packman-Repository“ einhaken und auf Okay klicken. Ggfs. im nächsten Dialogfenster das GPG-Schlüssel vom Repo importieren.
  5. Dann in der Liste „Packman-Repository“ auswählen und die Priorität auf z.B. 60 setzen. Somit werden neue Pakete bevorzugt aus diesem Repo quasi vor OSS bzw. NON-OSS wie auch das Update-Repo installiert.
  6. Abschließend auf Okay klicken

PackMan-Repo via zypper einrichten

  1. PackMan-Repo hinzufügen:
    zypper ar -f 'http://packman.inode.at/suse/openSUSE_11.4/' 'PackMan'
  2. Priorität z.B. auf 60 ändern:
    zypper mr -p 60 'PackMan'

VideoLAN-Repo einrichten

Falls man noch kein VideoLAN-Repo eingerichtet hat, werde ich in diesem Abschnitt die notwendigen Schritte anleiten.

VideoLAN-Repo via YaST einrichten

  1. Über das YaST-Kontrollzentrum „Software-Repositories“ starten.
  2. Unten links auf Hinzufügen klicken.
  3. Als Medientyp „URL angeben“ auswählen und auf Weiter klicken.
  4. Den Repository-Namen eingeben: VideoLAN
  5. Die URL eingeben: http://download.videolan.org/pub/videolan/vlc/SuSE/11.4/
  6. Auf Weiter klicken. Ggfs. das GPG-Schlüssel vom Repo importieren.
  7. Dann in der Liste „VideoLAN“ auswählen und die Priorität auf z.B. 60 setzen. Somit werden neue Pakete bevorzugt aus diesem Repo quasi vor OSS bzw. NON-OSS wie auch das Update-Repo installiert.
  8. Abschließend auf Okay klicken

VideoLAN-Repo via zypper einrichten

  1. VideoLAN-Repo hinzufügen:
    zypper ar -f 'http://download.videolan.org/pub/videolan/vlc/SuSE/11.4/' 'VideoLAN'
  2. Priorität z.B. auf 60 ändern:
    zypper mr -p 60 'VideoLAN'

Installation von xvba-video, VLC 1.2.0 (Beta) + Codecs

Jetzt kommen wir zur eigentlichen Installation von xvba-video, VLC Media Player, FFmpeg, unter anderem auch einige Codecs wie z.B. H.264, usw. Warum installiert man eigentlich das Paket FFmpeg und die Codecs vom PackMan-Repo und VLC Media Player vom VideoLAN-Repo? Der Grund ist, dass FFmpeg aus dem PackMan-Repo umfassend mit einigen Codecs ausgestattet sind und der FFmpeg vom VideoLAN eben nicht ganz so umfangreich ist. Warum installiert man nun eine Beta-Version von VLC Media Player? Die Beta vom VLC ist die einzige Version, die wirklich mit VA API und FFmpeg reibungslos funktioniert.

Via YaST installieren

  1. Über das YaST-Kontrollzentrum „Software installieren oder löschen“ starten.
  2. Dann oben links auf Anzeigen / Installationsquellen klicken und in dieses neue Tab wechseln.
  3. Auf der linken Seite das PackMan-Repo auswählen.
  4. Dann den sekundären Filter auf „Suche“ und den Suchmodus auf „Beginnt mit“ stellen .
  5. Folgende Pakete im Suchfeld eingeben und zur Installation auswählen:
    • ffmpeg
    • xvba-video

    Die notwendigen Codecs werden automatisch mit ausgewählt.

  6. Auf der linken Seite wählt man nun das VideoLAN-Repo aus.
  7. Folgendes Paket im Suchfeld eingeben und zur Installation auswählen:
    • vlc-beta
  8. Abschließend die Installation per Klick auf Akzeptieren starten.
  9. Den Computer neustarten.

Via zypper installieren

  1. Die Pakete ffmpeg und xvba-video aus dem PackMan-Repo installieren:
    zypper in --from 'PackMan' ffmpeg xvba-video
  2. Die Auswahl der Software mit Ja (j) bestätigen.
  3. Das Pakete vlc-beta aus dem VideoLAN-Repo installieren:
    zypper in --from 'VideoLAN' vlc-beta
  4. Und wieder die Auswahl der Software mit Ja (j) bestätigen.
  5. Den Computer neustarten.

VLC für die Hardware-Videobeschleunigung konfigurieren

  1. VLC Media Player starten
  2. Dann im Menü auf Extras / Einstellungen klicken.
  3. Unter links die Option „Einstellungen zeigen“ auf Alle auswählen, um alle Optionen anzeigen zu lassen (Experten-Modus).
  4. Danach in der Menü-Sidebar auf Input/Codecs / Videocodecs / FFmpeg durchhangeln und im Abschnitt Decoding die „Hardware Dekodierung“ aktivieren.
  5. Jetzt hangelt man sich unter Video / Ausgabemodule durch und das Videoausgabe-Modul „GLX Videoausgabe (XCB)“ auswählen.
  6. Abschließend auf Speichern klicken und den VLC Media Player neustarten.

Ein kleiner Video-Test kann Aufschluß bringen, ob die Hardware-Videobeschleunigung wirklich funktioniert.

http://www.h264info.com/clips.html

Sobald man ein Video von der o.g. Webseite gestartet hat, kann man den Prozess vom VLC Media Player im Systemmonitor beobachten. Es soll auf jeden Fall ein stabiler Wert für VLC sein (ca. 10% CPU Last anstatt 30%-40% je nach CPU) und nur sehr geringfügig schwanken.

Bitte teilt mir eure Erfahrung und Feedbacks zu diesem Thema mit. Vielen Dank.

Have a lot of fun! ;-)

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

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

AMD Catalyst 11.8 (fglrx 8.881) wurde veröffentlicht. Das Skript makerpm-ati-11.8.sh steht ab sofort zum Download zur Verfügung.

Wichtige Änderungen in AMD Catalyst 11.8 (eine öffentliche ChangeLog seitens AMD für den Linux-Treiber gibt es leider noch nicht):

  • Die einzige Neuerung, die öffentlich zugänglich ist, dass statt ATI Catalyst jetzt AMD Catalyst heißt.
  • Beim makerpm-ati-Skript habe ich das Packaging Skript aktualisiert, um Probleme mit der neuen Einstellung zum Kernel-Mode-Setting unter Tumbleweed und openSUSE 12.1 vorzubeugen.
  • Bruno Friedmann (alias tigerfoot) hat mir ein Patch für das makerpm-ati-Skript zukommen lassen, dass den Bau der Pakete in einer virtuellen Maschine ohne AMD Grafikkarte ermöglicht. (@Bruno: Vielen Dank!)

Für AMD Catalyst 11.8 stelle ich wieder ein Cheat Sheet bereit, um einen schnellen Überblick über die Features / Einstellmöglichkeiten zu bekommen.
Download: ati-catalyst-11.8-cheat-sheet.pdf

In eigener Sache:
Bruno Friedmann (openSUSE Mitglied tigerfoot und ein Fan vom makerpm-ati-Skript, um die Pakete für sein inoffizielles AMD-Catalyst-Repo zu bauen) hat einen Spendenaufruf für eine neue AMD Radeon HD Grafikkarte und einem zweiten TFT-Monitor gestartet, um mir zu helfen meinen Computer aufzurüsten. Im Chat mit Bruno kam meine Ausstattung des Computers zur Sprache und so kam er zu dem Schluss, dass ich dringend neue Hardware benötige. ;-) In meiner Freizeit teste ich regelmäßig die neuesten AMD Beta Treiber, implementiere neue Funktionen im Packaging Skript inkl. Kernel-Patches vom AMD Installer wie auch im makerpm-ati-Skript und helfe regelmäßig anderen openSUSE-User, die Probleme mit ihrer AMD Radeon HD Grafikkarte und AMD Catalyst haben. Unabhängig ob ein Treiber-Fehler reproduzierbar ist, berichte ich auch direkt an die AMD-Entwickler, wo es noch klemmt.

Meine derzeitige Ausstattung (Radeon HD 3870 + 1 TFT-Monitor) ist leider nicht mehr zeitgemäß. Viele User verwenden bereits 2 Monitore und haben zusätzlich noch eine moderne Grafikkarte (AMD Radeon HD 69xx). Um alle Grafik-Tests mit einem breiten Spektrum an Konfigurationsmöglichkeiten mit dem AMD Beta Treiber durchführen zu können, benötige ich diese Ausstattung. Für euch ist es von Vorteil, dass ich euch weiterhin auf diesem Gebiet helfen kann. Außerdem kann ich dann auch im Multi-Monitor-Bereich testen. :-)

Wer spenden möchte, kann es gerne hier tun: http://pledgie.com/campaigns/15879
Die 3 großzügigsten Spender bekommen je ein USB-Stick mit vorinstallierter openSUSE 11.4 (wahlweise GNOME oder KDE 4 reloaded) und wird von Bruno zur Verfügung gestellt.

Bruno hat schon mal vorgerechnet, dass von den 14.000 Usern, die das vorgebaute RPM-Paket vom AMD Catalyst aus seinem Repo installieren, theoretisch jeder knapp 0,05 € Spenden müsste, um auf den Spenden-Betrag von 650,- € zu kommen. Wenn jeder für einen kleinen Obolus mitmacht, ist der Betrag schnell erreicht. :-)

Ich sage hier schon mal an alle Spender vielen vielen Dank für die Unterstützung. ;-) Einen besonderen Dank geht an Bruno Friedmann für seine Idee und die Durchführung der Hardware-Spende. Ich werde hierzu weiter berichten. :-D

Click here to lend your support to: Funding ATI-AMD fglrx packager Sebastian Siebert and make a donation at www.pledgie.com !

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.

  1. das RPM mit dem Skript makerpm-ati-11.8.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. ;-)

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:

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

su -c 'sh makerpm-ati-11.8.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.8.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.

  1. Das Skript herunterladen:
    wget http://www.sebastian-siebert.de/downloads/makerpm-ati-11.8.sh
  2. Die Prüfsummendatei herunterladen:
    wget http://www.sebastian-siebert.de/downloads/makerpm-ati-11.8.sh.sha1
  3. Die Prüfsummendatei gegen das Skript prüfen:
    sha1sum -c makerpm-ati-11.8.sh.sha1

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

    makerpm-ati-11.8.sh: OK
  4. Die Rechte des Skriptes ändern und ausführbar machen:
    chown root:root makerpm-ati-11.8.sh
    chmod 744 makerpm-ati-11.8.sh
  5. Das Skript mit dem Argument -i ausführen. Das RPM-Package wird im Anschluß automatisch installiert (bzw. aktualisiert).
    ./makerpm-ati-11.8.sh -i
  6. 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:

  1. 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-8-x86.x86_64.run
    Optional: Das System im Runlevel 3 starten und als „root“ einloggen oder per init 3 wechseln.
  2. Den Bau des RPM-Packages anstoßen:
    sh ./ati-driver-installer-11-8-x86.x86_64.run --buildpkg SuSE/SUSE-autodetection
  3. Das RPM-Package installieren:
    zypper install fglrx*8.88*.rpm
  4. Den Rechner neustarten:
    reboot

Troubleshooting:

  1. Nach dem Booten sieht man die Konsole (Problem mit der Konfiguration des X-Servers)
  2. Nach dem Booten hat man einen schwarzen Bildschirm (Problem mit dem Kernel-Mode-Setting)
  3. Arbeitsflächen-Effekte (Compositing) in KDE 4.4 bzw. 4.5 ist nicht aktiviert
  4. Arbeitsflächen-Effekte (Compositing) in KDE 4.5 lassen sich gar nicht mehr aktivieren
  5. In Firefox oder Thunderbird erscheinen schwarze Flächen
  6. Ein Wasserzeichen erscheint unten rechts
  7. Der Treiber unterstützt meine Grafikkarte nicht. Was mache ich jetzt?
  1. 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.8.sh -c single

    Bei zwei Monitore (Dual-Modus):

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

    Danach den Rechner neustarten.

    Fortgeschrittene Variante:

    1. X-Server-Konfiguration verschieben, falls vorhanden:
      mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
    2. 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
  2. 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.8.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

      Anschließend die Initial Ramdisk neubauen lassen:

      mkinitrd
  3. 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.8 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.

  4. 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

  5. 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.8.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.8.sh -old2ddriver no
  6. Fortgeschrittene Variante:

    aticonfig --del-pcs=DDX,ForceXAA
  7. 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.

  8. 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. :-)

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

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

ATI Catalyst 11.7 (fglrx 8.872) wurde veröffentlicht. Das Skript makerpm-ati-11.7.sh steht ab sofort zum Download zur Verfügung.

Wichtige Änderungen in ATI Catalyst 11.7 (eine öffentliche ChangeLog seitens AMD für den Linux-Treiber gibt es leider noch nicht):

  • ATI Catalyst 11.7 unterstützt bis einschließlich Kernelversion 3.0
  • Die Unterstützung von openSUSE 11.2 ist wie bereits angekündigt jetzt weggefallen

Für ATI Catalyst 11.7 stelle ich wieder ein Cheat Sheet bereit, um einen schnellen Überblick über die Features / Einstellmöglichkeiten zu bekommen.
Download: ati-catalyst-11.7-cheat-sheet.pdf

Inhaltsverzeichnis

Einleitung

Die Anleitung funktioniert mit openSUSE 11.2, 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.

  1. das RPM mit dem Skript makerpm-ati-11.7.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. ;-)

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 ATI 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:

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

su -c 'sh makerpm-ati-11.7.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.7.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
-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 ATI 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.
-ux openSUSE 11.2: Nur den gepatchten X-Server installieren. Verbessert die Zusammenarbeit mit dem fglrx-Treiber. (empfohlen)
-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.

  1. Das Skript herunterladen:
    wget http://www.sebastian-siebert.de/downloads/makerpm-ati-11.7.sh
  2. Die Prüfsummendatei herunterladen:
    wget http://www.sebastian-siebert.de/downloads/makerpm-ati-11.7.sh.sha1
  3. Die Prüfsummendatei gegen das Skript prüfen:
    sha1sum -c makerpm-ati-11.7.sh.sha1

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

    makerpm-ati-11.7.sh: OK
  4. Die Rechte des Skriptes ändern und ausführbar machen:
    chown root:root makerpm-ati-11.7.sh
    chmod 744 makerpm-ati-11.7.sh
  5. Das Skript mit dem Argument -i ausführen. Das RPM-Package wird im Anschluß automatisch installiert (bzw. aktualisiert).
    ./makerpm-ati-11.7.sh -i
  6. 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 (openSUSE 11.2: linux-kernel-headers)
  • kernel-source
  • kernel-{default,desktop,pae}-devel
  • kernel-syms

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

  1. 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-7-x86.x86_64.run
    Optional: Das System im Runlevel 3 starten und als „root“ einloggen oder per init 3 wechseln.
  2. Den Bau des RPM-Packages anstoßen:
    sh ./ati-driver-installer-11-7-x86.x86_64.run --buildpkg SuSE/SUSE-autodetection
  3. Das RPM-Package installieren:
    zypper install fglrx*8.87*.rpm
  4. Den Rechner neustarten:
    reboot

Troubleshooting:

  1. Nach dem Booten sieht man die Konsole (Problem mit der Konfiguration des X-Servers)
  2. Nach dem Booten hat man einen schwarzen Bildschirm (Problem mit dem Kernel-Mode-Setting)
  3. Arbeitsflächen-Effekte (Compositing) in KDE 4.4 bzw. 4.5 ist nicht aktiviert
  4. Arbeitsflächen-Effekte (Compositing) in KDE 4.5 lassen sich gar nicht mehr aktivieren
  5. In Firefox oder Thunderbird erscheinen schwarze Flächen
  6. Ein Wasserzeichen erscheint unten rechts
  7. Der Treiber unterstützt meine Grafikkarte nicht. Was mache ich jetzt?
  1. 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.7.sh -c single

    Bei zwei Monitore (Dual-Modus):

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

    Danach den Rechner neustarten.

    Fortgeschrittene Variante:

    1. X-Server-Konfiguration verschieben, falls vorhanden:
      mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
    2. 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
  2. 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.7.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

      Anschließend die Initial Ramdisk neubauen lassen:

      mkinitrd
  3. 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/ATI Catalyst 11.7 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.

  4. 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

  5. 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.7.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.7.sh -old2ddriver no
  6. Fortgeschrittene Variante:

    aticonfig --del-pcs=DDX,ForceXAA
  7. 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.

  8. 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. :-)

openSUSE wurde von der c’t getestet und falsch dargestellt

Ich habe mir das erste Mal wieder in diesem Jahr die c’t vom 18.07.2011 / Ausgabe Nr. 16 von der Tanke um die Ecke gekauft, weil mich das Thema „Linux-Distributionen“ (Seite 128 – 133) interessierte. Als ich dann anfing den Artikel zu lesen, bin ich schon gleich zu Beginn über einige Ungereimtheiten im Artikel gestoßen und fühle mich genötigt, dort zu einigen Punkten richtig zu stellen. :evil: Dazu später mehr.

Vorweg möchte ich sagen, dass im Artikel über die Installation des proprietären fglrx-Treiber bzw. vom ATI Catalyst unter openSUSE angesprochen wurde. In dem Artikel wurde sogar unter dem Weblink www.ct.de/1116128 die Installation des fglrx-Treiber für openSUSE 11.4 auf dem openSUSE-Blog lizard verwiesen. Folgt man dem Link, so wird man unweigerlich im openSUSE-Blog-Artikel auf meinen Blog hingewiesen. Soviel zu Werbung in eigener Sache. :-)

Jetzt komme ich zu den Recherche-Fehlern im Zusammenhang mit openSUSE im Artikel der c’t, worüber ich mal wieder nicht glücklich bin. :(

Liebe c’t-Redaktion,

openSUSE wird seit 2006 immer schon so geschrieben und nicht wie im Artikel OpenSuse. Selbst sogar die Wikipedia-Community hat es richtig geschrieben. :-?

Der tabellarische Distributionsvergleich (Seite 129), in der die Eigenschaften von openSUSE neben den anderen dargestellt werden, weist eklatante Schwächen in Sachen Recherche auf. Beispiele? :?: Gerne. :arrow:

Die Kernel-Version 2.6.37.1 im Artikel ist ein älterer Kernel angegeben, als derzeit im Update-Repo (Kernel 2.6.37.6) vorhanden ist. Die neueste Kernel-Version wird sogar bei einer Neuinstallation via Update mit auf die Platte installiert. Ein „uname -r“ hätte in der Konsole Klarheit geschaffen, um welche Version es sich handelt. Diese Kernel-Version haben wir schon seit 26.04.2011 im Update-Repo.

Um bei dem Distributionsvergleich im Bereich „Software“ zu bleiben. Gnome trägt die Version 2.32.1 und nicht wie im Artikel 4.6.0. Und umgekehrt trägt KDE nicht wie im Artikel 2.32.1, sondern 4.6.0. Für Firefox befindet sich im offiziellen Update-Repo sogar seit 28.06.2011 die Version 5.0 und im Artikel wird noch Firefox 4.0 deklariert. Aber beim Thunderbird habt ihr sogar korrekterweise die Version 3.1.11 geschrieben, die auch im Update-Repo seit 28.06.2011 zu diesem Zeitpunkt als aktuellste Version vorhanden ist. Seit dem Release von openSUSE 11.4 wurde jedoch Thunderbird 3.1.7 beigelegt, wenn man eigentlich bei eurer merkwürdigen Versionslogik bleiben möchte. :roll: Weiter im Artikel wird von Java 1.6.0_u20 geschrieben, im Update-Repo ist die Java-Version 1.6.0_u26 seit dem 08.06.2011 erhältlich. Fällt euch was auf?

Dann geht es weiter im Distributionsvergleich im Bereich „Software-Verwaltung“. Dort wurde in der Tabelle kein Haken (für nicht vorhanden) bei der Suche nach Dateinamen via YaST gesetzt 8-O , was aber so nicht richtig ist. Mit YaST kann man sehr wohl auch nach Dateinamen suchen lassen. z.B. gibt man im Suchfeld „/bin/bash“ oder bash ein und hakt alle Optionen in „Suchen in“ aus und nur noch die Option „RPM Provides“ einhaken. Schon sieht man, in welchem Paket sich bash befindet. Das funktioniert auch mit nicht installierten Paketen wie z.B. „libkdecore.so.4“ vom Paket „kdelibs3“!!! :-?

Und weiter geht es im Bereich „Systemverwaltung“. Dort habt ihr geschrieben, dass für den Apache-Server kein Verwaltungstool vorhanden ist. 8-O Wenn ihr schon so lapidar YaST angetestet habt, so solltet ihr wirklich mal die Augen aufmachen und das Paket „yast2-http-server“ für YaST2 nachinstallieren. :-? Nach der Installation befindet sich im YaST-Kontrollzentrum unter Netzwerkdienste der Eintrag „HTTP-Server – Einen Apache2-Server einrichten“. Dort kann man den Apache-Server sehr wohl konfigurieren. :evil:

@c’t-Redaktion: So geht das aber wirklich nicht!!! :evil: Ihr solltet euch echt mal ein bisschen anstrengen, wenn ihr mit dem Heft Geld verdienen wollt und eure Glaubwürdigkeit wie auch Seriosität behalten möchtet.

Ein enttäuschter Heise-Leser, der das Gefühl hat, dass die Qualität der Redaktion im Linux-Bereich seit Jahren den Bach runter geht. :-?

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

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

ATI Catalyst 11.6 (fglrx 8.861) wurde veröffentlicht. Das Skript makerpm-ati-11.6.sh steht ab sofort zum Download zur Verfügung.

[UPDATE 08.07.2011]
Das makerpm-ati-Skript (Version 4.20) wurde aktualisiert. Folgende Änderungen sind eingeflossen:

  • Änderung der Prüfsumme vom ATI-Installer. AMD hat eine Anpassung für die SUMO-Chipsätze (0x964A und 0x9640) in der /etc/ati/amdpcsdb und in ihrer Signatur vorgenommen. (Ein Dank geht an Ronny)
  • Zudem wurde der ATI Report nochmal erweitert und trägt weitere wichtige Infos zusammen wie z.B. Symlink-Abfrage für libGL und libglx; Paketversionen von KDE, GNOME, X-Server, Mesa; Übersicht der eingebundenen Repos (zypper lr -d)

[/UPDATE 08.07.2011]

[UPDATE 18.06.2011]
Das makerpm-ati-Skript (Version 4.19) wurde aktualisiert. Folgende Änderungen sind eingeflossen:

  • Änderung der Prüfsumme vom ATI-Installer. AMD hat eine Anpassung für die Radeon-Serie HD 6300 wie HD6300M in der /etc/ati/amdpcsdb und in ihrer Signatur vorgenommen. (Ein Dank geht an Paul)
  • Änderung der Routine für unterstützte Grafikkarten. (Ein Dank gehen jeweils an elhennig, Kalle und Karl)

Wer das vorhergehende makerpm-ati-Skript für ATI Catalyst 11.6 verwendet hat und die neue Version verwenden möchte, sollte beim Download des Skriptes beachten, dass man das ältere Skript via rm-Kommando löscht oder via wget-Kommando mit der Option „-N“ überschreiben lässt.

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

Die Release-Version des RPM-Paketes wurde zudem angehoben. Das Update sollte bei einem vorhandenen fglrx-Paket (8.861) durchführbar sein. ;-)
[/UPDATE 18.06.2011]

Wichtige Änderungen in ATI Catalyst 11.6:

  • ATI Catalyst 11.6 unterstützt jetzt die Kernelversion 2.6.39 wie auch 3.0 (Anmerkung: Nur bei openSUSE.)
  • Bei einer Reinstallation des Treibers wird die X11-Konfiguration in /etc/X11/xorg.conf.fglrx-oldconfig umbenannt. Bei einer erneuten Installation wird automatisch die umbenannte Konfiguration wiederverwendet, sofern diese existiert.
  • Es ist die letzte Version, in der noch openSUSE 11.2 unterstützt wird. Es wird empfohlen ein Upgrade auf openSUSE 11.3/11.4 durchzuführen, um in Zukunft weiterhin aktuelle Treiber zu verwenden.
  • openSUSE 12.1 bzw. Factory wird jetzt inoffiziell durch meine Arbeit unterstützt.
    UNSUPPORTED="yes" sh ati-driver-installer-11-6-x86.x86_64.run --buildpkg SuSE/SUSE-autodetection

Für ATI Catalyst 11.6 stelle ich wieder ein Cheat Sheet bereit, um einen schnellen Überblick über die Features / Einstellmöglichkeiten zu bekommen.
Download: ati-catalyst-11.6-cheat-sheet.pdf

Inhaltsverzeichnis

Einleitung

Die Anleitung funktioniert mit openSUSE 11.2, 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.

  1. das RPM mit dem Skript makerpm-ati-11.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. ;-)

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 ATI 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:

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

su -c 'sh makerpm-ati-11.6.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.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 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
-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 ATI 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.
-ux openSUSE 11.2: Nur den gepatchten X-Server installieren. Verbessert die Zusammenarbeit mit dem fglrx-Treiber. (empfohlen)
-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.

  1. Das Skript herunterladen:
    wget http://www.sebastian-siebert.de/downloads/makerpm-ati-11.6.sh
  2. Die Prüfsummendatei herunterladen:
    wget http://www.sebastian-siebert.de/downloads/makerpm-ati-11.6.sh.sha1
  3. Die Prüfsummendatei gegen das Skript prüfen:
    sha1sum -c makerpm-ati-11.6.sh.sha1

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

    makerpm-ati-11.6.sh: OK
  4. Die Rechte des Skriptes ändern und ausführbar machen:
    chown root:root makerpm-ati-11.6.sh
    chmod 744 makerpm-ati-11.6.sh
  5. Das Skript mit dem Argument -i ausführen. Das RPM-Package wird im Anschluß automatisch installiert (bzw. aktualisiert).
    ./makerpm-ati-11.6.sh -i
  6. 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 (openSUSE 11.2: linux-kernel-headers)
  • kernel-source
  • kernel-{default,desktop,pae}-devel
  • kernel-syms

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

  1. 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-6-x86.x86_64.run
    Optional: Das System im Runlevel 3 starten und als „root“ einloggen oder per init 3 wechseln.
  2. Den Bau des RPM-Packages anstoßen:
    sh ./ati-driver-installer-11-6-x86.x86_64.run --buildpkg SuSE/SUSE-autodetection
  3. Das RPM-Package installieren:
    zypper install fglrx*8.86*.rpm
  4. Den Rechner neustarten:
    reboot

Troubleshooting:

  1. Nach dem Booten sieht man die Konsole (Problem mit der Konfiguration des X-Servers)
  2. Nach dem Booten hat man einen schwarzen Bildschirm (Problem mit dem Kernel-Mode-Setting)
  3. Arbeitsflächen-Effekte (Compositing) in KDE 4.4 bzw. 4.5 ist nicht aktiviert
  4. Arbeitsflächen-Effekte (Compositing) in KDE 4.5 lassen sich gar nicht mehr aktivieren
  5. In Firefox oder Thunderbird erscheinen schwarze Flächen
  6. Ein Wasserzeichen erscheint unten rechts
  7. Der Treiber unterstützt meine Grafikkarte nicht. Was mache ich jetzt?
  1. 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.6.sh -c single

    Bei zwei Monitore (Dual-Modus):

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

    Danach den Rechner neustarten.

    Fortgeschrittene Variante:

    1. X-Server-Konfiguration verschieben, falls vorhanden:
      mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
    2. 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
  2. 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.6.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

      Anschließend die Initial Ramdisk neubauen lassen:

      mkinitrd
  3. 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/ATI Catalyst 11.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.

  4. 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

  5. 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.6.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.6.sh -old2ddriver no
  6. Fortgeschrittene Variante:

    aticonfig --del-pcs=DDX,ForceXAA
  7. 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.

  8. 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. :-)