ATI

Aus wiki.archlinux.de

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

Hinweis: 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

xf86-video-ati stellt den radeon Treiber bereit, der Grafikkarten von der Radeon 7000 Serie bis zur Radeon HD 4xxx Serie unterstützt (r100 - r700). Mehr Informationen finden sich auf der offizielle Seite von radeon.

Für xf86-video-radeonhd:

pacman -Sy xf86-video-radeonhd

radeonhd unterstützt Grafikkarten von der Radeon X1xxx Serie bis zur Radeon HD 4xxx Serie (r500 - r700). Mehr Informationen finden sich auf der offizielle Seite von radeonhd.

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

Hinweis: 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 neu installiert werden:

pacman -Sy xorg-server

Proprietärer Treiber

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

Installation

Hinweis: Falls einer der freien Treiber installiert war, müssen die Pakete libgl, ati-dri 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 ati-dri xf86-video-ati)

Der proprietäre Treiber ist im AUR zu finden und kann mittels ABS erstellt werden. Der aktuelle proprietäre Treiber unterstützt nur noch Karten ab der HD2xxx-Serie (r600). Für ältere Grafikkarten muss einer der freien Treiber verwendet 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

Hinweis: 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

Links