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

8

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

Como posso ativá-lo em um cartão não-Nvidia (o meu é um AMD, mas eu gostaria de habilitar isso em um netbook Intel também)? e isso funcionará para outros players de vídeo?

    
por Uri Herrera 19.12.2011 / 02:47

2 respostas

5

O VDPAU é uma interface de programação (API) para permitir o descarregamento da renderização de gráficos para o Chipset gráfico, em vez de ser manipulado pela própria CPU.

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

Wikipedia tem um excelente artigo sobre isso:

  

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

     

Intel e ATI atualmente não oferecem suporte para VDPAU. Nvidia espera que estes   Os projetistas de GPU suportarão a biblioteca VDPAU de código aberto e fornecerão   drivers com aceleração VDPAU mencionando exemplos de nomes de   drivers específicos de hardware para Intel e ATI: libvdpau_intel.so e   libvdpau_ati.so.

A Intel atualmente suporta sua própria API rival chamada VA-API .

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

A Phoronix nos últimos meses tem relatado o desenvolvimento de outra API chamada Gallium 3D State Tracker - isso é destinado a unificar os principais chipsets - Intel, ATI / Radeon e NVidia. Em termos simples (até onde eu entendi) - ele tenta sobrepor uma API no topo do VA-API, VDPAU etc. Assim, você programa para a API do Gallium e traduzirá isso para as APIs rivais para você.

Grande parte desse código bleeding edge - instável e muitas vezes você terá que compilar o código, etc. para acompanhar os desenvolvimentos mais recentes. O X-Edgers PPA é uma boa fonte de desenvolvimentos mais recentes - um artigo aqui descreveu a instalação do driver opensource radeon e forçou o uso do Gallium3D.

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

UPDATE

O acima foi o passado ... 2011 No presente 2015, o VDPAU é suportado por intel e amd , bem como por estatísticas da página da wiki

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 no 14.10 também , então o lib não é encontrado ... 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 na página do bug, não estou lidando com isso aqui porque, mesmo se eu aplicá-lo, o vídeo não está sendo reproduzido em vlc (parece que a biblioteca está quebrada)

    
por fossfreedom 29.12.2011 / 13:13
5

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

Você pode encontrar o código no github: link

    
por Rinat Ibragimov 20.05.2013 / 15:49