ATI

Aus wiki.archlinux.de

Für den Betrieb von ATI-Grafikkarten unter Linux gibt es die Möglichkeit der Benutzung zweier freier Treiber (ati, radeonhd). Auch existiert ein propritärer Treiber, der zwar volle 3D Unterstützung bietet, aber häufig das aktuellste X.org nicht unterstützt. 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.

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.

Bild nur schwarz-weiss

Falls das Bild auf dem Fernseher nur schwarz-weiss ist, liegt das vermutlich am verwendeten Kabel.
Hier (Acer Extensa 3000, Mobility Radeon 9700) verwende ich ein S-VHS Kabel und einen S-VHS -> SCART Adapter. Nach Ablöten bzw. Entfernen der Pins 13 und 17 im SCART Adapter habe ich nun ein farbiges Bild. Ich weiss nicht ob das immer funktioniert, aber einen Versuch ist es auf jeden Fall Wert. Es gibt aber auch fertige Kabel/Adapter zu kaufen, die das Problem beheben. Zum Beispiel das "PC-VIDEO-Verbindungsset" von HAMA.

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

In Zusammenhang mit Kernelmodesetting (KMS) kann es noch zu Problemen kommen. Deaktiviert wird es durch

radeon.modeset=0

Dies muss dem Kernel als Parameter in Grub übergeben werden.

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. Eine Aktualisierung des Kernels oder von X.org kann die Neuerstellung dieser Pakete notwendig machen.

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:

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

Siehe auch

Weblinks