Como habilito o suporte à aceleração de vídeo por hardware VDPAU para placas que não são da Nvidia?

8

Eu li sobre o VDPAU e como ele permite ao mplayer ter aceleração de hardware. Mas eu também li que é apenas para placas Nvidia

Como posso habilitá-lo em uma placa que não seja da Nvidia (a minha é uma AMD, mas eu gostaria de habilitá-la também em um netbook da Intel)? e isso funcionará para outros players de vídeo?

Uri Herrera
fonte
O VDPAU afaik é um "Nvidia Only" Tech
Amith KK
A AMD tem algo parecido para suas placas, então?
Uri Herrera
Ati tem XVBA mas eu nunca tinha ouvido falar dele desde 2008
Amith KK

Respostas:

6

O VDPAU é uma interface de programação (API) que permite descarregar a renderização gráfica para o chipset gráfico, em vez de manipular pela própria CPU.

É de código aberto - produzido inicialmente pela própria Nvidia e suportado na maioria de suas placas gráficas atuais.

A Wikipedia tem um excelente artigo sobre isso:

A S3 Graphics adicionou suporte para VDPAU aos drivers Linux de suas placas de vídeo Chrome 400 desde a versão 14.02.17 do driver de dispositivo para Linux, suporta S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT e S3 Chrome 540 Hardware GTX.

Atualmente, a Intel e a ATI não oferecem suporte ao VDPAU. A Nvidia espera que esses designers de GPU ofereçam suporte à biblioteca VDPAU de código aberto e forneçam aos drivers aceleração VDPAU mencionando exemplos de nomes de drivers específicos de hardware para Intel e ATI: libvdpau_intel.so e libvdpau_ati.so.

Atualmente, a Intel suporta sua própria API rival chamada VA-API .

A ATI / Radeon está concentrando seus esforços em seus Catalyst Drivers - novamente eles têm sua própria API chamada XVBA, mas são suportados apenas através de seus Catalyst Drivers.

Nos últimos meses, a Phoronix relatou o desenvolvimento de outra API chamada Gallium 3D State Tracker - que visa unificar os principais chipsets - Intel, ATI / Radeon e NVidia. Em termos simples (tanto quanto eu o entendo) - ele tenta sobrepor uma API em cima de VA-API, VDPAU etc. Assim, você programa para a API Gallium e ela traduz isso para as APIs rivais para você.

Muito disso é um código de ponta - instável e você frequentemente precisará compilar o código etc. para acompanhar os desenvolvimentos mais recentes. O X-Edgers PPA é uma boa fonte dos desenvolvimentos mais recentes - um artigo aqui descrito descreve a instalação do driver radeon de código aberto e forçando o uso do Gallium3D.

Voltar ao tópico ... como você pode ver, os gráficos no linux estão atualmente fraturados (alguns chamam de bagunça!) - portanto, as melhores soluções no momento são usar media players que tentam implementar as APIs rivais, como o MPlayer.


ATUALIZAR

O anterior foi o passado ... 2011 No presente 2015, o VDPAU é suportado por, intele amdtambém por estatísticas de páginas do archWiki

Você deve instalar o seguinte pacote para intel

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

mas parece que há um bug aberto no Ubuntu 14.04 e 14.10 também, então a lib não foi encontrada ... então, por ex. vlc através do seguinte erro:

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

Existe uma solução alternativa na página de erro, não estou lidando com isso aqui, porque mesmo se eu o aplicar, o vídeo não está sendo reproduzido no vlc (parece que a biblioteca está quebrada)

liberdade de expressão
fonte
5

por muito tempo, sofri um desempenho ruim do flash player no meu notebook baseado em intel. Depois que o tempo passou, decidi fazer um esforço e criei uma biblioteca de wrapper que implementa a interface VDPAU por meio do OpenGL. Em sistemas com VA-API disponível (como eu tenho), também acelera a decodificação de vídeo. Há metade ou um terço de toda a funcionalidade VDPAU implementada, mas isso é suficiente para fazer o flash player e o mplayer funcionarem.

Você pode encontrar o código no github: https://github.com/i-rinat/libvdpau-va-gl

Rinat Ibragimov
fonte