ATI

Aus wiki.archlinux.de
Version vom 11. Mai 2009, 22:34 Uhr von 127.0.0.1 (Einige Änderungen...)

Für den Betrieb von ATI-Grafikkarten unter Linux, gibt es die Möglichkeit der Benutzung, eines proprietären (Catalyst) und zwei freien Treiber (ati, radeonhd). Die Treiber unterscheiden sich in ihrem Funktionsumfang, wobei die freien Treiber in den meisten Fällen ausreichen sollten.

Open-Source-Treiber

Installation

Achtung: Falls der proprietäre Treiber installiert war, müssen die Pakete catalyst und catalyst-utils zuerst entfernt werden! Sollte dies wegen Abhängigkeitsproblemen nicht funktionieren, kann die Option 'd' verwendet werden. (pacman -Rd catalyst catalyst-utils)


Für xf86-video-ati:

pacman -Sy xf86-video-ati

Für xf86-video-radeonhd:

pacman -Sy xf86-video-radeonhd

radeonhd unterstützt Grafikkarten ab der X1xxx (r500) Serie. Für alle anderen muss radeon verwendet werden.

Konfiguration

Eine weitere Konfiguration ist nur dann nötig, wenn komplexere Einstellungen vorgenommen werden sollen. Andernfalls sollte Xorg alles automatisch erkennen. Sollte dies nicht der Fall sein, muss die Datei xorg.conf folgendermaßen editiert werden:

Module Section

Section "Module"
 Load  "glx"
 Load  "dri"
 Load  "drm"
EndSection

Device Section

Für xf86-video-ati:

Section "Device"
 Identifier "name"
 Driver "radeon"
EndSection

Für xf86-video-radeonhd:

Section "Device"
 Identifier "name"
 Driver "radeonhd"
EndSection

DRI Section

Section "DRI"
 Group        "video"
 Mode         0660
EndSection

Achtung: Der Benutzer muss in der Gruppe video sein, um die 3D-Unterstützung, zu verwenden.


TV-Out

Derzeit unterstützt nur radeon TV-Out. (Getestet auf: Mobility Radeon 9700)

Um die TV-Out Unterstützung auf Karten der Radeon HDxxxx Reihe (r6xx-r7xx) zu aktivieren, muss

Option "ATOMTvOut" "TRUE"

in Section "Device" in der Datei xorg.conf eingefügt werden.

Der Ausgang wird mittels xrandr konfiguriert:

xrandr --output S-video --set load_detection 1
xrandr --addmode S-video 800x600
xrandr --output S-video --set tv_standard pal

Aktiviert wird der Ausgang mit:

xrandr --output S-video --mode 800x600

Ausgeschaltet wird der Ausgang mit:

xrandr --output S-video --off

Leider kann der Inhalt eines XVideo-Bereichs (z.B. DVD-Wiedergabefenster) nur entweder auf dem PC selbst oder aber auf dem TV-Gerät ausgegeben werden. Das Umschalten geschieht mit xvattr, welches man aus dem AUR installieren kann.

  • Video-Ausgabe auf TV
xvattr -a XV_CRTC -v 1
  • Video-Ausgabe auf PC
xvattr -a XV_CRTC -v 0

Alternativ zur Nutzung von xvattr kann man auch den Desktop erweitern und dann das Video Fenster auf den Fernseher verschieben. So kann man den PC auch während der Video-Wiedergabe weiterbenutzen. Das wird dann ebenfalls mit xrandr gemacht. Zum Beispiel so:

xrandr --output S-video --right-of LVDS 

Das erweitert den Desktop auf der rechten Seite. Man kann dann also Fenster rechts aus dem Bild schieben und sie erscheinen dann auf dem Fernseher. Es kann auch sein, dass man statt LVDS VGA-0 oder VGA nehmen muss. Das kann man herausfinden indem man sich die Ausgabe von xrandr -q anschaut.

Damit das ganze funktioniert muss man in der xorg.conf in der Screen Section die maximale virtuelle Auflösung (Monitor + TV) angeben. Das sieht dann z.B. so aus:

Section "Screen"
       Identifier "Default Screen"
       Device     "ATI Technologies Inc RV350 [Mobility Radeon 9600 M10]"
       Monitor    "LCD-Display"
       DefaultDepth     24
       SubSection "Display"
               Depth     24
               Modes    "1280x800"
               Virtual   2080 800
       EndSubSection
EndSection

Die Werte für Virtual ergeben sich aus der Auflösung des Monitors (hier 1280x800) und der des TV-Ausgangs (hier 800x600). Also 2080 = 1280 + 800 und da in diesem Fall die Vertikale Auflösung des TV-Ausgangs (600) kleiner ist als die des Monitors (800) und der Desktop nach rechts erweitert wird, reicht eine maximale virtuelle Vertikale Auflösung von 800.

Fehlerbehebung

Fehler lassen sich in der Datei /var/log/Xorg.0.log finden.

Für die Behebung des Fehlers

(EE) Failed to load /usr/lib/xorg/modules/extensions//libdri.so
(EE) Failed to load module "dri" (loader failed, 7)
(EE) RADEONHD(0): RHDDRIVersionCheck: symbol DRIQueryVersion not available.(libdri.a is too old)
(WW) RADEONHD(0): RHDDRIPreInit: Version check failed. Disabling DRI.

muss xorg-server neuinstalliert werden:

pacman -Sy xorg-server

Proprietärer Treiber

Achtung: Falls einer der freien Treiber installiert war, müssen die Pakete libgl und xf86-video-ati oder xf86-video-radeonhd zuerst entfernt werden! Sollte dies wegen Abhängigkeitsproblemen nicht funktionieren, kann die Option 'd' verwendet werden. (pacman -Rd libgl xf86-video-ati)


Zu beachten ist, dass obwohl das Treiberpaket catalyst heißt, der Treiber und das nötige Kernelmodul fglrx heißen.

Installation

Der proprietäre Treiber ist im AUR zu finden und kann mittels ABS erstellt werden.

Konfiguration

Die Datei xorg.conf muss folgendermaßen editiert werden:

Module Section

Section "Module"
 Load  "glx"
 Load  "dri"
EndSection

Device Section

Section "Device"
 Identifier   "Device"
 Driver       "fglrx"
EndSection

DRI Section

Section "DRI" 
 Group	"video"
 Mode	 0660
EndSection

Achtung: Der Benutzer muss in der Gruppe video sein, um die 3D-Unterstützung, zu verwenden.


Fehlerbehebung

Fehler lassen sich in der Datei /var/log/Xorg.0.log finden.

Wenn Xorg nicht startet und die Fehlermeldung zurückgibt, dass die eingestellte 8-Bit-Farbtiefe von fglrx nicht unterstützt werde, muss man die „Screen“-Sektion um folgenden Eintrag erweitern.

DefaultDepth 24