Fglrx/Manuelle Installation

Aus Linupedia.org
Version vom 17. März 2007, 22:25 Uhr von FaNa (Diskussion | Beiträge) (Fehlermeldung: Xlib: extension "XFree86-DRI" missing on display ":0.0".')
Wechseln zu: Navigation, Suche

Vorwort des Autors FaNa: Dies ist eine kurze Anleitung um die proprietären ATI Grafikkartentreiber mit voller 3D-Unterstützung zu installieren. Da es unzählige Anleitungen dafür gibt, jedoch keine richtig funktioniert, werde ich versuchen eine leicht nachzuvollziehende und kompakte Anleitung zu schreiben, die auch wirklich zum Ziel führt.

Dieses How-To dauert maximal 10 Minuten.

Vorbereiten der Installation

Zunächst muss das System vorbereitet werden, sprich die für die Grafikkartentreiber notwendigen Pakete müssen installiert sein. Dies kann zum Beispiel recht komfortabel mit yast2 geschehen.

1. Paketinstallation

yast2 » Software » Software Installieren oder Löschen
Folgende Pakete (inkl. eventueller Abhängigkeiten) müssen installiert sein:
  • kernel-source
  • gcc


2. Melden Sie sich als root an » Starten Sie als root den Desktop (den X-Server)

3. Vorbereiten der ATI Treiber

1. Downloaden Sie die proprietären ATI Treiber von folgender Adresse:
ati-driver-installer-8.34.8-x86.x86_64.run
2. Öffnen Sie ein Terminal und navigieren Sie in das Verzeichnis des soeben gedownloadeten ATI-Installers mit
cd
3. Tippen Sie im Verzeichnis des ATI-Installers folgendes ein
sh ati*
4. Der Ati-Installer öffnet sich
Führen Sie folgende Schritte aus
» Generate Distribution Specific Package
» Continue
» I Agree
» SuSE Packages
» Wählen Sie ihre SuSE Version und die dazugehörige Architektur aus
Für ein 32-bit SuSE 10.2 System ist folgender Eintrag:
SuSE/SUSE102-IA32
Für ein 64-bit SuSE 10.2 System ist folgender Eintrag:
SuSE/SUSE102-AMD64
» Continue
» Exit

Installation und Konfiguration

Erster Schritt: Konfigurieren der xorg.conf

1. Folgendes in einem Terminal ausführen:

cp /etc/X11/xorg.conf /etc/X11/xorg.conf_back

Durch den Befehl wurde die xorg.conf dupliziert. Der Klon heißt xorg.conf_back und liegt im selben Verzeichnis (/etc/X11). 2. Im Ordner /etc/X11/ liegt die xorg.conf » Öffnen Sie diese (xorg.conf) und löschen Sie den gesamten Inhalt.

Hinweis:
  • Die xorg.conf sollte dann einfach nur eine leere Datei sein!
  • Löschen Sie aber keinesfalls die Datei xorg.conf, sodass diese nicht mehr existiert!


Die xorg.conf_back müsste einen ähnlichen Inhalt haben wie folgendes:

# /.../
# SaX generated X11 config file
# Created on: 2007-03-17T01:15:58+0100.
#
# Version: 8.1
# Contact: Marcus Schaefer <sax@suse.de>, 2005
# Contact: SaX-User list <https://lists.berlios.de/mailman/listinfo/sax-users>
#
# Automatically generated by [ISaX] (8.1)
# PLEASE DO NOT EDIT THIS FILE!
#

Section "Files"
  FontPath     "/usr/share/fonts/misc:unscaled"
  FontPath     "/usr/share/fonts/local"
  FontPath     "/usr/share/fonts/75dpi:unscaled"
  FontPath     "/usr/share/fonts/100dpi:unscaled"
  FontPath     "/usr/share/fonts/Type1"
  FontPath     "/usr/share/fonts/URW"
  FontPath     "/usr/share/fonts/Speedo"
  FontPath     "/usr/share/fonts/PEX"
  FontPath     "/usr/share/fonts/cyrillic"
  FontPath     "/usr/share/fonts/latin2/misc:unscaled"
  FontPath     "/usr/share/fonts/latin2/75dpi:unscaled"
  FontPath     "/usr/share/fonts/latin2/100dpi:unscaled"
  FontPath     "/usr/share/fonts/latin2/Type1"
  FontPath     "/usr/share/fonts/latin7/75dpi:unscaled"
  FontPath     "/usr/share/fonts/baekmuk:unscaled"
  FontPath     "/usr/share/fonts/japanese:unscaled"
  FontPath     "/usr/share/fonts/kwintv"
  FontPath     "/usr/share/fonts/truetype"
  FontPath     "/usr/share/fonts/uni:unscaled"
  FontPath     "/usr/share/fonts/CID"
  FontPath     "/usr/share/fonts/ucs/misc:unscaled"
  FontPath     "/usr/share/fonts/ucs/75dpi:unscaled"
  FontPath     "/usr/share/fonts/ucs/100dpi:unscaled"
  FontPath     "/usr/share/fonts/hellas/misc:unscaled"
  FontPath     "/usr/share/fonts/hellas/75dpi:unscaled"
  FontPath     "/usr/share/fonts/hellas/100dpi:unscaled"
  FontPath     "/usr/share/fonts/hellas/Type1"
  FontPath     "/usr/share/fonts/misc/sgi:unscaled"
  FontPath     "/usr/share/fonts/xtest"
  FontPath     "/opt/kde3/share/fonts"
  FontPath     "unix/:7100"
  InputDevices "/dev/gpmdata"
  InputDevices "/dev/input/mice"
EndSection

Section "ServerFlags"
  Option       "AllowMouseOpenFail" "on"
EndSection

Section "Module"
  Load         "dbe"
  Load         "type1"
  Load         "freetype"
  Load         "extmod"
  Load         "glx"
  Load         "v4l"
EndSection

Section "InputDevice"
  Driver       "kbd"
  Identifier   "Keyboard[0]"
  Option       "Protocol" "Standard"
  Option       "XkbLayout" "de"
  Option       "XkbModel" "microsoftpro"
  Option       "XkbRules" "xfree86"
  Option       "XkbVariant" "nodeadkeys"
EndSection


Section "InputDevice"
  Driver       "mouse"
  Identifier   "Mouse[1]"
  Option       "Buttons" "12"
  Option       "Device" "/dev/input/mice"
  Option       "Name" "Logitech USB Gaming Mouse"
  Option       "Protocol" "explorerps/2"
  Option       "Vendor" "Sysp"
  Option       "ZAxisMapping" "4 5"
EndSection


Section "Monitor"
  DisplaySize  338 270
  HorizSync    30-82
  Identifier   "Monitor[0]"
  ModelName    "MD6155AN"
  Option       "DPMS"
  VendorName   "MED"
  VertRefresh  43-75
  UseModes     "Modes[0]"
EndSection


Section "Modes"
  Identifier   "Modes[0]"
  Modeline 	"1280x1024" 106.97 1280 1360 1496 1712 1024 1025 1028 1059
  Modeline 	"1280x1024" 87.75 1280 1328 1360 1440 1024 1027 1034 1053 +HSync -Vsync
EndSection


Section "Screen"
  DefaultDepth 16
  SubSection "Display"
    Depth      16
    Modes      "default" 
  EndSubSection
  Device       "Device[0]"
  Identifier   "Screen[0]"
  Monitor      "Monitor[0]"
EndSection


Section "Device"
  BoardName    "Framebuffer Graphics"
  BusID        "6:0:0"
  Driver       "fbdev"
  Identifier   "Device[0]"
  VendorName   "VESA"
EndSection


Section "ServerLayout"
  Identifier   "Layout[all]"
  InputDevice  "Keyboard[0]" "CoreKeyboard"
  InputDevice  "Mouse[1]" "CorePointer"
  Option       "Clone" "off"
  Option       "Xinerama" "off"
  Screen       "Screen[0]"
EndSection


Section "DRI"
    Group      "video"
    Mode       0660
EndSection

Section "Extensions"
EndSection

Zweiter Schritt: Installation und Einrichten der Treiber

Zur Erinnerung: Wir sind seit Beginn noch als root angemeldet

1. Führen aus dem ATI-Installer-Verzeichnis in einem Terminal folgendes aus:

rpm -Uvh fgl*

2. Danach

aticonfig --initial -f

Nun müsste ungefähr folgendes in der xorg.conf stehen

Section "ServerLayout"
	Identifier     "aticonfig-Layout[all]"
	Screen      0  "aticonfig-Screen[0]" 0 0
EndSection

Section "Files"
EndSection

Section "Module"
EndSection

Section "Monitor"
	Identifier   "aticonfig-Monitor[0]"
	Option	    "VendorName" "ATI Proprietary Driver"
	Option	    "ModelName" "Generic Autodetecting Monitor"
	Option	    "DPMS" "true"
EndSection

Section "Device"
	Identifier  "aticonfig-Device[0]"
	Driver      "fglrx"
EndSection

Section "Screen"
	Identifier "aticonfig-Screen[0]"
	Device     "aticonfig-Device[0]"
	Monitor    "aticonfig-Monitor[0]"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Dritter Schritt: Übertragen der Einstellungen

Das sieht doch sehr "übersichtlich" aus.
In der xorg.conf werden alle Geräte und Daten gespeichert, die zum Bedienen der grafischen Oberfläche benötigt werden, wie z.B. Tastatur und Maus.

Öffnen Sie diexorg.conf_back und kopieren Sie die einzelnen Blöcke heraus, in denen die verschiedenen Geräte beschrieben werden.
Anhand eines Beispiels wird dies anschaulich.

Ein Block beginnt mit

Section

und endet mit

EndSection


Das wäre zum Beispiel der Block, der die Tastatur beschreibt

Section "InputDevice"
  Driver       "kbd"
  Identifier   "Keyboard[0]"
  Option       "Protocol" "Standard"
  Option       "XkbLayout" "de"
  Option       "XkbModel" "microsoftpro"
  Option       "XkbRules" "xfree86"
  Option       "XkbVariant" "nodeadkeys"
EndSection

Kopieren Sie nun die Blöcke aus der xorg.conf_back in die xorg.conf, die Sie noch brauchen

Es empfiehlt sich mindestens den Tastaturblock zu übernehmen, da die Tastatur sonst auf englisches Layout wechselt. Der Mausblock ist nicht zwingend notwendig, da die Maus meist beim starten des X-Servers von selbst erkannt wird.


Achtung:
  • Kopieren Sie niemals den Block, welcher die Grafikkarte anspricht
Section "Device"
EndSection



Hinweis:
  • Die folgenden Blöcke sollten ebenfalls nicht übernommen werden
Section "Monitor"
EndSection
Section "Screen"
EndSection



Das Ergebnis sollte ungefähr wie folgt aussehen:

Section "ServerLayout"
	Identifier     "aticonfig-Layout[all]"
	Screen      0  "aticonfig-Screen[0]" 0 0
EndSection

Section "Files"
EndSection

Section "Module"
EndSection

Section "Monitor"
	Identifier   "aticonfig-Monitor[0]"
	Option	    "VendorName" "ATI Proprietary Driver"
	Option	    "ModelName" "Generic Autodetecting Monitor"
	Option	    "DPMS" "true"
EndSection

Section "Device"
	Identifier  "aticonfig-Device[0]"
	Driver      "fglrx"
EndSection

Section "Screen"
	Identifier "aticonfig-Screen[0]"
	Device     "aticonfig-Device[0]"
	Monitor    "aticonfig-Monitor[0]"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Section "InputDevice"
  Driver       "kbd"
  Identifier   "Keyboard[0]"
  Option       "Protocol" "Standard"
  Option       "XkbLayout" "de"
  Option       "XkbModel" "microsoftpro"
  Option       "XkbRules" "xfree86"
  Option       "XkbVariant" "nodeadkeys"
EndSection

Section "InputDevice"
  Driver       "mouse"
  Identifier   "Mouse[1]"
  Option       "Buttons" "12"
  Option       "Device" "/dev/input/mice"
  Option       "Name" "Logitech USB Gaming Mouse"
  Option       "Protocol" "explorerps/2"
  Option       "Vendor" "Sysp"
  Option       "ZAxisMapping" "4 5"
EndSection

Abschluss der Installation

Achtung:
  • Nach einem Neustart des Rechners ist Ihre ATI Grafikkarte voll 3D fähig.
  • Öffnen Sie keinesfalls mehr sax2, da dieses die gesamte Konfiguration zerschießen würde.
  • Falls Sie doch in das 3D Einstellungs-Menü von sax2 kommen sollten und gemeldet bekämen, dass 3D nicht möglich wäre, schenken Sie dieser Falschmeldung keinerlei Bedeutung verlassen das Tool ohne zu speichern. 3D ist definitiv aktiviert. Wie Sie das überprüfen erfahren Sie im nächsten Schritt.


  • Fügen Sie noch folgenden Block in die xorg.conf ein:
Section "DRI"
   Mode 0666
EndSection

Bevor Sie den Rechner neu starten lesen Sie bitte noch den nächsten Abschnitt

Überprüfen der Installation

3D Fähigkeit überprüfen

Hinweis:

Sie brauchen für die folgenden Schritte nicht mehr als root eingeloggt zu sein. Melden Sie sich als normaler Benutzer an. Für die folgenden zwei Tests wird dies auch dringend empfohlen! Diese liefern als root verfälschte Ergebnisse!


Erster Test: Nachdem Sie den Rechner neu gestartet haben öffnen Sie ein Terminal und geben als normaler User folgendes ein

glxgears

Die erscheinenden Zahnräder sollten sich absolut flüssig drehen. Wenn dies der Fall ist: Herzlichen Glückwunsch! Sie haben ihre ATI Karte erfolgreich installiert. Machen Sie zur Sicherheit aber noch den zweiten Test

Wenn Sie ihre xorg.conf noch optimieren möchten, lesen Sie hier weiter.


Die Zahnräder bewegen sich nur sehr, sehr stockend:

Sollten sich die Zahnräder nur stockend bewegen, ist bei der Installation wohl etwas schief gelaufen. Lesen Sie dazu hier weiter.


Zweiter Test: Geben Sie als normaler User folgendes in ein Terminal ein:

fgl_glxgears

Der Würfel sollte sich absolut flüssig drehen. Wenn dies der Fall ist: Herzlichen Glückwunsch! Sie haben ihre ATI Karte erfolgreich installiert und könnten an dieser Stelle das How-To eigentlich schon abbrechen.

Wenn Sie ihre xorg.conf noch optimieren möchten, lesen Sie hier weiter.


Es erscheint kein drehender Würfel, sondern das Skript bricht mit Fehlermeldung ab:

Suchen Sie hier die entsprechende Fehlermeldung und führen die Anweisungen aus.


Zusätzliche Tests

Optimieren der xorg.conf

Deaktivieren von AIGLX

Um AIGLX zu deaktivieren, da die prorietären ATI Treiber dies eh nicht unterstützen, fügen Sie noch folgende Section in die xorg.conf ein

Section "ServerFlags"
  Option "AIGLX" "off"
EndSection

Troubleshooting

Fehlermeldung: libGL error: failed to open DRM: Operation not permitted

Bei Eingabe von

fgl_glxinfo

als normaler User in ein Terminal erscheint folgende Fehlermeldung:

libGL error: failed to open DRM: Operation not permitted
libGL error: reverting to (slow) indirect rendering

Lösung: Sie haben Schritt 3) Abschluss der Installation nicht durchgeführt

  • Fügen Sie noch folgenden Block in die xorg.conf ein:
Section "DRI"
   Mode 0666
EndSection

Fehlermeldung: Xlib: extension "XFree86-DRI" missing on display ":0.0".'

Bei Eingabe von

fglrxinfo

in ein Terminal erscheint folgendes:

# fglrxinfo
Xlib: extension “XFree86-DRI” missing on display “:0.0″.
display: :0.0 screen: 0
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)

Diese Fehlermeldung entsteht, wenn in der xorg.conf für die Grafikkarte ein Doppeleintrag besteht. Es ist also sowohl der Treibereintrag der 2d-Mesa-Standardtreiber und der ATI Treiber vorhanden. Der Eintrag könnte auch so Aussehen:

# fglrxinfo
Xlib: extension “XFree86-DRI” missing on display “:0.0″.
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9600SE Generic
OpenGL version string: 2.0.6011 (8.28.8)

Je nachdem welchen Treiber der X Server sich aussucht, erscheint der Eintrag in diesen zwei Möglichkeiten.

Lösung:

  • Entfernen Sie den Block (Die Section) in welchem die Framebuffer Grafik steht.

Löschen Sie die Section, in der "VESA" enthalten ist. Diese sähe ungefähr so aus:

Section "Device"
 BoardName    "Framebuffer Graphics"
 BusID        "6:0:0"
 Driver       "fbdev"
 Identifier   "Device[0]"
 VendorName   "VESA"
EndSection


Achtung:

Fügen Sie keinesfalls folgendes in ihre xorg.conf um den Fehler zu beheben.

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

Dies wird nur zu gern in diversen Anleitungen empfohlen, um den Fehler los zu werden. Dieser Block macht genau das Gegenteil von dem was wir wollen; Er deaktiviert 3D komplett, dadurch fällt natürlich auch der Fehler weg. Dies ist aber keine Alternative sondern nur eine "Vertuschung" des Fehlers, da er von der weiter oben beschriebenen Ursache her rührt.


Quellen und weiterführende Links


zurück zu Grafikkarten und Monitore