Ubuntu 12.10 „Quantal Quetzal“
Ubuntu 12.04 „Precise Pangolin“
Ubuntu 10.04 „Lucid Lynx“
Der freie Xorg-Treiber radeon
unterstützt auf dem Radeon-Chip basierende Grafikkarten. Er wird bei Ubuntu standardmäßig für Radeon-Grafikkarten verwendet. Der Treiber radeon
beinhaltet unter anderem volle Unterstützung für:
Die aktuelle Version des Treibers unterstützt Grafikkarten mit den folgenden Chipsätzen:
Chipsatz | Bezeichnung | 3D-Beschleunigung |
R1xx | Radeon, Radeon 7xxx | Ja |
R2xx | Radeon 8500 -9250 | Ja |
R3xx | Radeon 9500 – x600, x1050 | Ja |
R4xx | Radeon x700 – x850 | Ja |
R5xx | Radeon x1300 – x1950 | Ja |
R6xx | Radeon HD 2300 – HD 3850 | Ja |
R7xx | Radeon HD 4xxx Serie | Ja |
Evergreen | Radeon HD 5xxx Serie | Ja (ab 11.04) |
Northern Island | Radeon HD 6xxx Serie | Ja (ab 11.10) |
Der Treiber ist bei einer Standard-Ubuntu-Installation bereits vorinstalliert. Sollte dies nicht der Fall sein, kann der Treiber über die Paketverwaltung installiert[1] werden. Folgendes Paket wird benötigt:
xserver-xorg-video-ati
mit apturl
Paketliste zum Kopieren:
sudo apt-get install xserver-xorg-video-ati
sudo aptitude install xserver-xorg-video-ati
Der Treiber wird normalerweise automatisch benutzt, wenn ein entsprechender Chipsatz gefunden wird und kein anderer Treiber angegeben ist. In diesem Fall sind keine weiteren Schritte notwendig.
Sollte dies nicht der Fall sein, oder ist ein anderer Treiber aktiviert, kann der radeon-Treiber explizit in der Konfigurationsdatei des XServers /etc/X11/xorg.conf eingetragen werden. Dazu wird die Konfigurationsdatei mit einem Editor [2] mit Root-Rechten bearbeitet. Der Abschnitt "Device" ist um den Eintrag Driver "radeon"
zu ergänzen bzw. ein bestehender Eintrag zu ändern:
Section "Device" Identifier "Configured Video Device" Driver "radeon" EndSection
Nach einem Neustart sollte der Treiber aktiv sein.
Zusätzliche Optionen können im Device-Abschnitt der Datei /etc/X11/xorg.conf angegeben werden, die mit Root-Rechten bearbeitet[2] werden muss. Eine ausführliche Liste aller möglichen Optionen ist in der radeon-Manpage zu finden.
Section "Device" ... Option "<OPTION>" "<WERT>" EndSection
Der radeon
-Treiber erkennt beim Initialisieren der Grafikkarte alle Geräte-Informationen automatisch. Sollte es Probleme mit der Autoerkennung geben, kann man folgende Angaben tätigen:
"VideoRam 131072" - Der Arbeitsspeicher der Grafikkarte in Kilobytes (hier: 128 MB). Diese Einstellung ist normalerweise nicht notwendig, da der X-Server die Grafikkarte automatisch auf den verfügbaren Speicher prüft. Es gibt aber Grafikkarten, die X nicht automatisch erkennen kann, weswegen diese Option die Möglichkeit bietet manuell den Grafik-RAM anzugeben.
"MemBase" - die physikalische Adresse des linearen Framebuffer
"IOBase" - die physikalische Adresse des MMIO Registers
"ChipID" - PCI-Device ID
Option "AccelMethod" "EXA"
- EXA ist die neue 2D Beschleunigungsarchitektur und daher im allgemeinen unter 2D schneller. Es ist aber weniger erprobt und unter 3D etwas langsamer als XAA. Ab Jaunty wird EXA standardmäßig eingesetzt.
Option "AGPMode" "4"
- Wie schnell Daten von und zur Karte transferiert werden. (kein Einfluss bei PCI-Express Modellen, Werte: 1-8)
Option "AGPFastWrite" "1"
- Theoretisch erhöht dies die Geschwindigkeit, führt jedoch häufig zu Instabilitäten. (kein Einfluss bei PCI-Express Modellen, Werte: 1/0,)
Option "EnablePageFlip" "1"
- Steigert die 3D-Performance erheblich (nur im XAA-Modus, Werte: 1/0).
Option "ColorTiling" "1"
- Steigert die 3D-Performance erheblich und erhöht die Stabilität (Werte: 1/0).
Option "CRT2Position" "Wert"
- ermöglicht, die Position eines zweiten Bildschirmes festzulegen. Mögliche Werte sind Clone
(klont den ersten Bildschirm) , LeftOf n
(beginnt den zweiten Bildschirm links vom n-ten Pixel auf Bildschirm eins.), RightOf n
(rechts), Above n
(über) und Below n
(unter). Um also an einen 1024 Pixel breiten Bildschirm einen zweiten Bildschirm genau rechts davon beginnen zu lassen, wählt man RightOf 1024
.
Option "XaaNoScanlineImageWriteRect" "true"
und Option "XaaNoScanlineCPUToScreenColorExpandFill" "true"
- Helfen evtl bei vermurkster Schriftdarstellung
Option "DynamicClocks" "true"
- Mobile Grafikchipsätze takten je nach benötigter Leistung hinunter und herauf. (Bis einschließlich Ubuntu 9.04 Jaunty Jackalope)
Option "ClockGating" "on"
- Schaltet unbenutzte Teilbereiche der GPU ab. Reduziert dadurch Hitzeentwicklung. Erhöht die Akkuleistung. Kann aber die 3D-Performance beeinträchtigen. (Seit Ubuntu 9.10 Karmic Koala, Grundeinstellung ist "off"
)
Option "ForceLowPowerMode" "on"
- Aktiviert dauerhaft den Energiesparmodus der GPU. Reduziert dadurch Hitzeentwicklung. Erhöht die Akkuleistung. Kann aber die Performance beeinträchtigen. (Seit Ubuntu 9.10 Karmic Koala, Grundeinstellung ist "off"
)
Option "DynamicPM" "on"
- Aktiviert eine dynamische Energieanpassung. Der Energieverbrauch wird ausschließlich während des Leerlaufs (idle) und bei abgeschaltetem Bildschirm (DPMS) reduziert. Geringere Wärmeentwicklung und erhöhte Akkuleistung können damit erreicht werden. (Seit Ubuntu 9.10 Karmic Koala, Grundeinstellung ist "off")
Option "PanelSize" "1400x1050"
- Gibt an, wie viele Pixel angeschlossene Bildschirme haben (hier 1400x1050). Überschreibt automatische Erkennung. Nur empfehlenswert bei fehlerhafter Erkennung des Displays. Timings des Displays müssen über Modelines angegeben werden, falls diese ebenfalls falsch erkannt werden.
Die Hardware sollte selbstständig von System erkannt und sinnvoll konfiguriert werden. Sollte es dennoch notwendig sein eine Einstellung zu ändern, so muss in der Regel zuerst eine xorg.conf von Hand erstellt werden, in die man dann diese Optionen einfügen kann.
Beispiel für den Eintrag in die xorg.conf:
Section "Device" Identifier "Configured Video Device" Driver "radeon" Option "ClockGating" "on" Option "ForceLowPowerMode" "on" Option "DynamicPM" "on" EndSection
Manche dieser Optionen können dazu führen, dass kein Bild beim Computer-Start sichtbar ist. Man sollte wissen, was man tut, wenn man diese benutzt! Für weitere Informationen die Manpage von radeon konsultieren.
Mit dem Wechsel zu Kernel Mode-Setting (KMS) sind auch die Stromsparfunktionen nun ein Teil des Kernel Moduls des Treibers geworden, wodurch die oben aufgeführten Optionen zum Stromsparen keine Wirkung mehr haben. Die Kernel-seitigen Stromsparfunktionen werden erst seit Ubuntu 10.10 Maverick Meerkat unterstützt, Nutzer von Ubuntu 10.04 Lucid Lynx müssen entweder den neueren Backport Kernel installieren oder KMS abschalten und die oben aufgeführten Treiber Optionen benutzen.
Der Kernel unterstützt zwei Methoden zum Stromsparen:
dynpm
- Der Grafikprozessor wird abhängig von der aktuellen Belastung dynamisch getaktet, dabei kann der Taktwechsel zu kurzem Flimmern des Bildschirms führen. Funktioniert nur wenn nur ein Bildschirm angeschlossen ist.
profile
- Das Taktverhalten wird statisch über ein Profil festgelegt.
Es stehen dabei folgende Profile zur Auswahl:
default
- Der Standardtakt wird beibehalten und es wird nichts verändert, dies ist die Standardeinstellung.
high
- Der Grafikprozessor wird mit hoher Taktstufe betrieben (dies ist in der Regel der Standardtakt).
mid
- Der Grafikprozessor wird mit mittlerer Taktstufe betrieben.
low
- Der Grafikprozessor wird mit geringer Taktstufe betrieben, dies kann bei einigen Laptops zu Problemen mit dem Bildschirm führen. Nicht jeder Grafikchip hat mehr als zwei festgelegte Taktstufen, in dem Fall sind low
und mid
identisch.
auto
- Es wird zwischen mittlerer und hoher Taktstufe gewechselt, abhängig davon ob der Rechner an einer Stromversorgung hängt oder nur über einen Akku versorgt wird.
Mit Ausnahme des default
Profils wird bei allen Profilen auf niedrige Taktstufe gewechselt, wenn der Bildschirm angewiesen wird in den Standby-Modus zu wechseln.
Die Einstellungen können geändert werden, indem die Schlüsselwörter mit Root-Rechten[4] in die folgenden dazugehörigen Gerätedateien geschrieben werden:
/sys/class/drm/card0/device/power_method /sys/class/drm/card0/device/power_profile
Dabei ist zu beachten, dass bei Systemen mit mehreren Grafikkarten der Pfad eventuell angepasst werden muss (z. B. card1
statt card0
). Um bspw. testweise zur dynpm
Methode zu wechseln, kann folgender Befehl genutzt werden:
echo dynpm | sudo tee /sys/class/drm/card0/device/power_method
Wie bei jeder Einstellung, die über eine Gerätedatei vorgenommen wird, ist sie nach einem Neustart verloren. Wenn die Änderung dauerhaft übernommen werden soll, muss sie bei jedem Startvorgang angewendet werden. Eine Möglichkeit ist, die Änderungen als einfache echo Befehle in die Datei /etc/rc.local
einzufügen.[2] Wenn etwa dauerhaft das Profil auto
aktiv sein soll, könnte die rc.local
so aussehen:
echo profile > /sys/class/drm/card0/device/power_method echo auto > /sys/class/drm/card0/device/power_profile exit 0
Der Grafik-Chip muss natürlich die Möglichkeit bieten, diese Optionen zu nutzen (z. B. mobile Grafik-Chips in Notebooks.)
Ist der erreichbare Effekt dieser Optionen (weniger Abwärme, erhöhte Akkuleistung) nicht zufriedenstellend, oder zeigt die Option überhaupt keine Wirkung, so kann man sich mit dem Overclocking-Tool rovclock behelfen. Anstatt die GPU zu übertakten, kann man die Taktrate für GPU und Grafik-Speicher verringern. Sicherheitshinweise im Artikel unbedingt beachten!
Beim Wechsel von dem proprietären ATI-Treiber (fglrx) zu radeon kann es zu Konflikten zwischen beiden Treibern kommen, wenn der fglrx-Treiber unvollständig deinstalliert wurde. Dies kann sich durch Abstürze, Fehler beim Systemstart, Geschwindigkeitsprobleme und fehlende 3D-Unterstützung äußern. Abhilfe schafft die Deinstallation des Pakets: fglrx bzw. bei der seit Oneiric ebenfalls verfügbaren aktualisierten Version fglrx-updates (bei manuell durchgeführter Installation des fglrx-Treibers siehe hier). Anschließend müssen die folgenden Pakete erneut installiert werden:
libgl1-mesa-glx
libgl1-mesa-dri
xserver-xorg-video-radeon
xserver-xorg-core
Die Neuinstallation lässt sich mit folgendem Befehl erreichen:
sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-video-radeon xserver-xorg-core
Wer beim Durchsehen der /var/log/Xorg.0.log auf Folgendes stößt, sollte sich nicht wundern: (II) RADEON(0): num pipes is 4
. Hier läuft der Treiber unter einer Radeon x850xt, die eigentlich 16 Pipelines hat und man dementsprechend denken könnte, dass Einiges verschwendet würde. Da es aber keine Karte mit 2 oder 6 Pipelines gibt, hat man diese zu Blöcken a 4 Stück zusammen gefasst. Also ist die Ausgabe vollkommen in Ordnung.
Auch bei der Meldung (II) RADEON(0): Detected total video RAM=262144K, accessible=131072K (PCI BAR=131072K)
ist alles in Ordnung. Die erste Zahl gibt an, wieviel Grafikspeicher erkannt wurde und die anderen beiden, wie groß der Bereich ist, auf den die CPU auf einmal zugreifen kann. Dieser Bereich kann aber hin und her geschoben werden. Weil die CPU nicht viel mit den Berechnungen der Grafikkarte zu tun haben sollte, sind die letzten beiden Werte zu vernachlässigen, denn die Grafikkarte kann auf ihr gesamtes RAM zugreifen.
Bei älteren ATI-Karten mit 32 MB (oder weniger) Speicher kann es zu Problemen mit direkt gerenderten Fenster kommen. Entweder ist die gesamte grafische Oberfläche sehr langsam oder es treten Fehler z. B. bei OSD-Benachrichtigungen, der Systemüberwachung oder in OpenOffice-Menüs auf. In diesem Fall sollte in der /etc/X11/xorg.conf die Option "RenderAccel" "off"
eingefügt werden. Vorgehen:
Ein Terminal[3] öffnen und GDM stoppen:
sudo service gdm stop
Dann, falls nicht vorhanden, die Datei /etc/X11/xorg.conf erzeugen:
sudo Xorg -configure
Nun diese Datei in einem Editor[2] mit Root-Rechten[4] bearbeiten, die Zeilen
Section "Device" ... Driver "radeon" Option "RenderAccel" "off" EndSection
ergänzen. Danach X/GDM wieder starten:
sudo service gdm start
Falls das nicht hilft, kann man weitere Optionen hinzufügen. Speziell bei der ATI Radeon Mobility 7500 (in vielen Thinkpads der Serie T4x verbaut) hilft das ThinkWiki weiter.
Bei manchen ATI-Chips kann es passieren, dass, wenn man einen externen Monitor anschließt, das Bild auf diesem verwaschen wirkt. Das liegt an einem Bug im aktuellen Kernel und kann wie folgt umgangen werden:
sudo avivotool regset 0x458 0x00000000
Es gibt anscheinend auch andere Chips, bei welchen obiger Befehl gar nicht oder nur teilweise funktioniert; hier muss dann zusätzlich noch Folgendes ausgeführt werden:
sudo avivotool regset 0x45c 0x00000000
Das Programm avivotool ist im Paket
radeontool
mit apturl
Paketliste zum Kopieren:
sudo apt-get install radeontool
sudo aptitude install radeontool
enthalten, das bei Bedarf nachinstalliert werden kann.
Aller Wahrscheinlichkeit nach wird dieser Fehler mit einem der nächsten Upgrades behoben.
Seit Lucid wird für ATI Grafikkarten Kernel Mode-Setting (KMS) verwendet. Diese Technik ist noch sehr jung und so kann es unter Umständen dazu führen, dass der Treiber eine schlechtere Leistung erbringt und so bereits einfache Anwendungen darunter leiden müssen. Auch die Funktion des Bereitschaftsmodus kann beeinträchtigt sein. Zur Behebung dieses Problems lässt sich KMS deaktivieren, dazu legt man mithilfe eines Editors[2] mit Root-Rechten[4] die Datei /etc/modprobe.d/radeon-kms.conf an und füllt diese mit folgender Zeile:
options radeon modeset=0
Danach abspeichern und einen Neustart durchführen. Als Nebeneffekt fällt der seit Lucid verwendete grafische Bootsplash Plymouth in den Textmodus zurück und die virtuellen Konsolen haben wieder die kleinere Standardauflösung wie in vorhergehenden Ubuntu Versionen. Hier gibt es eine Anleitung, wie diese Nebeneffekte behoben werden können.
Unter Umständen, z. B. bei der Verwendung einer verschlüsselten Partition, muss zusätzlich mit folgendem Befehl[3] das Initramfs für die vorhandenen Kernel neu generiert werden, damit die Änderung übernommen wird:
sudo update-initramfs -u -k all
Nach einem Upgrade auf Ubuntu 11.04 kann es sein, dass, wenn man den radeon
-Treiber verwendet, die Desktop-Effekte nicht mehr funktionieren und es beim Starten von Compiz über die Konsole[3] mit dem Befehl
compiz --replace
zu folgender oder ähnlicher Fehlermeldung am Ende der Konsolenausgabe kommt:
Compiz (opengl) - Fatal: GLX_EXT_texture_from_pixmap is missing Compiz (opengl) - Fatal: Software rendering detected Compiz (bailer) - Info: Ensuring a shell for your session
Lösen lässt sich dieses Problem in manchen Fällen, indem man den Kernel Mode-Setting in den Bootoptionen der Grub-Konfiguration aktiviert . Dazu öffnet man die Datei /etc/default/grub in einem Editor[2] mit Root-Rechten[4] und fügt am Ende der Zeile, welche mit
GRUB_CMDLINE_LINUX_DEFAULT=
beginnt, Folgendes zusätzlich ein:
radeon.modeset=1
Wenn also die Zeile vorher z. B. so aussah:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
muss sie nach Einfügen der oben genannten Ergänzung so aussehen:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.modeset=1"
Nach dem Speichern der Datei muss noch folgender Befehl ausgeführt und der Computer neu gestartet werden.
sudo update-grub
Wie zuverlässig diese Lösung ist, wird momentan im Forum getestet. Funktioniert hat sie bereits bei einem Benutzer mit einer ATI Mobility Radeon X300 und einem anderen Benutzer mit einer ATI Radeon X1200 Grafikkarte.
Dieses Problem wurde bereits als Bug gemeldet (768236) und wird möglicherweise durch spätere Updates automatisch behoben.
Sollte die Darstellung des Desktops zu klein sein (Schwarzer Rahmen) genügt es im Control Center unter "Digitaler Monitor -> Anpassungen -> Skallierungsoptionen" den Regler entsprechend zu verschieben (Overscan).
Im Gegensatz zum (proprietären) fglrx-Treiber, hat der radeon-Treiber standardmäßig die Tonausgabe deaktiviert. Um ihn zu aktivieren, muss man dem Kernel dies mitteilen. Am besten erfolgt dies in der Datei /etc/default/grub:
1. Grub-Konfiguration editieren:
gksu gedit /etc/default/grub
2. Parameter hinzufügen: In der Zeile GRUB_CMDLINE_LINUX_DEFAULT= den Parameter radeon.audio=1 hinzufügen. Ergebnis im üblichen Fall: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.audio=1"
3. Grub aktualisieren:
sudo update-grub
Nach dem nächsten Neustart sollte das Problem behoben sein und die gewünschte Audioausgabe über die "Systemeinstellungen" der grafischen Oberfläche adaptierbar sein.