ATI-Treiber unter openSUSE 10.2 installieren

aus openSUSE, der freien Wissensdatenbank

Die ATI-Treiber können wegen ihrer Lizenzbestimmungen leider nicht in openSUSE integriert werden. Diese Anleitung soll Dir helfen, sie richtig zu installieren. Falls irgend jemand diese Seite bearbeiten oder verschönern möchte - nichts spricht dagegen! Ich habe diesen Artikel für Euch aus dem Englischen übersetzt. Hier stammt er her: http://en.opensuse.org/Howto/ATI_Driver Gruß user1220

Inhaltsverzeichnis


Wenn Du irgendwelche Fragen hast, lass eine Nachricht hier.

32-Bit System

Bitte vergewissere Dich, dass folgende Pakete installiert sind, bevor Du mit dem Tutorial beginnst:

  • kernel-source
  • qt3
  • compat
  • compat-libstdc++
  • libstdc++
  • libstdc++-devel
  • libgcc
  • xorg-x11-libs
  • xorg-x11-devel
  • Mesa
  • Mesa-devel
  • fontconfig
  • fontconfig-devel
  • expat
  • freetype
  • freetype2
  • freetype2-devel
  • zlib
  • zlib-devel
  • gcc
               ----------------------

folgende Aenderungen sind unter SuSE_10.3 vorhanden: X:/tmp # sh ati-driver-installer-8.40.4-x86.x86_64.run.bin --listpkg listet nur bis

       SuSE/SUSE102-IA32
       SuSE/SUSE102-AMD64

auf (103-Eintraege fehlen)

libstdc++ is not installed, stattdessen: libstdc++42 Version : 4.2.1_20070724 libstdc++-devel Version  : 4.2 libgcc is not installed, stattdessen: libgcc42 Version : 4.2.1_20070724

kann der Treiber "ati-driver-installer-8.40.4-x86.x86_64.run.bin" unter den Kernel "2.6.22.9-0.4-default" installiert werden, bzw. welche Änderungen müssen vorgenommen werden ?

         -----------------------------

ACHTUNG: libdrm muss in Version 2.3 vorliegen! --StephaneZ 18:52, 11 March 2007 (UTC)
Hinweis: Für die einfachste Methode, um libdrm zu installieren, siehe bitte unten unter "Installieren von Xorg 7.2 Final"
Schnellste und einfachste Lösung nachdem nichts anderes funktionierte (SuSE 10.2).

Schaue in Yast nach den Versionsnummern der Kernel-default- und Kernel-source-Pakete. Sie müssen gleich sein! Wenn nicht, mache ein Kernelupdate mit Yast.

64-Bit System

Bitte vergewissere Dich, bevor Du das Tutorial durchgehst, dass folgende 32-Bit-Pakete installiert sind und installiere die 64-Bit-Varianten aus der oberen Liste.

  • kernel-source
  • compat-32bit
  • qt3-32bit
  • libstdc++
  • libgcc
  • xorg-x11-libs-32bit
  • xorg-x11-devel-32bit
  • Mesa-32bit
  • Mesa-devel-32bit
  • fontconfig-32bit
  • expat-32bit
  • freetype2-32bit
  • zlib-32bit
  • gcc

ACHTUNG: libdrm muss in Version 2.3 vorliegen! --StephaneZ 18:52, 11 March 2007 (UTC) Hinweis: Für die einfachste Methode, um libdrm zu installieren, siehe bitte unten unter "Installieren von Xorg 7.2 Final"

Optional - Installiere X.Org 7.2 Final

Wenn Du openSUSE 10.2 hast oder auf X.Org 7.2 upgraden möchtest, folge diesen Schritten und mach dann mit dem Tutorial weiter.

openSUSE 10.2 bringt von sich aus X.Org 7.2 RC2 mit. Du kannst diesen "Release Candidate 2" drauf lassen, in der Final-Version dürften allerdings noch ein paar Bugs behoben sein. Also hier eine Anleitung, wie Du die Final bekommst:

Füge in Yast folgende Installationsquelle hinzu:

   Typ: http
   Server: ftp.skynet.be
   Verzeichnis: /pub/software.opensuse.org/xorg72/openSUSE_10.2/

Nun öffne "Software installieren oder löschen" und aktualisiere Xorg und ggf. libdrm. ACHTUNG: Das ist auch eine einfache Möglichkeit, an libdrm 2.3 heranzukommen! --Ginnsu 01:39, 21 March 2007 (UTC)

Empfohlen - Bereite den Kernel für neue Treiber auf

Dieser Schritt ist nicht notwendig, aber er sollte durchgeführt werden, wenn Du vorher mit ATI-Treibern experimentiert hast.

Öffne die Konsole und führe folgende Befehle aus:

   # su
   password
   # cd /usr/src/linux
   # make mrproper
   # make cloneconfig
   # make modules_prepare
   # make clean

Falls Du bereits einen Grafiktreiber installiert hattest/hast, musst Du unbedingt diesem Schritt folgen:

Lösche vorherige Grafiktreiber mit dem Befehl:

   # rpm -e $(rpm -qa | grep fglrx)

Nun kannst Du normal weitermachen.

Installation: ATI-Treiber downloaden und installieren

Schritt 1 - Den neuesten Treiber besorgen

Gehe zu ATI's website und lade den Treiberinstaller

   Dieser Treiber 8.37.6 ist vom 31. Mai 2007:
   ati-driver-installer-8.37.6-x86.x86_64.run

Schritt 2 - Distributionsspezifisches Treiberpaket erstellen

Führe den Installer mit der Konsole als Root aus:

   # sh ati-driver-installer-8.37.6-x86.x86_64.run --listpkg

Das listet die unterstützten Distributionen auf:

   SuSE/NLD9-IA32
   SuSE/SLES9-IA32
   SuSE/SUSE91-IA32
   SuSE/NLD9-AMD64
   SuSE/SLES9-AMD64
   SuSE/SUSE91-AMD64
   SuSE/SUSE100-IA32
   SuSE/SUSE92-IA32
   SuSE/SUSE93-IA32
   SuSE/SUSE100-AMD64
   SuSE/SUSE92-AMD64
   SuSE/SUSE93-AMD64
   SuSE/SLED10-IA32
   SuSE/SLES10-IA32
   SuSE/SUSE101-IA32
   SuSE/SLED10-AMD64
   SuSE/SLES10-AMD64
   SuSE/SUSE101-AMD64
   SuSE/SUSE102-IA32
   SuSE/SUSE102-AMD64

Nun führe folgenden Befehl aus und hänge deine Distribution hinten dran. Für 32bit:

   # sh ati*.run --buildpkg SuSE/SUSE102-IA32

Für 64bit:

   # sh ati*.run --buildpkg SuSE/SUSE102-AMD64

Der ATI-Treiberinstaller hat nun ein Treiberpaket erstellt. Es befindet sich unter:

   /usr/src/packages/RPMS/i386

Wenn Du einen 64bit-Prozessor hast ist es hier:

   /usr/src/packages/RPMS/x86_64

Beim neuen Catalyst-Treiber ist die Angabe von Parameter -- buildpkg nicht mehr unbedingt notwendig. Man wählt die Option, dass man ein Installationspaket erstellen will und im nächsten Fenster wählt man dann die entsprechende Plattform aus. Der ATI-Treiberinstaller befindet sich dann in dem oben angegebenen Ordner.

Schritt 3 - Installieren des Treiberpakets

Wenn Du im Runlevel 5 bist, wechsele in den Runlevel 3:

Gib in der Konsole [als root] ein:

   # init 3

Das wird Dich zurück zu TTY 1 bringen.

Logge Dich ein und gehe in das Verzeichnis unseres gerade erstellten Treiberpakets:

   # cd /usr/src/packages/RPMS/i386

Oder wenn Du einen 64bit Prozessor hast ist es hier:

   # cd /usr/src/packages/RPMS/x86_64

Installiere das Treiberpaket

   # rpm -Uvh fgl*.rpm

Nach der Installation musst Du das aticonfig-Tool ausführen:

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

Nun ist der Treiber installiert. Weiter zu Schritt 4.

Schritt 4 - Konfigurieren des Treibers

Nun muss der Treiber konfiguriert werden. Führe dazu diesen Befehl aus, nachdem der Treiber installiert wurde.

   # sax2 -r -m 0=fglrx

Das zwingt Sax dazu, den fglrx-Treiber zu benutzen. Stelle Deine Auflösung etc. ein und reboote.

ACHTUNG: Wenn sax2 einen schwarzen Bildschirm zurück gibt probiere die folgende Methode. Wenn die nicht funktioniert, schaue im Troubleshooting-Bereich nach.

ACHTUNG:

Die aktuellen ATI-Treiber haben Probleme mit manchen x1000 Karten (x1400, x1600, x1600 pro):

Wenn Sax2 beim Laden des Treibers stoppt und Du folgendes in der Log-Datei [/var/log/SaX.log] finden kannst...

   (EE) fglrx(0): PreInitDAL failed
   (EE) fglrx(0): PreInit failed

Dann solltest Du den Framebuffer in der Konsole deaktivieren..

Editiere /boot/grub/menu.lst und lösche den Parameter vga=xxx aus der Kernel-Zeile.

Siehe: https://bugzilla.novell.com/show_bug.cgi?id=222993

Sax2 wird das Konfigurationsprogramm im X-Server starten. Hier kannst Du mehr einstellen.

Composite-Erweiterung deaktivieren

In manchen Fällen deaktiviert die Composite Erweiterung ATI's Treibersupport für DRI und 3D-Beschleunigung.

Achtung: Wenn Du später Beryl einrichten möchtest folge diesem Schritt nicht!

Resultion: Um die Composite Erweiterung zu deaktivieren editiere die folgenden Zeilen am Ende der /etc/X11/xorg.conf Datei:

   Section "Extensions"
        Option "Composite" "false"
   EndSection

Hinweis: Es reicht nicht, die Zeilen zu löschen, das würde nicht funktionieren da diese Erweiterung standardmäßig aktiviert ist.

Achtung Kommentar: Laut OpenSuse XGL-Seite http://de.opensuse.org/Xgl_Probleml%C3%B6sungen benötigt XGL keine Composite Erweiterung. Diese soll sogar stören. User: Chrismose

Andere wichtige Einstellungen in der xorg.conf

Für bessere Stabilität kannst Du die folgenden Änderungen im Bereich "Device" der xorg.conf vornehmen:

   Option      "BlockSignalsOnLock" "on"
   Option      "KernelModuleParm" "locked-userpages=0"
   Option      "OpenGLOverlay" "off"
   Option      "UseFastTLS" "2"
   Option      "UseInternalAGPGART" "no"
   Option      "VideoOverlay" "on"
   Option      "mtrr" "off"
   Option      "no_accel" "no"
   Option      "no_dri" "no"
   Option      "EnablePrivateBackZ" "no"
   Option      "backingstore" "true"

Schritt 5 - Neustart

Starte das System neu und Du solltest beschleunigte 3D-Grafik haben.

   # reboot

Testen

Um Dich zu vergwissern, dass wirklich die ATI-Treiber und nicht MESA aktiv ist führe folgenden Befehl in der Konsole im X aus:

   fglrxinfo

So müsste es dann aussehen:

  OpenGL vendor string: ATI Technologies Inc.
  OpenGL renderer string: RADEON X850 PRO Generic
  OpenGL version string: 2.0.6473 (8.37.6)

Und so nicht:

  OpenGL vendor string: Mesa project: www.mesa3d.org
  OpenGL renderer string: Mesa GLX Indirect
  OpenGL version string: 1.2 (1.5 Mesa 6.5.1)

Wenn der Test "Mesa project..." ausgibt folge den Troubleshooting Schritten.

Ein anderer Befehl zum Testen ist:

   glxinfo

Um die 3D-Beschleunigung zu Testen:

   fgl_glxgears

Du solltest nun einen flüssig drehenden Würfel sehen. Hier sind die Ergebnisse aus meinem Test:

   quiksilver:~> fgl_glxgears
   Using GLX_SGIX_pbuffer
   4217 frames in 6.0 seconds = 702.833 FPS
   4465 frames in 5.0 seconds = 893.000 FPS
   4705 frames in 5.0 seconds = 941.000 FPS
   5775 frames in 5.0 seconds = 1155.000 FPS
   6706 frames in 5.0 seconds = 1341.200 FPS
   6443 frames in 5.0 seconds = 1288.600 FPS
   7914 frames in 5.0 seconds = 1582.800 FPS
   6078 frames in 5.0 seconds = 1215.600 FPS
   6561 frames in 6.0 seconds = 1093.500 FPS

Glückwunsch, die Treiber sind installiert und 3D-Beschleunigung funktioniert. Wenn nicht, folge den Troubleshooting-Schritten unten:

Troubleshooting

Wenn sax2 hängen bleibt oder Du "Mesa" im OpenGL check bekommst folge diesen Schritten:

Vergewissere Dich, dass Du libdrm auf die Version 2.3 upgedated hast! --StephaneZ 18:52, 11 March 2007 (UTC)


Schaue zuerst in Dein Sax2 Log, um zu sehen welche Fehler passiert sind.

Troubleshooting - Schritt 1

Geh in den Runlevel 3 und führe Folgendes aus:

   # cd /usr/src/linux
   # make mrproper
   # make cloneconfig
   # make modules_prepare
   # make clean

Lösche vorherige Treiber mit dem Befehl:

   # rpm -e $(rpm -qa | grep fglrx)

Troubleshooting - Schritt 2

Installiere den Treiber erneut:

   # rpm -Uvh --force fgl*.rpm

Troubleshooting - Schritt 3

Verwende ldconfig und aticonfig um die xorg.conf zu konfigurieren:

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

Und dann siehe oben nach den anderen wichtigen Einstellungen für die xorg.conf.

Nach dem Du diese beiden Befehle ausgeführt hast, reboote zurück in den Runlevel 3. Das geht ganz einfach durch Eingabe von init 3 im Bootmenü.

Troubleshooting - Schritt 4

Nun vergewissere Dich, dass die Kernelmodule richig gebaut sind. In der Konsole schreibe:

   # fglrx-kernel-build.sh

Gefolgt von:

   # sax2 -r -m 0=fglrx -b /usr/share/doc/packages/fglrx/sax2-profile

Wenn das nicht geht probier das:

   # sax2 -r -m 0=fglrx

Achtung: Wenn Sax2 immer noch schwarze Bildschirme ausgibt upgrade zu der neuesten Version oder schaue oben.

Hinweis: Du musst rebooten, damit die Änderungen wirksam werden.

   Typ: http
   Server: ftp-linux.cc.gatech.edu
   Verzeichnis: /pub/suse/suse/update/10.2

Teste die Einstellung mithilfe des Test-Bereichs in diesem Tutorial.

Troubleshooting - Schritt 5

[User:Mike_admin, 25.04.08 23.00]

In meiner Konfiguration (SUSE 10.3/64bit; Intel Core 2 Duo 6850; ASUS P5K-E; 4GB Memory)funktionierte der Treiber trotz aller Tricks nicht. Der Monitor zeigte nach dem Start des XWindows-Systems nur einen schwarzen Bildschirm, die Monitorsyncronisation war aber noch vorhanden. In der Xorg.log Datei wurden keine Errors angezeigt. Auch dmesg zeigte keine Probleme beim Start. Nach ca. 3 Wochen habe ich jetzt eine Abhilfe gefunden. In der BIOS Konfiguration war das Memory Remap Feature enabled. Das HB sagt hierzu: "Allows you to enable or disable the remapping of the overlapped PCI memory above the total physical memory. Enable this option when you install 64-bit operating system". Da ich die 64bit Version von SUSE 10.3 benutze, sollte die Benutzung des Features also eigentlich OK sein. Nachdem ich diese Option disabled hatte, klappte der Treiber jedoch sofort. Eine Folge davon ist aber, dass der Benutzbare Speicher des Systems sinkt. Ich vermute, dass der ATI-Treiber das SUSE 10.3 nicht als 64bit Betriebssystem erkannt hat, oder das er mit dem Memory-Remapping des ASUS Bords nicht klar kommt.

ATI + Beryl + XGL + openSUSE 10.2

Okay, jetzt erkläre ich Dir, wie Du Beryl etc. mit ATI-Grafikkarten zum Laufen bekommst.

Schritt 1 - Beryl installieren und Compiz löschen

Füge in Yast folgende Quelle hinzu:

   Typ: http
   Server: ftp.skynet.be
   Verzeichnis: /pub/software.opensuse.org/X11:/XGL/openSUSE_10.2/

Installiere folgende Pakete:

   aquamarine
   beryl-core
   beryl-manager
   beryl-plugins
   beryl-settings
   beryl-vidcap
   emerald
   emerald-themes

Anschließend musst Du alle compiz Pakete entfernen falls möglich.

Es ist möglich, dass es zwischen compiz und Beryl Konflikte gibt.

Schritt 2 - Konfiguration

User mit mehreren Monitoren müssen "Xinerama" zu der xorg.conf hinzufügen, um Beryl richtig zum Laufen zu bringen.

Öffne Deine xorg.conf, sie befindet sich in /etc/X11/, und füge folgenden Bereich hinzu:

   Section "ServerLayout"
     Option	    "Xinerama" "on"
   EndSection

Achtung:

Bei der Radeon 9600 kann das Einfügen dieser Zeile dazu führen, das die Schrift verzehrt wird. Dann die Option auf "off" stellen


Führe den folgenden Befehl (als User, nicht als root) aus, um den beryl-manager zu starten.

   > beryl-manager

Das wird ein rubinähnliches Icon im Tray starten Rechtsklicke es und vergewissere Dich, dass unter "Erweiterte Beryl-Optionen" Folgendes ausgewählt ist:

   Composite Overlay Window -> "Cow benutzen" / "Cow nicht benutzen" / "Automatisch". Probiere aus was am besten funktioniert.
   Renderplattform -> XGL erzwingen
   Binding -> XGL Binding
   Rendering -> XGL Rendering

Füge nun Beryl zu KDE hinzu.

Ein anderer Composite-Manager läuft bereits

Es ist möglich, dass KDE einen eigenen Composite-Manager verwendet und so verhindert, dass Beryl richtig läuft. Um die KDE-Fenstereffekte auszuschalten öffne das Control Panel und deaktiviere die Transparenz/Schatten

   K Menu -> Configure Desktop (Personal Settings). Dann gehe zu Desktop -> Fensterverhalten

Gehe zur letzten Registerkarte ("Transparenz"), und deaktiviere "Transparenz/Schatten verwenden". Nun kannst Du Beryl erneut starten und alles sollte funktionieren.

Beryl zum automatischen Start bewegen

  • Wenn Du KDE benutzt:

Schreibe einfach (als User, nicht als root):

    ln -s /usr/bin/beryl-manager ~/.kde/Autostart/beryl-manager
    ln -s /usr/bin/beryl ~/.kde/Autostart/beryl
  • Wenn Du GNOME benutzt:

Gehe zu GNOME's Control Center -> Sitzungen. Gehe zum letzten Tab, "Autostart Programme". Füge dort die folgenden Einträge hinzu:

   beryl-manager
   beryl

Schritt 3 - XGL einschalten und Neustarten

Gehe in Yast zu "System" und starte den "Editor für sysconfig-Dateien".

   Sysconfig Editor -> Desktop -> Display Manager -> DISPLAYMANAGER_XSERVER.

Stelle den XSERVER von Xorg auf Xgl um. Nachdem Du das gemacht hast, starte neu, öffne die Konsole als root und gebe ein:

   # rcxdm restart

Oder wenn Du gdm benutzt:

   # rcgdm restart

Wenn Du wieder zurück im X bist, solltest Du wieder den Rubin im Tray sehen. Mache einen Rechtsklick und ändere den Fenstermanager auf Beryl. Nun sollte alles gut funktionieren.