domingo, 5 de dezembro de 2010

Flashplayer 10.2 beta com aceleração via hardware

O grande destaque desta versão 10.2 é a utilização de aceleração via hardware, pela primeira vez no Linux! Até que enfim que a Adobe não se esqueceu do pinguim :) Mas só a versão 32bit é que tem aceleração via hardware.

Por isso fiz este "How-to" de como instalar o flashplayer 10.2 beta com aceleração via hardware no Ubuntu 10.04, 10.10, nas versões 32bits e 64bits.

Antes de começar, você tem que ter uma GeForce 8 series ou superior com drives proprietários da Nvidia.
"VDPAU (Video Decode and Presentation API for Unix) is an open source library (libvdpau) and API designed by NVIDIA originally for its GeForce 8 series and later GPU hardware"
Sem esses requisitos mínimos, nada feito.

Primeiro remova o flashplayer. Use o synaptic ou execute o comando...

sudo apt-get remove flashplugin-installer


Nota: Caso você tenha instalado o "transitional package" no Ubuntu 10.04 LTS então remova o flashplugin-nonfree.

sudo apt-get remove flashplugin-nonfree


Abra o Firefox no Youtube (por exemplo) e certifique-se que o flash já não está instalado. Se você instalou o flash sem a ajuda do repositório, poderá existir alguma pasta de plugins que ainda tem um libflashplayer.so antigo. Por isso é importante verificar se o plugin foi realmente removido para continuar com este "How-to".

Depois de verificar que o flash foi removido, abra um terminal e crie uma pasta com o nome de FLASH.
Nota: Este passo não é obrigatório, mas depois fica mais fácil apagar os arquivos que já não serão mais necessários ;)

mkdir FLASH


Mude para dentro da pasta FLASH.

cd FLASH


Agora vamos baixar o flashplayer 10.2-beta, extrair o arquivo tar.gz.

Baixando o Flash.
Nota: Para baixar o pacote com o comando que está em baixo você tem que ler e concordar com os termos do Flash Player 10.2 License, Adobe.com Terms of Use e Adobe Online Privacy Policy.


wget http://download.macromedia.com/pub/labs/flashplayer10/flashplayer10_2_p2_32bit_linux_111710.tar.gz


tar -xzf flashplayer10_2_p2_32bit_linux_111710.tar.gz


Para ser mais fácil de identificar o libflashplayer.so 10.2 beta vamos mudar o nome do arquivo para libflashplayer-10.2-beta.so.

mv libflashplayer.so libflashplayer-10.2-beta.so


Agora copiamos o libflashplayer-10.2-beta.so para a pasta de plugins do Firefox.

sudo cp libflashplayer-10.2-beta.so /usr/lib/firefox/plugins/


Se o seu sistema é 32bits instale o pacote libvdpau1 com o seguinte comando...

sudo apt-get install libvdpau1


E pronto! O "How-to" para 32bits acaba aqui :) Teste o flashplayer 10.2 beta no seu browser :)
Mas se o seu sistema é 64bits continue seguindo os passos em baixo...

Para que o flashplayer de 32bits funcione numa sistema 64bits vamos precisar do nspluginwrapper.
Nota:Como o sistema é 64bit, os pacotes nspluginwrapper e ia32-libs já devem ter sido instalados pelo flashplugin-installer que está no repositório.
Vamos agora usar o nspluginwrapper...

nspluginwrapper -a -n -i libflashplayer-10.2-beta.so


Se tudo correr como previsto o plugin fica instalado na sua pasta pessoal em /home/USUARIO/.mozilla/plugins
Nota:Se você usa o Chrome ou outro browser, eles também usam a pasta de plugins do Firefox :)

Agora temos de instalar o libvdpau1. Mas um apt-get install libvdpau1 não resolve! Porque isso vai instalar o libvdpau1 de 64bit. E o flashplayer 10.2 beta é 32bit. Para ele funcionar, precisa das libs de 32bits :P
Vamos ter de baixar manualmente o pacote libvdpau1 (32bits) do repositório, e "abrir" o pacote deb.
Nota: Para Ubuntu 10.04 LTS substitua os dois comandos em baixo pelos dois seguintes que estão em negrito:

Para Ubuntu 10.10...

wget http://br.archive.ubuntu.com/ubuntu/pool/main/libv/libvdpau/libvdpau1_0.4-5ubuntu1_i386.deb

ar vx libvdpau1_0.4-5ubuntu1_i386.deb


Para Ubuntu 10.04 LTS...

wget http://br.archive.ubuntu.com/ubuntu/pool/main/libv/libvdpau/libvdpau1_0.3-2build1_i386.deb

ar vx libvdpau1_0.3-2build1_i386.deb


Agora vamos extrair o data.tar.gz e copiar as libs para a pasta /usr/lib32/ do nosso sistema 64bits.

tar -xzf data.tar.gz

sudo cp -P usr/lib/vdpau/libvdpau_trace* /usr/lib32/vdpau/
sudo cp -P usr/lib/libvdpau* /usr/lib32/


Pode apagar agora a pasta FLASH porque não precisamos mais dela.
Agora abra um vídeo no Youtube em 1080p com tela cheia, e teste a aceleração via hardware no seu Ubuntu 64bits :)

Para reverter todo este processo, e remover o flashplayer 10.2 beta, basta executar os seguintes comandos numa máquina 64bits...

nspluginwrapper -r /home/$USER/.mozilla/plugins/npwrapper.libflashplayer-10.2-beta.so
cd /usr/lib/firefox/plugins
sudo rm libflashplayer-10.2-beta.so
sudo apt-get install flashplugin-installer


E para uma máquina 32bits...

cd /usr/lib/firefox/plugins
sudo rm libflashplayer-10.2-beta.so
sudo apt-get install flashplugin-installer

Considerações finais...
Aqui no meu "PC" o uso do CPU baixou consideravelmente com o flash 10.2 beta. No flash 10.1 um vídeo no Youtube em 1080p com tela cheia o CPU ficava a 90-95%.
Com o 10.2 beta ele fica a 20-30%

No painel da Nvidia dá para ver que o clock aumenta de 169MHz para 400 MHz quando um vídeo em 1080p começa a "correr" no flashplayer 10.2 beta.

Mas ainda tem alguns bugs. Quando tento "reproduzir" o vídeo novamente a imagem para. Tenho de dar um f5 no browser para o vídeo voltar a funcionar.
Testei no Ubuntu 10.04 LTS 64bit, Nvidia com driver proprietário versão 195.36.24.

Nenhum comentário :