Wie aktiviere ich die Unterstützung der VDPAU-Hardware-Videobeschleunigung für Nicht-Nvidia-Karten?

8

Ich habe über VDPAU gelesen und wie es mplayer ermöglicht, Hardwarebeschleunigung zu haben. Aber ich habe auch gelesen, dass es nur für Nvidia-Karten ist

Wie kann ich es auf einer Nicht-Nvidia-Karte aktivieren (meine ist eine AMD, aber ich möchte dies auch in einem Intel-Netbook aktivieren)? und wird dies für andere Videoplayer funktionieren?

Uri Herrera
quelle
VDPAU afaik ist ein "Nvidia Only" Tech
Amith KK
Hat AMD dann so etwas für seine Karten?
Uri Herrera
Ati hat XVBA Aber ich hatte seit 2008 noch nie davon gehört
Amith KK

Antworten:

6

VDPAU ist eine Programmierschnittstelle (API), mit der das Rendern von Grafiken auf den Grafikchipsatz übertragen werden kann, anstatt von der CPU selbst verarbeitet zu werden.

Es ist Open Source - ursprünglich von Nvidia selbst produziert und auf den meisten ihrer aktuellen Grafikkarten unterstützt.

Wikipedia hat einen ausgezeichneten Artikel dazu:

S3 Graphics hat den Linux-Treibern seiner Chrome 400-Grafikkarten seit Version 14.02.17 seines Gerätetreibers für Linux Unterstützung für VDPAU hinzugefügt. Es unterstützt S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT und S3 Chrome 540 GTX-Hardware.

Intel und ATI bieten derzeit keine Unterstützung für VDPAU an. Nvidia hofft, dass diese GPU-Designer die Open-Source-VDPAU-Bibliothek unterstützen und Treiber mit VDPAU-Beschleunigung versorgen, indem sie Beispielnamen für hardwarespezifische Treiber für Intel und ATI erwähnen: libvdpau_intel.so und libvdpau_ati.so.

Intel unterstützt derzeit seine eigene Konkurrenz-API namens VA-API .

ATI / Radeon konzentrieren ihre Bemühungen auf ihre Katalysatortreiber - wieder haben sie eine eigene API namens XVBA, die jedoch nur über ihre Katalysatortreiber unterstützt wird.

Phoronix in den letzten paar Monaten haben die Entwicklung einer anderen API Berichterstattung genannt Gallium3d Staat Tracker - ist dies soll zur Vereinheitlichung der wichtigsten Chipsatz - Intel, ATI / Radeon und Nvidia. In einfachen Worten (soweit ich es verstehe) - es versucht, eine API über VA-API, VDPAU usw. zu legen. Sie programmieren also auf die Gallium-API und es übersetzt diese für Sie in die Konkurrenz-APIs.

Vieles davon ist bleeding edge Code - instabil und Sie werden oft zu Kompilierung - Code haben usw. mit den neuesten Entwicklungen Schritt zu halten. Der X-Edgers PPA ist eine gute Quelle für die neuesten Entwicklungen - ein Artikel hier beschreibt die Installation des OpenSource-Radeon- Treibers und die Erzwingung der Verwendung von Gallium3D.

Zurück zum Thema ... wie Sie sehen können, sind Grafiken unter Linux derzeit fehlerhaft (manche nennen es ein Chaos!). Daher ist die derzeit beste Lösung die Verwendung von Mediaplayern, die versuchen, die konkurrierenden APIs wie MPlayer zu implementieren.


AKTUALISIEREN

Das Obige war die Vergangenheit ... 2011 Zur Zeit 2015 wird VDPAU von intelund amdsowie von archWiki-Seitenstatistiken unterstützt

Sie sollten das folgende Paket für Intel installieren

sudo apt-get install libvdpau-va-gl1 i965-va-driver

aber anscheinend gibt es einen offenen Fehler unter Ubuntu 14.04 und auch unter 14.10 , so dass die Bibliothek nicht gefunden wird ... also zum Beispiel. vlc durch den folgenden Fehler:

Failed to open VDPAU backend i965_drv_video.so: cannot open shared object file: No such file or directory

Es gibt eine Problemumgehung auf der Fehlerseite. Ich komme hier nicht zurecht, da das Video selbst in vlc nicht abgespielt wird, wenn ich es anwende (anscheinend ist die Bibliothek defekt).

Fossfreiheit
quelle
5

Lange Zeit hatte ich eine schlechte Flash-Player- Leistung auf meinem Intel-basierten Notebook. Nach einiger Zeit habe ich mich entschlossen, mich darum zu bemühen, und eine Wrapper-Bibliothek erstellt, die die VDPAU-Schnittstelle mithilfe von OpenGL implementiert. Auf Systemen mit verfügbarer VA-API (wie einem, das ich habe) beschleunigt es auch die Videodecodierung. Es ist die Hälfte oder ein Drittel der gesamten VDPAU-Funktionalität implementiert, aber das reicht aus, damit sowohl Flash Player als auch Mplayer funktionieren.

Sie finden den Code unter github: https://github.com/i-rinat/libvdpau-va-gl

Rinat Ibragimov
quelle