Existem algumas recomendações enganosas e erradas aqui, então vamos resumir qual é o problema e quais soluções existem.
TL; DR
As versões mais recentes do Ubuntu desde a 12.10 (Quantal) contêm uma versão corrigida da biblioteca. Se você ainda tiver problemas com o vídeo azul (NÃO incluindo o Blue Man Group ), verifique esta resposta - o nome da biblioteca do Flash Player deve ser de libflashplayer.so
outra forma libvdpau não aplicará a solução alternativa. Você também pode dar uma olhada no /etc/vdpau_wrapper.cfg
arquivo. Lá você pode desativar as soluções alternativas aplicadas pelo libvdpau.
Se você possui 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 do vídeo nas seguintes condições:
- Você está usando uma GPU Nvidia relativamente nova com suporte a VDPAU .
- Você está usando a versão atual do driver binário da Nvidia (versões mais antigas não suportam VDPAU).
- Você tem o
libvdpau1
pacote instalado.
- O player do site usa o Stage Video - é por isso que apenas o YouTube e alguns outros players 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 desse problema e eles já criaram uma solução alternativa. O driver Nouveau provavelmente não foi afetado porque o suporte à decodificação de vídeo ainda não foi concluído .
Este não é um bug no libvdpau. O libvdpau é apenas um invólucro que permite aos players de vídeo usar a decodificação VDPAU (consulte a explicação de Stephen Warren ).
Este não é um bug específico do Ubuntu. Outras distribuições também são afetadas, por exemplo, Arch .
O bug está possivelmente no Flash Player - embora a Adobe tente culpar a Nvidia e usuários incompetentes. Houve vários relatórios no rastreador de bugs da Adobe, todos eles foram rejeitados como "Não é possível reproduzir":
Não haverá uma correção oficial da Adobe, pois o Flash Player baseado em NPAPI recebe apenas patches de segurança até 2017. Esperamos que não precisemos 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 de Stephen Warren descrita abaixo.
Veja o comunicado de lançamento
Instale o libvdpau corrigido (correção adequada)
Stephen Warren criou um belo patch para o libvdpau , que detecta o Flash Player e aplica soluções alternativas apenas a ele. O patch pode ser controlado usando o /etc/vdpau_wrapper.cfg
arquivo
O libvdpau corrigido corrige cores e permite que o Flash Player use o VDPAU para sobreposição de hardware, o que ainda oferece alguns benefícios de desempenho.
Para o wrapper funcionar, ele precisa reconhecer o uso do Flash. Assim, a biblioteca do Flash tem de ser chamado libflashplayer.so
e o invólucro de encaixe tem de ser activada 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 do 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).
Impedir que o Flash Player encontre o libvdpau
(Via Daniel Mario Vega no Launchpad )
Localize libflashplayer.so
no seu sistema - para o Ubuntu, é /usr/lib/adobe-flashplugin/
se você tiver o adobe-flashplugin
pacote instalado ou /usr/lib/flashplugin-installer/
para o flashplugin-installer
pacote. Consulte o navegador about:plugins
se tiver problemas para encontrar o arquivo ( pode ser necessário um pequeno ajuste no caso do Firefox ).
Execute os seguintes comandos - assumindo que você instalou 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 após reiniciar o navegador.
Isso modificará o binário do Flash Player para procurar a biblioteca "lixvdpau" inexistente em vez de "libvdpau". Portanto, ele não tentará usar a apresentação do VDPAU.
O comando cria um backup libflashplayer.so.bak do binário, caso você encontre algum problema.
Você precisa executar este comando sempre que houver uma atualização do Flash Player, pois suas alterações serão substituídas.
Com esta solução alternativa, você pode manter a aceleração do HW, ter o libvdpau1 instalado e é muito fácil de aplicar em comparação com o patch do libvdpau.
Use o Google Chrome com o PepperFlash
Desde a versão 20, o Google Chrome é fornecido 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 a aceleração total do hardware.
O PepperFlash pode ser usado com o Chromium , mas infelizmente nenhum outro navegador suporta PPAPI.
Desativar a aceleração de hardware do Flash Player
A solução mais fácil e menos invasiva é desativar a aceleração de HW do Flash Player nas configurações de vídeo - clique com o botão direito do mouse no Flash, selecione Configurações…
No entanto, isso não é tão fácil, pois a janela Configurações não responde no gerenciador composto (Compiz, unidade padrão) e se o navegador mostra barras de rolagem.
Para desativar a aceleração de hardware abrir qualquer vídeo (por exemplo, no YouTube) em tela cheia e , em seguida, abrir as configurações ... janela. Ou você pode mudar 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 de vetor e bitmap. Alguns jogos e filmes em Flash podem ter desempenho pior e / ou gráficos piores.
Desinstalar libvdpau
Se você deseja ativar a aceleração de HW no Flash Player, pode desinstalar o libvdpau do sistema, o que impede efetivamente o Flash Player de usar o VDPAU.
Corre:
sudo apt-get remove libvdpau1
A desvantagem: os players de desktop (como Totem e Mplayer) também não poderão usar a decodificação de vídeo por hardware. 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 imagem completamente congelada), especialmente se você tiver uma CPU mais lenta e estiver assistindo a vídeos em 1080p.
Ativar decodificação de vídeo em hardware do Flash Player
A maioria dos usuários relatou que isso leva a falhas muito freqüentes do Flash Player (provavelmente devido a problemas de simultaneidade na decodificação), mas se você estiver com sorte, tente.
Este também é o mesmo método usado pelo addon Flash-Aid . Não vai melhorar.
Corre:
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 o EnableLinuxHWVideoDecode=1
conteúdo. Essa é a única maneira de 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 VDPAU_NVIDIA_NO_OVERLAY=1
variável de ambiente, consulte os fóruns da Nvidia .
Substituir Flash players
(Conforme recomendado pelo bowser no Launchpad )
Use o FlashVideoReplacer Firefox add-on, Literna Mágica ou outra solução para substituir players padrão no Flash por plug-ins de player de vídeo incorporado (como Totem - totem-mozilla
- ou VLC - mozilla-plugin-vlc
). Sem Flash Player, sem problemas.
Patch libvdpau (vdpau_trace hack)
Existe um patch não oficial da Nvidia que corrige o bug do Flash Player no nível libvdpau, cortando o vdpau_trace.
Observe que o patch mencionado por Stephen Warren é tecnicamente superior e deve ser usado.
As não soluções alternativas
As soluções a seguir funcionarão apenas parcialmente ou elas podem ter algumas ressalvas.
Ativar HTML5 no YouTube
A ativação do player HTML5 em http://www.youtube.com/html5 não funcionará 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.
Fazer o downgrade para o Flash Player 11.1
Existem vulnerabilidades conhecidas no FP 11.1 que foram corrigidas no 11.2. Se você quer arriscar, deve saber no que está se metendo.
Se você ainda deseja fazer o downgrade, tente o Flash Player 10.3, que ainda é mantido - você pode obtê-lo no arquivo da Adobe
Mudar para GPU diferente
Parece que muito poucas GPUs da Nvidia não são afetadas, principalmente o Quadro 2000 e o GeForce GT 430. Ambos possuem o conjunto C de recursos VDPAU , mas, de outra forma, a maioria das GPUs C do conjunto de recursos também é afetada. Se você tiver alguma das GPUs mencionadas acima, informe-nos no Launchpad se esse bug afeta você.