Existem algumas recomendações erradas e algumas erradas aqui, então vamos resumir qual é o problema e quais são as soluções.
TL; DR
As versões mais recentes do Ubuntu desde o 12.10 (Quantal) contêm uma versão corrigida da biblioteca. Se você ainda tiver problemas com vídeo em azul (NÃO incluindo o Blue Man Group ), confira esta resposta - o nome da biblioteca do Flash Player deve ser libflashplayer.so
caso contrário, libvdpau não aplicará a solução alternativa.
Você também pode dar uma olhada no arquivo /etc/vdpau_wrapper.cfg
. Lá você pode desativar as soluções aplicadas pelo libvdpau.
Se você tem Oneiric (11.10) ou Precise (12.04), instale o libvdpau corrigido:
sudo add-apt-repository ppa:tikhonov/misc
sudo apt-get update
sudo apt-get install libvdpau1
Caso contrário, você pode modificar a biblioteca do Flash Player:
cd /usr/lib/flashplugin-installer || cd /usr/lib/adobe-flashplugin/
sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so
Leia o post inteiro antes de comentar.
O problema
O Flash Player desde a versão 11.2 usa a aceleração de vídeo por hardware na maioria das plataformas. Infelizmente, a aceleração no Linux não é apenas sem suporte, mas essencialmente quebrada. O Flash Player troca as cores no vídeo nas seguintes condições:
- Você está usando uma GPU Nvidia relativamente nova com o suporte VDPAU .
- Você está usando a versão atual do driver binário da Nvidia (versões antigas não suportam VDPAU).
- Você tem o pacote
libvdpau1
instalado.
- O player do site usa Vídeo do palco - é por isso que apenas o YouTube e alguns outros jogadores são afetados .
Veja a explicação de Pierre-Loup Griffais da Nvidia .
Este não é um bug nos drivers da Nvidia. A Nvidia está ciente deste problema e eles já criaram uma solução alternativa. O driver Nouveau provavelmente não foi afetado porque o suporte de decodificação de vídeo ainda não terminou .
Este não é um bug no libvdpau. libvdpau é apenas um wrapper que permite que os players de vídeo usem decodificação VDPAU (veja Explicação de Stephen Warren ).
Este não é um bug específico do Ubuntu. Outras distribuições também são afetadas, por exemplo, Arco .
O bug é muito possivelmente no Flash Player - embora a Adobe tente culpar a Nvidia e usuários incompetentes. Houve vários relatórios no bugtracker da Adobe, todos eles foram rejeitados como "CannotReproduce":
- link
- link
- link
- link
- link
- link
Não haverá uma correção oficial da Adobe, uma vez que o Flash Player baseado em NPAPI recebe apenas patches de segurança até 2017. Espero que não precisaremos do Flash Player até esse momento.
As soluções alternativas
Use libvdpau 0,5
Disponível em repositórios oficiais desde o Ubuntu 12,10 libvdpau 0.4.1-6
Esta versão do libvdpau inclui uma solução alternativa descrita por Stephen Warren.
Veja o anúncio de lançamento
Instale o libvdpau corrigido (correção apropriada)
Stephen Warren criou um bom patch para o libvdpau , que detecta o Flash Player e aplica soluções alternativas apenas para isso. O patch pode ser controlado usando o arquivo /etc/vdpau_wrapper.cfg
.
A libvdpau corrigida colore cores e permite que o Flash Player use VDPAU para sobreposição de hardware, o que ainda oferece alguns benefícios de desempenho.
Para que o wrapper funcione, ele precisa reconhecer o uso do Flash. Portanto, a biblioteca do Flash deve ser nomeada libflashplayer.so
e o wrapper do plug-in deve estar ativado no Firefox (em about:config
, dom.ipc.plugins.enabled.libflashplayer.so
e dom.ipc.plugins.enabled
deve ser definido como true
).
Para Precise (12.04) e Oneiric (11.10) você pode instalar o libvdapu corrigido de PPA de Maxim Thikonov usando os seguintes comandos:
sudo add-apt-repository ppa:tikhonov/misc
sudo apt-get update
sudo apt-get install libvdpau1
A alteração deve entrar em vigor após a reinicialização (ou possivelmente mais cedo).
Evite que o Flash Player encontre o libvdpau
(Via Daniel Mario Vega no Launchpad )
Localize libflashplayer.so
em seu sistema - para o Ubuntu, seja em /usr/lib/adobe-flashplugin/
se você tiver adobe-flashplugin
pacote instalado ou /usr/lib/flashplugin-installer/
para flashplugin-installer
package.
Consulte o about:plugins
do seu navegador se você tiver problemas para encontrar o arquivo ( um pequeno ajuste no caso do Firefox pode ser necessário).
Execute os seguintes comandos - supondo que você tenha instalado flashplugin-installer
ou adobe-flasplugin
:
cd /usr/lib/flashplugin-installer || cd /usr/lib/adobe-flashplugin/
sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so
A alteração entra em vigor depois de reiniciar o navegador.
Isto irá modificar o binário do Flash Player para procurar por uma biblioteca "lixvdpau" inexistente em vez de "libvdpau". Portanto, não tentará usar a apresentação do VDPAU.
O comando cria o backup libflashplayer.so.bak do binário no caso de você encontrar algum problema.
Você precisa executar este comando toda vez que houver uma atualização do Flash Player, já que sua alteração será sobrescrita.
Com esta solução você pode manter a aceleração de HW ativada, ter o libvdpau1 instalado e é muito fácil de aplicar comparado ao patching libvdpau.
Use o Google Chrome com o PepperFlash
Desde a versão 20, o Google Chrome vem com o "Pepper" Flash Player 11.3 com suporte a PPAPI (em vez de 11.2 no NPAPI usado pelo Firefox et al.). O PepperFlash não parece ser afetado por esse problema, pois parece usar aceleração total de hardware.
PepperFlash pode ser usado com o Chromium , mas infelizmente nenhum outro navegador suporta atualmente o PPAPI.
Desativar a aceleração de hardware do Flash Player
A correção mais fácil e menos intrusiva é desabilitar a aceleração HW nas configurações de exibição do Flash Player - clique com o botão direito do mouse em Flash, selecione Configurações…
Isso, no entanto, não é fácil, pois a janela Configurações não responde no gerenciador de composição (Compiz, Unidade padrão) e se o navegador mostrar barras de rolagem.
Para desativar a Aceleração por hardware, abra qualquer vídeo (por exemplo, no YouTube) em tela cheia e, em seguida, abra a janela Configurações .... Ou você pode alternar temporariamente para o Unity 2D ou outro WM não composto.
A alteração entra em vigor após a atualização.
A desvantagem: isso desativa a aceleração de HW no Flash Player, mesmo para operações vetoriais e de bitmap. Alguns jogos e filmes em Flash podem ter um desempenho pior e / ou piores gráficos.
Desinstalar o libvdpau
Se você deseja ativar a aceleração HW no Flash Player, pode desinstalar o libvdpau do sistema, o que efetivamente impede que o Flash Player use o VDPAU.
Executar:
sudo apt-get remove libvdpau1
A desvantagem: Os jogadores da área de trabalho (como o Totem e o Mplayer) não poderão usar a decodificação de vídeo por hardware também. Isso levará a um maior uso da CPU durante a reprodução. Além disso, o desempenho da reprodução de vídeo pode ser afetado (por exemplo, quadros perdidos ou imagens totalmente congeladas), especialmente se você tiver CPU mais lenta e estiver assistindo a vídeos em 1080p.
Ativar a decodificação de vídeo de hardware do Flash Player
A maioria dos usuários relatou que isso causa falhas muito frequentes no Flash Player (provavelmente devido a problemas de simultaneidade na decodificação), mas se você tiver sorte, experimente.
Este também é o mesmo método usado pelo addon do Flash-Aid . Não vai melhorar nada.
Executar:
sudo mkdir /etc/adobe
echo -e "EnableLinuxHWVideoDecode=1" | sudo tee /etc/adobe/mms.cfg > /dev/null
Isso criará o arquivo /etc/adobe/mms.cfg com EnableLinuxHWVideoDecode=1
content. Esta é a única maneira de realmente forçar o Flash Player a decodificar vídeo na GPU e não é oficialmente suportado pela Adobe.
Para desfazer isso, execute:
sudo rm /etc/adobe/mms.cfg
para remover o arquivo mms.cfg.
Você pode tentar melhorar ainda mais a estabilidade do Flash Player com a variável de ambiente VDPAU_NVIDIA_NO_OVERLAY=1
, consulte Fóruns da Nvidia .
Substituir os Flash players
(Como recomendado pelo bowser no Launchpad )
Use o FlashVideoReplacer complemento do Firefox, Literna Mágica ou outra solução para substituir players padrão no Flash com o plug-in de player de vídeo incorporado (como o Totem - totem-mozilla
- ou VLC - mozilla-plugin-vlc
). Não há Flash Player, não há problema.
Patch libvdpau (vdpau_trace hack)
Há um patch não oficial da Nvidia que corrige o bug do Flash Player no nível de libvdpau por hacking vdpau_trace.
Note que o patch mencionado por Stephen Warren é tecnicamente superior e deve ser usado em seu lugar.
As não-soluções alternativas
As seguintes soluções funcionarão apenas parcialmente ou poderão ter algumas ressalvas.
Ativar HTML5 no YouTube
A ativação do player HTML5 no link não funciona com todos os vídeos. alguns vídeos do YouTube simplesmente não estão disponíveis para o player HTML5 (por exemplo, devido à falta de suporte a anúncios). No entanto, o vídeo HTML5 é incrível e você deve usá-lo de qualquer maneira.
Downgrade para o Flash Player 11.1
Existem vulnerabilidades conhecidas no FP 11.1, que foram corrigidas em 11.2. Se você quer arriscar, você deve saber no que você está se metendo.
Se você ainda quiser fazer o downgrade, tente o Flash Player 10.3 que ainda é mantido - você pode obtê-lo em arquivo da Adobe
Mude para GPU diferente
Parece que muito poucas GPUs da Nvidia não são afetadas, particularmente a Quadro 2000 e a GeForce GT 430. Ambas possuem Conjunto de recursos VDPAU C , mas, de outro modo, a maioria das GPUs C do conjunto de recursos também é afetada.
Se você tem alguma das GPUs acima mencionadas, por favor nos diga no Launchpad se isso bug afeta você.