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.
Einige der nachfolgenden Probleme können unter Umständen auch auf ein fehlerhaftes Zusammenspiel des fglrx-Treibers mit Compiz zurückzuführen sein. Falls die nachfolgenden Problemlösungen nicht den gewünschten Erfolg bringen, sollte man daher ggf. auch Compiz/Problembehebung zur weiteren Fehler-Eingrenzung zu Rate ziehen.
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)
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.
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.
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" bzw. "EnvyNG" (Link ) installiert hat, sollte man Folgendes ausführen:
envy --uninstall-all
bzw.
envyng --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
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.
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.
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 ) Die Lösung ist eine manuelle Installation des proprietären ATI-Treibers in der aktuellsten Version (>= 8.38.6).
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])
mit apturl
Paketliste zum Kopieren:
sudo apt-get install linux-restricted-modules-386
sudo aptitude install linux-restricted-modules-386
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/
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.
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 +
⌫ ) 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
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.
Fremdsoftware kann das System gefährden.
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
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.
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 Biblothek im Terminal [1] mittels
sudo ln -s /usr/share/fglrx/diversions/libGL.so.1.2 /usr/lib/libGL.so.1
zu setzen.
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.
Des Weiteren kann es helfen, am Ende der Datei noch folgenden Zeilen hinzuzufügen (falls noch nicht vorhanden):
Section "DRI" Group "video" Mode 0666 EndSection
Sollte der Fensteraufbau, das Minimieren und Maximieren oder das Scrollen sehr langsam sein, kann im Catalyst Control Center die Leistung verbessert werden, indem im Menüpunkt "Anzeigeoptionen" im Unterpunkt "Rissfrei" die Option "Rissfreie Desktopdarstellung zum Reduzieren des Ziehens aktivieren" ausgewählt wird.
Geringfügig mehr Leistung bringt die Option XAA
statt EXA
in der xorg.conf (Vergleiche Wikieintrag Konfiguration). Außerdem kann die 2D-Darstellung durch Aktivieren der Desktopeffekte zum Teil umgangen werden. Dann minimieren und maximieren die Fenster in normaler Geschwindigkeit, das Scrollen kann jedoch noch träge sein.
Dieses Vorgehen wurde unter folgenden Versionen und Hardware getestet und muss nicht zwingend auf andere Konstellationen von Hardware und Treibern erfolgreich anwendbar sein:
Ubuntu 10.10 mit dem fglrx Treiber 11.1 / 11.2 und einer Mobility Radeon HD 5870
Ubuntu 11.04 mit dem fglrx Treiber 11.10 und einer Mobility Radeon HD 5870 (von den erwähnten Kombinationen brachte diese die beste 2D Leistung)
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).
Es kann mit den neusten fglrx-Versionen vorkommen, dass 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
mit apturl
Paketliste zum Kopieren:
sudo apt-get install xscreensaver
sudo aptitude install xscreensaver
installieren [3]. Alternativ reicht auch nur die Installation und die Veränderungen des Menüeintrags mit einem Menüeditor zu
xscreensaver-command -prefs
Bei einigen Radeon Grafikkarten (z.B. HD 5500) wird das Compositing jedes Mal, wenn man sich neu anmeldet, ausgesetzt. Dieses Problem lässt sich beseitigen, indem man in "Systemeinstellungen -> Arbeitsfläche -> Arbeitsflächeneffekte -> Erweitert" einen Haken bei "Funktionsprüfungen deaktivieren" setzt. Alternativ kann man in der ~/.kde/share/config/kwinrc den Eintrag
DisableChecks=false
ändern in
DisableChecks=true
.
Mit einigen Karten kommt es bei Verwendung von Compiz zu sehr langsamen Fenster-Minimieren- und Maximieren-Animationen, die das System für einige Sekunden blockieren (Bug 351186). Bis dieser Fehler behoben wird, kann als Übergangslösung die Funktion "Powerplay" im ATI Catalyst Control Center deaktiviert werden.
Hier reicht es, dem Kernel beim Start die Option "vga=normal" mitzugeben. Siehe hierzu den Wiki-Artikel Booten.
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"
In einigen Fällen funktioniert diese Lösung jedoch nicht [wann genau?], hier hilft nur xawtv als TV-Programm zu nehmen und mit xawtv -noxv-video
zu starten. Zudem muss jetzt einmal per
Strg +
Alt +
F1 auf eine Textkonsole und dann mit
Alt +
F7 wieder zurückgewechselt werden.
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: ubuntuforums.org
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 übernommen.
Noch ein Grund für dieses Problem kann sein, dass 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.
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.
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].
Es kann bei einigen Systemen nach der Installation des fglrx-Treibers vorkommen, dass der Laptop aus dem Suspend-Modus nur mit Darstellungsfehlern aufwacht und gar einfriert.
Basierend auf dieser Anleitung aus dem inoffiziellen ATI Linux-Treiber-Wiki.
Beim aktuellen ATI-Treiber (Catalyst 8.7) funktionieren die Schlafmodi (suspend-to-disk und suspend-to-ram) nach folgenden Änderungen in der Datei /etc/default/acpi-support:
SAVE_VBE_STATE=true
durch
SAVE_VBE_STATE=false
und
POST_VIDEO=true
durch
POST_VIDEO=false
ersetzen.
Außerdem sollte der laptop-mode deaktiviert sein, was aber Standardeinstellung ist:
ENABLE_LAPTOP_MODE=false
Danach sollte Fn + F4 für Suspend und Fn + F12 für Hibernate wieder einwandfrei funktionieren.
Der folgenden Teil basiert auf der Anleitung Linux on Asus M6N .
Zuerst installiert man die Pakete
vbetool
hibernate (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install vbetool hibernate
sudo aptitude install vbetool hibernate
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.
Es kann vorkommen, dass nach einem Upgrade die Konfigurationsdateien auf Nachfrage überschrieben werden. Wenn Suspend/Hibernate nach dem Upgrade nicht mehr funktioniert, sollte man diese kontrollieren.
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
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.
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 )
Seit einiger Zeit existiert ein Bug im propritären ATI Catalyst Treiber der eine Art DualScreen Schachbrett erzeugt, wenn Wine, aber auch teils native OpenGL-Anwendungen gestartet werden.
Im Thread zum Catalyst 8.6 gibt es ein typisches Beispiel. Zum Glück kann man Abhilfe schaffen und das sogar relativ einfach, man muss lediglich die Datei /etc/X11/xorg.conf in einem Editor mit Rootrechten [2] öffnen und fügt in der Display
-SubSektion Folgendes ein:
Virtual 1281 1024
Damit ergibt sich, für das Beispiel hier mit 1280x1024 Pixel, folgendes Bild:
SubSection "Display" Viewport 0 0 Depth 24 Virtual 1281 1024 EndSubSection
Die Auflösung die man wählt sollte natürlich der eigenen verwendeten entsprechen und der X-Wert muss einen Pixel größer sein als normal! Anschließend den X-Server neustarten und in Auflösungsauswahl die neue Auflösung wählen. Nun sollten alle Anwendungen wieder wie gewohnt laufen. Unter Umständen ist es nötig, dass man Wine ein virtuelles Display betreiben lässt, da es im Fullscreen denoch zu Problemen kommen kann.
Durch ältere Versionen des fglrx-Treibers werden die Lüfter nicht gesteuert und laufen dadurch immer auf 100%. Man kann über die Kommandozeile mit dem Tool aticonfig
den Lüfter der ATI-Grafikkarte regeln.
Mit dem Kommando
watch -n0 aticonfig --adapter=0 --od-gettemperature
kann die Temperatur der GPU überwacht werden. Watch ruft immer wieder das aticonfig-Kommando auf.
Jetzt regeln man den Lüfter herunter. Dabei sollte immer die Temperatur überwacht werden.
Fanspeed=5:
aticonfig --pplib-cmd "set fanspeed 0 5"
Achtung: Bevor eine 3D-Anwendung gestartet wird, muß der Lüfter hochgeregelt werden!
Hochregeln (Fanspeed=55):
aticonfig --pplib-cmd "set fanspeed 0 55"
Es ist möglich durch Konfiguration im Catalyst Control Center im Menüpunkt "Powerplay" die Leistung im Netzteilbetrieb auch auf "Maximale Akkulaufzeit" zu stellen. Notebookbesitzer können so die Lüfteraktivität vermindern. Sofern man keine 3D Anwendungen verwenden möchte, ist die Leistung völlig hinreichend. Der Chip verbraucht in diesem Modus weniger Strom und läuft mit vermiderter Taktrate. Somit wird weniger Abwärme erzeugt und der Lüfter könnte seltener bzw. leiser laufen.