Come abilitare il supporto dell'accelerazione video hardware VDPAU per schede non Nvidia?


8

Ho letto di VDPAU e di come consente a mplayer di avere un'accelerazione hardware. Ma ho anche letto che è solo per le schede Nvidia

Come posso abilitarlo su una scheda non Nvidia (il mio è un AMD ma vorrei abilitarlo anche su un netbook Intel)? e funzionerà con altri lettori video?


VDPAU afaik è una tecnologia "Solo Nvidia"
Amith KK,

AMD ha qualcosa del genere per le sue carte allora?
Uri Herrera,

Ati ha XVBA Ma non ne avevo mai sentito parlare dal 2008
Amith KK del

Risposte:


6

VDPAU è un'interfaccia di programmazione (API) che consente l'offload del rendering grafico sul chipset grafico anziché la gestione da parte della CPU stessa.

È opensource - prodotto inizialmente dagli stessi Nvidia e supportato sulla maggior parte delle loro attuali schede grafiche.

Wikipedia ha un eccellente articolo su questo:

S3 Graphics ha aggiunto il supporto per VDPAU ai driver Linux delle sue schede video Chrome 400 dalla versione 14.02.17 del suo driver di dispositivo per Linux, supporta S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT e S3 Chrome 540 Hardware GTX.

Intel e ATI attualmente non offrono supporto per VDPAU. Nvidia spera che questi progettisti di GPU supporteranno la libreria VDPAU open source e forniranno ai driver l'accelerazione VDPAU citando esempi di nomi di driver specifici dell'hardware per Intel e ATI: libvdpau_intel.so e libvdpau_ati.so.

Intel attualmente supporta la propria API rivale chiamata VA-API .

ATI / Radeon stanno concentrando i loro sforzi sui loro driver Catalyst - ancora una volta hanno la loro API chiamata XVBA ma è supportata solo attraverso i loro driver Catalyst.

Phoronix negli ultimi mesi ha segnalato lo sviluppo di un'altra API chiamata Gallium 3D State Tracker , che ha lo scopo di unificare i principali chipset: Intel, ATI / Radeon e NVidia. In termini semplici (per quanto io lo capisca), cerca di sovrapporre un'API in cima a VA-API, VDPAU ecc. Quindi programmate l'API di Gallio e lo tradurrà in API concorrenti per voi.

Gran parte di questo è il codice di bleeding edge - instabile e spesso dovrai compilare codice ecc. Per stare al passo con gli ultimi sviluppi. X-Edgers PPA è una buona fonte degli ultimi sviluppi: un articolo qui descritto descrive l'installazione del driver opensource radeon e la forzatura dell'uso di Gallium3D.

Torna all'argomento ... come puoi vedere, la grafica in Linux è attualmente fratturata (alcuni lo chiamano un casino!) - quindi la migliore soluzione al momento è quella di utilizzare i lettori multimediali che tentano di implementare le API rivali come MPlayer.


AGGIORNARE

Quello qui sopra è il passato ... 2011 Allo stato attuale 2015, VDPAU è sostenuto da intele amdcosì come ArchWiki pagina delle statistiche

È necessario installare il seguente pacchetto per Intel

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

ma sembra che ci sia un bug aperto su Ubuntu 14.04 e anche su 14.10 , quindi la lib non si trova ... quindi per es. vlc attraverso il seguente errore:

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

C'è una soluzione alternativa nella pagina dei bug, non la sto copiando qui perché anche se lo applico il video non viene riprodotto in vlc (sembra che la libreria sia rotta)


5

per molto tempo ho sofferto di cattive prestazioni del flash player sul mio notebook basato su Intel. Con il passare del tempo ho deciso di impegnarmi e ho creato una libreria wrapper che implementa l'interfaccia VDPAU tramite OpenGL. Su sistemi con API VA disponibili (come quello che ho) accelera anche la decodifica video. Vi è la metà o un terzo dell'intera funzionalità VDPAU implementata, ma è sufficiente per far funzionare sia il flash player che il mplayer .

Puoi trovare il codice su github: https://github.com/i-rinat/libvdpau-va-gl

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.