Wiki

ATI-Grafikkarten/fglrx/Problembehebung

Wiki » ATI-Grafikkarten » fglrx » Problembehebung
Problembehebung

Grafiktreiber sind fehleranfällig. Viel zu oft kommt es zu Problemen, besonders eine 3D-Beschleunigung zu aktivieren, kann manchmal zu einem schwierigen Unterfangen werden. Nachfolgend sind Lösungen aufgelistet, die Nutzern dieses Wikis geholfen haben.

Wichtig ist, dass man in der Logdatei /var/log/Xorg.0.log viele Informationen findet, sollte der Treiber einmal nicht das tun, was er sollte, also z.B. kein 3D liefern, die falsche Bildschirmauflösung nutzen, etc.

Funktionstest

Um festzustellen, ob der ATI-Treiber überhaupt genutzt wird, öffnet man ein Terminal [1] und gibt den Befehl

fglrxinfo

ein. Für zusätzliche Informationen kann man folgenden Befehl verwenden:

LIBGL_DEBUG=verbose fglrxinfo

Wird der Treiber genutzt, sieht der erstmal relevante Teil der Ausgabe in etwa so aus (hier am Beispiel einer Radeon 9800pro):

OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9800 Pro Generic
OpenGL version string: 1.3.4769 (X4.3.0-8.8.25)

Dann sollte auch die 3D-Hardwarebeschleunigung funktionieren.

Wenn der Treiber nicht richtig eingerichtet ist, wird auf das Softwarerendering zurückgegriffen. Die Ausgabe von fglrxinfo sieht in diesem Fall so aus:

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

Root-Rechte

Wird der Befehl fglrxinfo mit Root-Rechten ausgeführt kann es zu folgender Ausgabe kommen:

Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Error: unable to open display :0

Da root aus Sicherheitsgründen nicht immer auf die grafische Oberfläche zugreifen darf, sollte man den Befehl fglrxinfo daher immer ohne Root-Rechte ausführen.

Allgemeine Fehlerquellen

Klassische Fehlerquellen sind

  • Das nötige fglrx-Modul wurde nicht korrekt installiert.
  • Der Treiber "fglrx" wurde nicht in der /etc/X11/xorg.conf eingetragen.

In beiden Fällen sollte man die entsprechende Installationsprozedur wiederholen.

Probleme beim Downgrade von Treibern

Ab der Treiber Version 7.12 wird der ATI Treiber von dkms eingebunden. Ein Downgrade auf eine vorherige Version könnte zu einem schwarzen Bildschirm führen. Um überhaupt wieder ins System gelangen zu können, muss man beim Booten das "rescue" System starten. Ein "Strg"+"Alt"+F1 aus dem Xserver wird nicht funktionieren! Wenn man den Treiber mit "Envy" installiert hat, sollte man folgendes ausführen:

envy --uninstall-all

Danach sollte man noch folgende Dateien/Verzeichnisse per Hand löschen:

sudo rm -fr /var/lib/dkms/fglrx
sudo rm -fr /lib/modules/$(uname -r)/updates/dkms/fglrx.ko

Ubuntu fglrx-Modul deaktivieren

Wenn eine manuelle Installation durchgeführt wurde, muss der Ubuntu-fglrx-Treiber in der Datei /etc/default/linux-restricted-modules-common deaktiviert werden. Dazu die Datei in einem Editor mit Root-Rechten öffnen [2] und die Zeile

    DISABLED_MODULES=""

durch

    DISABLED_MODULES="fglrx"

ersetzen.

Damit die Änderungen wirksam werden, genügt es

sudo /etc/init.d/linux-restricted-modules-common start
sudo depmod -a

auszuführen.

Seit Edgy Eft: Composite und AIGLX deaktivieren

Oft wird vergessen die Composite-Erweiterung zu deaktivieren oder AIGLX macht im Nachhinein noch Probleme. Da der Treiber gleichzeitiges Composite und DRI vor der Version 8.42.3 (die manuell installiert werden muss) nicht beherrscht, wird in dem Fall die 3D-Beschleunigung deaktiviert. Man erhält bei fglrxinfo dann z.B. die Ausgabe

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

und in der Datei /var/log/Xorg.0.log steht

(II) fglrx(0): Composite extension enabled, disabling direct rendering

Um die Composite-Erweiterung und zusätzlich AIGLX zu deaktivieren, öffnet man die Datei /etc/X11/xorg.conf in einem Editor mit Root-Rechten [2] und fügt die Abschnitte

Section "Extensions"
        Option "Composite" "0"
EndSection
Section "ServerFlags"
        Option  "AIGLX" "off"
EndSection

hinzu. Sollte die Sektion "Extensions" oder "ServerFlags" bereits existiert, fügt man nur die Optionszeile an der Stelle ein. Sollten die Optionen bereits existieren, ändert man nur ihren Wert.

Seit Feisty Fawn: Probleme mit Modellen der X1...-Serie

Nach einem Update der Ubuntu-Version auf "Feisty Fawn" gibt es bei einigen Nutzern mit aktuellen Graphikkarten (z.B. "ATI Radeon X1900 XT") Probleme beim Start der graphischen Oberfläche: Beim Starten des Rechners bleibt der Bildschirm kurz nach der Anzeige des Ladebalkens schwarz und das System friert ein. In der Logdatei des X-Servers /var/log/Xorg.0.log bricht die Protokollierung unvermittelt ab:

(II) resource ranges after preInit:
        [0] 0   0       0xf1000000 - 0xf100ffff (0x10000) MX[B]
        [1] 0   0       0xe0000000 - 0xefffffff (0x10000000) MX[B]
        [.]
        [..]
        [38] 0  0       0x000003c0 - 0x000003df (0x20) IS[B](OprU)

Dieser Fehler kommt durch eine Inkompabilität älterer ATI-Treiber (<= 8.37.6) mit der aktuellen X-Server-Version zustande. (Quelle: AMD Customer Care {en} ) Die Lösung ist eine manuelle Installation des proprietären ATI-Treibers in der aktuellsten Version (>= 8.38.6).

Keine 3D-Beschleunigung

Mesa-Treiber wird noch genutzt

Falls der Mesa-Treiber statt des ATI-Treibers im Funktionstest (siehe oben) angezeigt wird, ist die Hardwarebeschleunigung nicht aktiv. Dann fehlt vermutlich das Paket

  • linux-restricted-modules-386 (bzw. der Architektur entsprechend, [4])

Falls dieses Paket schon installiert war, kann folgender Befehl noch helfen [1]:

sudo ln -s /lib/modules/fglrx/fglrx.ko /lib/modules/$(uname -r)/kernel/drivers/video/

Mesa-Treiber wird noch genutzt nach Update von einem alten fglrx auf ein neues

Hier kann es helfen erstmal fglrx aus der /etc/X11/xorg.conf auszutragen und zum Beispiel durch vesa zu ersetzen. Dann den Rechner neustarten und erst jetzt die Installation des neuen fglrx-Treibers beginnen.

Mesa-Treiber wird noch genutzt, DRI-Fehlermeldung in /var/log/Xorg.0.log

Wenn in der Logdatei /var/log/Xorg.0.log des XServers die Fehlermeldung

(EE) fglrx(0): atiddxDriScreenInit failed, GPS not been initialized.

erscheint, obwohl fglrx eigentlich reibungslos installiert wurde, dann sollte zunächst per Hand versucht werden, das Modul zu laden:

sudo insmod /lib/modules/$(uname -r)/misc/fglrx.ko
modprobe fglrx

Nach einem Neustart des Windowmanagers (entweder per sudo /etc/init.d/gdm restart oder Strg + Alt + Löschen) sollte der Befehl fglrxinfo nicht mehr den Mesa-Treiber, sondern den ATI-Treiber anzeigen. Um das Modul nun nicht nach jedem Systemstart manuell laden zu müssen, muss in der Datei /etc/modprobe.d/lrm-video die unten dargestellte Zeile auskommentiert werden.

install fglrx /sbin/lrm-video fglrx $CMDLINE_OPTS

API ERROR: could not register entrypoint...

In manchen Fällen erhält man bei fglrxinfo die Meldung

[fglrx] API ERROR: could not register entrypoint for ...

Um dieses Problem zu beheben, muss die Datei /usr/lib/libGL.so.1.2 einer früheren Treiber-Version benutzt werden. Ein Download ist ist unter folgendem Link möglich: libGL.so.1.2.

Die heruntergeladene Datei muss im Anschluss mit Root-Rechten in das Verzeichnis /usr/lib/ kopiert und ggf. überschrieben werden (vorher Sicherung anfertigen!). Abschließend sollte man noch die Verknüpfung noch neu setzen. Dafür gibt man folgende Zeilen im Terminal [1] ein (für alle Fälle vorher die Datei /usr/lib/libGL.so.1 sichern):

sudo rm /usr/lib/libGL.so.1
sudo ln -s /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1

Kein 3D

Sollten die DRI-Module korrekt geladen sein und auch das Protokoll in /var/log/Xorg.0.log alles korrekt anzeigen, die 3D-Beschleunigung dennoch deaktiviert sein, hilft es vielleicht im Terminal [1] mit

sudo ln -s /usr/lib/dri /usr/lib/xorg/modules/dri

einen Link auf das korrekte DRI-Modul zu setzen.

libGL.so.1 wird nicht gefunden

Falls die Original-Ati-Treiber per alien installiert worden sind, die Programme aber Meldungen in der Art ausgeben

error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

hilft es einen Link auf die notwendige Library im Terminal [1] mittels

sudo ln -s /usr/share/fglrx/diversions/libGL.so.1.2 /usr/lib/libGL.so.1

zu setzen.

"XFree86-DRI missing"

Sollte es eine Fehlermeldung geben wie

Xlib:  extension "XFree86-DRI" missing on display ":1.0

und nicht die Composite-Erweiterung daran schuld sein (siehe oben), dann muss die Datei /etc/X11/xorg.conf mit Root-Rechten editiert werden [2] und folgende Zeile

Load "dri"

in der Sektion "Module" hinzugefügt werden, falls das Modul nicht bereits geladen wird.

Desweiteren kann es helfen am Ende der Datei noch folgenden Text hinzuzufügen (falls noch nicht vorhanden):

Section "DRI"
Group "video"
Mode 0666
EndSection

Softwareprobleme

Erhebliche Grafikfehler unter X

Es kommt mitunter vor, dass der ATI-Treiber Probleme mit der "AGP Aperture Size" hat. Dann sind große Teile des Grafikbildschirms fehlerhaft. Fenster bleiben schwarz oder werden nur schemenhaft angezeigt. Verschiebungen und Größenveränderungen von Fenstern erzeugen nicht nachvollziehbare Effekte.

Diese Probleme sind durch Veränderungen in den BIOS Einstellungen zu beheben. Hier muss die "AGP Aperture Size" nach dem Prinzip "Trial and Error" durch alle Werte durchprobiert werden, bis sich die geschilderten Probleme gelegt haben. Anfangen sollte man mit der Größe des Speichers auf der Grafikkarte, da dies die erfolgversprechendeste Einstellung ist (gem. Forenberichten).

Bildschirmschoner ruckelt oder friert ein

Es kann mit den neusten fglrx-Versionen vorkommen, daß der gnome-screensaver unter "System -> Einstellungen -> Bildschirmschoner" ruckelt oder gar den PC einfrieren läßt. In diesem Fall sollte man das Paket

  • gnome-screensaver

entfernen und dafür

  • xscreensaver

installieren [3]. Alternativ reicht auch nur die Installation und die Veränderungen des Menüeintrags mit einem Menüeditor zu

xscreensaver-command -prefs

KDM: Kein Herunterfahren

Es kann vorkommen, dass bei Kubuntu Dapper Drake oder Edgy Eft das System mit den ATI-fglrx-Treibern nicht richtig oder gar nicht herunterfährt bzw. neu startet. Um dieses Problem zu lösen, öffnet man mit Root-Rechten die Datei /etc/kde3/kdm/kdmrc [2] und fügt in den Sektionen

  • [X-*-Core]

  • [X-*-Greeter]

  • [X-:*-Core]

  • [X-:*-Greeter]

  • [X-:0-Core]

diesen Text ein:

     TerminateServer=true

Danach die Datei speichern und den KDM neustarten. Nun sollte es beim Herunterfahren und Rebooten kein Problem geben. Dazu gibt es ein kleines Tool: attachment:Patchtool.class Um das Tool zu verwenden, wird Java benötigt. Die Datei darf nicht umbenannt werden. Es wird dann wie folgt ausgeführt:

sudo java Patchtool /etc/kde3/kdm/kdmrc

Wechsel zur Konsole geht nicht

Hier reicht es, dem Kernel beim Start die Option "vga=normal" mitzugeben. Siehe hierzu den Wiki-Artikel Booten.

Videoprogramme funktionieren nicht mehr

Falls Fernsehprogramme wie kdetv, zapping, tvtime oder Videos nach der Installation der ATi-Treiber nicht mehr korrekt funktionieren, öffnet man die Datei /etc/X11/xorg.conf in einem Editor mit Root-Rechten [2] und fügt in der zugehörigen "Device"-Section die folgenden zwei Zeilen an:

Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"

OpenOffice.org und Scim

Wenn die SCIM-Eingabe unter OpenOffice.org nicht funktionieren sollte, kann das an einem Konflikt zwischen der OpenGL-Bibliothek und dem fglrx-Treiber liegen.

Als Lösung muss die Datei /usr/lib/libGL.so.1.2 einer früheren Treiber-Version benutzt werden. Ein Download ist ist unter folgendem Link möglich: libGL.so.1.2.

Die heruntergeladene Datei muss im Anschluss mit Root-Rechten in das Verzeichnis /usr/lib/ kopiert und ggf. überschrieben werden (vorher Sicherung anfertigen!). Abschließend sollte man noch die Verknüpfung noch neu setzen. Dafür gibt man folgende Zeilen im Terminal [1] ein (für alle Fälle vorher die Datei /usr/lib/libGL.so.1 sichern):

sudo rm /usr/lib/libGL.so.1
sudo ln -s /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1

Quelle: http://ubuntuforums.org/showthread.php?t=185033 {en}

Hardwareprobleme

Monitor bleibt schwarz

Falls sich nach der Installation der fglrx-Treiber der Monitor beim Start des XServers immer abschaltet und die ATi-Grafikkarte zwei Monitorausgänge hat, kann das daran liegen, dass der Treiber die Signale an den falschen Ausgang schickt. Man sollte versuchen, den Monitor wenn möglich an den anderen Anschluss anzuschließen (ggf. mit mitgeliefertem Adapter) oder man öffnet die Datei /etc/X11/xorg.conf in einem Editor mit Rootrechten [2] und fügt in der "Device"-Sektion folgendes ein:

Option "MonitorLayout" "Auto,Auto"

Aus dem Ubuntuwiki {en} übernommen.

Noch ein Grund für dieses Problem kann sein, daß in der (seit Gutsy) /etc/X11/xorg.conf in der Section "Monitor" modeline stehen. Diese dann einfach mit einem # auskommentieren.

#  modeline  "640x480@60" 25.2 640 656 752 800 480 490 492 525 -vsync -hsync

Der fglrx Treiber scheint damit nicht zurechzukommen.

Gewünschte Auflösung lässt sich nicht einstellen

Manchmal muss man für bestimmte Auflösungen erst einmal gewisse Einstellungen in der /etc/X11/xorg.conf vornehmen. Der Wiki-Artikel Bildschirmauflösung zeigt das Vorgehen.

Probleme mit ATi-PCI-Express Karten

Mit diversen ATi-Karten der X-Serie kann es bei 3D-Anwendungen (auch bei Xgl) zu Freezes kommen. Abhilfe schaffen folgende Zeilen

Option "UseInternalAGPGART" "no"
Option "KernelModuleParm" "agplock=0"

die in die Datei /etc/X11/xorg.conf in der Section "Device" eingefügt werden müssen [2].

Suspend Mode funktioniert nicht mehr

Bei IBM Thinkpads

Fehlerhafte Anleitung
Diese Anleitung ist fehlerhaft. Wenn du weißt, wie du sie ausbessern kannst, nimm dir bitte die Zeit und bessere sie aus.
Anmerkung:
Es ist unklar, was man mit dem Modul ibm-acpi macht.

Es kann bei Thinkpads nach der Installation des fglrx-Treibers vorkommen, dass der Laptop aus dem Suspend-Modus nur mit Darstellungsfehlern aufwacht und gar einfriert.

Als Voraussetzung müssen die Pakete

  • vbetool

  • ibm-acpi (Das ist ein Modul? Soll es also geladen sein?)

neben dem fglrx-Treiber installiert sein [3].

Jetzt öffnet man die Datei /etc/acpi/prepare.sh in einem Editor mit Root-Rechten [2]. Hier müssen vier Zeilen zur Verwendung des vbetool einkommentiert werden:

# And then try to save some video state
if [ x$SAVE_VBE_STATE = "xtrue" ]; then
  VBESTATE=`tempfile`
  vbetool vbestate save >$VBESTATE;
fi

Danach sollte Fn + F4 für Suspend und Fn + F12 für Hibernate wieder einwandfrei funktionieren.

Hinweis:

Durch ein Upgrade wird die Datei /etc/acpi/prepare.sh mit vorheriger Nachfrage überschrieben. Die obigen Schritte müssen dann erneut ausgeführt werden.

Bei anderen Systemen

Der folgenden Teil basiert auf der Anleitung Linux on Asus M6N {en} .

Zuerst installiert man die Pakete

Danach muss die Datei /etc/hibernate/hibernate.conf in einem Editor mit Rootrechten [2] bearbeitet werden. Die Datei besteht aus drei Abschnitten, die nacheinander bearbeitet werden.

Da im Standardkernel kein Swsusp2 aktiviert ist, muss man

UseSwsusp2 no

einstellen im ersten Abschnitt einstellen. Alle anderen Zeilen müssen mit einem # auskommentiert werden.

Im zweiten Abschnitt benötigen man dann

UseSysfsPowerState disk

Statt "disk" könnte hier auch "mem" stehen. Alle anderen Zeilen werden auskommentiert.

Im dritten Abschnitt muss wieder alles auskommentiert werden. Weiter unten entfernt man noch das Kommentarzeichen # vor

EnableVbetool yes

Danach speichert man die Datei.

Ein Aufruf im Terminal [1] von

hibernate

sollte das System dann in den Hibernate-Modus schicken.

Hinweis:

Es kann sein, dass nach einem Upgrade die Konfigurationsdateien auf Nachfrage überschrieben werden. Wenn Suspend/Hibernate nach dem Upgrade nicht mehr funktioniert, sollte man diese kontrollieren.

Suspend und Hibernate

Möchte man sowohl Suspend als auch Hibernate nutzen, dann erstellt man sich eine neue Konfigurationsdatei [2], die sich nur durch

UseSysfsPowerState mem

von den oben genannten Optionen unterscheidet. Diese Datei speichert man als /etc/hibernate/suspend.conf.

Die entsprechenden Aufrufe heißen dann

hibernate -F /etc/hibernate/hibernate.conf
hibernate -F /etc/hibernate/suspend.conf

Suspend, falls Hibernate schon funktioniert

Falls nur Suspend noch nicht funktioniert, dann hilft es evtl., die Datei /etc/default/acpi-support in einem Editor mit Root-Rechten [2] zu öffnen und die Zeile von

POST_VIDEO=true

zu

POST_VIDEO=false

zu ändern.

Probleme mit WLAN-Karten

Bei der gleichzeitigen Verwendung von WLAN-Karten mit einem Ralink RT2500-Chipsatz kommt es vor, dass das Skript mit einem Fehler abbricht weil die WLAN Karte nicht deaktiviert werden konnte. In diesem Fall müssen die Zeilen

### network
DownInterfaces ra0
UpInterfaces auto

in die jeweilige Konfigurationsdatei hinzugefügt werden. (Quelle: Gentoo Linux Wiki {en} )


last edited 06.06.2008 20:28:27 by boenki