Linux: Mesa 9.2 unterstützt AMDs UVD

Mit der gestern erschienen Version 9.2 der 3D-Grafikbibliothek Mesa kann nun auch AMDs Unified Video Decoder (UVD) verwendet werden. Durch die Dekodierung von Videos direkt auf der Grafikkarte wird die CPU entlastet. Die neuen Funktionen können bereits jetzt unter Arch Linux getestet werden.

Installation

Um AMDs UVD unter Linux zu verwenden wird Mesa 9.2, ein Kernel ab Version 3.10 und eine AMD-Grafikkarte ab Radeon HD 4330 welche UVD 2.2 oder UVD 3 unterstützt benötigt. Ein Zugriff auf den UVD ist zum Beispiel über die VDPAU Schnittstelle von Nvidia möglich.

Hinweis: Seit heute befinden sich offizielle Pakete für Mesa 9.2 im Extra Repository. Die Verwendung des Testing Repository ist somit nicht mehr notwendig und die Pakete sollten automatisch beim Update installiert werden.

Zum jetzigen Zeitpunkt existieren für Arch Linux die für Mesa 9.2 benötigten Pakete nur im Testing Repository, welches vor der Installation der Pakete aktiviert werden muss. Achtung: Pakete aus dem Testing Repository können das System unbenutzbar machen.

Aktiviert wird das Testing Repository über die Datei /etc/pacman.conf. In ihr müssen folgende Zeilen einkommentiert werden.

[testing]
Include = /etc/pacman.d/mirrorlist

Anschließend sollten ausschließlich die benötigten Mesa und keine weiteren Pakete installiert werden. Dies kann wie folgt geschehen.

$ sudo pacman -S mesa mesa-libgl ati-dri

Achtung: Das Paket llvm-amdgpu-lib-snapshot wird auf Grund von Abhängigkeit mit installiert.

Nach der Installation ist es empfehlenswert das Testing Repository wieder zu deaktivieren.

Verwendung mit dem mplayer

Anschließend kann der UVD zum Beispiel mit dem mplayer über die VDPAU Schnittstelle wie folgt verwendet werden.

$ mplayer -vc ffh264vdpau big_buck_bunny_1080p_h264.mov

Ein Wrapper mit dem Namen mplayer-vdpau-auto hilft bei der Verwendung vom mplayer mit VDPAU Schnittstelle. Hierfür ist die Installation des Paketes mplayer-vdpau-auto aus dem AUR notwendig. Anschließend erkennt der Wrapper automatisch, um welches Videoformat es sich handelt und welche Parameter für den Aufruf vo mplayer notwendig sind.

$ mplayer-vdpau-auto big_buck_bunny_1080p_h264.mov

VDPAU Informationen abfragen

Mit Hilfe des Programms vdpauinfo können Informationen über die unterstützten Videoformate abgefragt werden. Eine Installation ist durch das gleichnamige Programm aus dem AUR möglich. Anschließend kann es von der Kommandozeile aufgerufen werden.

$ vdpauinfo

Bei einem Test mit einer Radeon HD 4650 Grafikkarte gab das Programm im Dekoder Teil folgende Ausgaben

Mesa 9.1

$ vdpauinfo
[...]
Decoder capabilities:

name               level macbs width height
-------------------------------------------
MPEG1                16 262144  8192  8192
MPEG2_SIMPLE         16 262144  8192  8192
MPEG2_MAIN           16 262144  8192  8192
[...]

Mesa 9.2

$ vdpauinfo
[...]
Decoder capabilities:

name               level macbs width height
-------------------------------------------
MPEG1                16  9216  2048  1152
MPEG2_SIMPLE         16  9216  2048  1152
MPEG2_MAIN           16  9216  2048  1152
H264_BASELINE        16  9216  2048  1152
H264_MAIN            16  9216  2048  1152
H264_HIGH            16  9216  2048  1152
VC1_SIMPLE           16  9216  2048  1152
VC1_MAIN             16  9216  2048  1152
VC1_ADVANCED         16  9216  2048  1152
[...]

Zu sehen ist, dass mit Mesa 9.2 zusätzlich die Formate h264 und VC1 unterstützt werden.

Fazit

Bei einem ersten Test mit dem FullHD Video von Big Buck Bunny im h264 Format blieb die CPU Auslastung bei einem System mit einem AMD BE-2400 Prozessor mit 2.3GHz im einstelligen Prozentbereich. Mit Mesa 9.1 waren Aussetzer sichtbar und die CPU Auslastung lag durchgehend bei über 90%. Auch bei anderen Videos funktionierte die Dekodierung auf der Grafikkarte ohne Probleme.

Verwandte Artikel