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.
Links
- Webseite: Mesa 3D (englisch)
- Webseite: Arch Linux (deutsch)
- Webseite: AMD (deutsch)
- Webseite: Big Buck Bunny (englisch)