Bagaimana cara mengaktifkan dukungan akselerasi video perangkat keras VDPAU untuk kartu non Nvidia?

8

Saya telah membaca tentang VDPAU dan bagaimana ini memungkinkan mplayer memiliki akselerasi Hardware. Tetapi saya juga membaca bahwa ini hanya untuk kartu Nvidia

Bagaimana saya bisa mengaktifkannya pada kartu non Nvidia (milik AMD, tetapi saya juga ingin mengaktifkannya di netbook Intel)? dan apakah ini akan berfungsi untuk pemutar video lainnya?

Uri Herrera
sumber
VDPAU afaik adalah "Nvidia Only" Tech
Amith KK
Apakah AMD punya sesuatu seperti itu untuk kartu itu?
Uri Herrera
Ati punya XVBA Tapi saya belum pernah mendengarnya sejak 2008
Amith KK

Jawaban:

6

VDPAU adalah antarmuka pemrograman (API) untuk memungkinkan pembongkaran render gambar ke Chipset Grafik daripada penanganan oleh CPU itu sendiri.

Ini adalah sumber terbuka - awalnya diproduksi oleh Nvidia sendiri dan didukung pada sebagian besar Kartu Grafik mereka saat ini.

Wikipedia memiliki artikel yang bagus tentang ini:

S3 Graphics menambahkan dukungan untuk VDPAU ke driver Linux kartu video Chrome 400 sejak versi 14.02.17 driver perangkat untuk Linux, mendukung S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT dan S3 Chrome 540 Perangkat keras GTX.

Intel dan ATI saat ini tidak menawarkan dukungan untuk VDPAU. Nvidia berharap para perancang GPU ini akan mendukung perpustakaan VDPAU open source dan menyediakan driver dengan akselerasi VDPAU dengan menyebutkan contoh nama driver khusus perangkat keras untuk Intel dan ATI: libvdpau_intel.so dan libvdpau_ati.so.

Intel saat ini mendukung API saingan mereka sendiri yang disebut VA-API .

ATI / Radeon memusatkan upaya mereka pada Driver Catalyst mereka - sekali lagi mereka memiliki API mereka sendiri yang disebut XVBA tetapi hanya didukung melalui Catalyst Drivers mereka.

Phoronix selama beberapa bulan terakhir telah melaporkan pengembangan API lain yang disebut Gallium 3D State Tracker - ini dimaksudkan untuk menyatukan chipset utama - Intel, ATI / Radeon dan NVidia. Dalam istilah sederhana (sejauh yang saya mengerti) - mencoba untuk overlay API ontop dari VA-API, VDPAU dll. Dengan demikian Anda memprogram untuk API Gallium dan itu akan menerjemahkan ini ke API saingan untuk Anda.

Sebagian besar dari ini adalah kode tepi berdarah - tidak stabil dan Anda harus sering mengkompilasi kode dll untuk mengikuti perkembangan terbaru. PPA X-Edgers adalah sumber perkembangan terbaru yang bagus - sebuah artikel di sini menjelaskan menginstal driver radeon opensource dan memaksa penggunaan Gallium3D.

Kembali ke topik ... seperti yang Anda lihat, grafik di linux saat ini retak (ada yang menyebutnya berantakan!) - sehingga solusi terbaik saat ini adalah menggunakan pemutar media yang berupaya mengimplementasikan API saingannya seperti MPlayer.


MEMPERBARUI

Di atas adalah masa lalu ... 2011 Saat ini 2015, VDPAU didukung oleh inteldan amdjuga statistik halaman archWiki

Anda harus menginstal paket berikut untuk intel

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

tapi sepertinya ada bug terbuka di Ubuntu 14.04 dan pada 14.10 juga, jadi lib tidak ditemukan ... jadi untuk ex. vlc melalui kesalahan berikut:

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

Ada solusi di halaman bug, saya tidak mengatasinya di sini karena meskipun saya menerapkannya video tidak diputar di vlc (sepertinya perpustakaan rusak)

kebebasan fosil
sumber
5

untuk waktu yang lama saya menderita kinerja flash player yang buruk pada notebook berbasis intel saya. Setelah waktu berlalu saya memutuskan untuk mengusahakannya dan membuat wrapper library yang mengimplementasikan antarmuka VDPAU melalui OpenGL. Pada sistem dengan VA-API yang tersedia (seperti yang saya miliki) juga mempercepat decoding video. Ada satu setengah atau sepertiga dari seluruh fungsionalitas VDPAU diimplementasikan, tetapi itu cukup untuk membuat kedua flash player dan mplayer bekerja.

Anda dapat menemukan kode di github: https://github.com/i-rinat/libvdpau-va-gl

Rinat Ibragimov
sumber