Blog Linux Avante

Ubuntu testndo Chromium Snap com suporte a VAAPI (Hardware-Accelerated Video Decoding)

10 de dezembro de 2019

O Ubuntu está testando um novo pacote de snap do Chromium que habilita o suporte VAAPI, permitindo que o navegador da web aproveite a decodificação de vídeo acelerada por hardware.

O desenvolvedor canônico Olivier Tilloy tem criado um snap do Chromium habilitado para VAAPI usando o patch do Fedora (que obteve o Chromium com suporte VAAPI cerca de 2 semanas atrás) e o publicou em um novo canal candidate/vaapi. Graças a isso, o Ubuntu e outras distribuições de Linux que podem habilitar o suporte ao Snap podem facilmente instalar o Chromium com a API Video Acceleration habilitada, o que deve trazer uma reprodução de vídeo mais suave, menos uso da CPU e melhor uso de energia.

Editado: isso não funciona mais. Você pode instalar o pacote snap, mas ele não tem mais decodificação de vídeo acelerada por hardware (relatório de bug). No momento, a única maneira de obter suporte VAAPI para um navegador da web Chromium no Ubuntu é usar o Chromium com PPA e patches VAAPI.

Chromium snap vaapi Ubuntu

Snap habilitado para Chromium VAAPI em execução no Ubuntu 18.04 - observe o baixo uso da CPU ao reproduzir um vídeo do YouTube

VAAPI (API de aceleração de vídeo) habilita e fornece acesso ao processamento de vídeo acelerado por hardware usando a GPU para acelerar a codificação e decodificação de vídeo, descarregando o processamento da CPU.

Assim como no Fedora, o snap do Chromium VAAPI vem com a sinalização "Decodificação de vídeo acelerada por hardware" (disponível em chrome://flags) habilitada por padrão, então você não precisa fazer nada para habilitar a decodificação de vídeo acelerada por GPU.

No entanto, algumas GPUs não oferecem suporte à aceleração de hardware para alguns codecs como VP8 ou VP9, portanto, em tais casos, a aceleração de hardware não funcionará imediatamente. No caso do YouTube, os usuários podem forçar os vídeos a usar h264 em vez de VP8/VP9, que é compatível com a maioria das GPUs, e assim você obterá decodificação de vídeo acelerada por hardware. Isso pode ser feito instalando a extensão do Chrome h264ify.

Há outro aspecto importante a ser mencionado. Embora a aceleração de hardware seja usada por padrão usando o patch Chromium VAAPI com GPUs Intel (e presumo que GPUs AMD também, mas não posso tentar fazer isso porque não tenho uma), esse não é o caso para GPUs Nvidia.

Se o patch usado por este snap do Ubuntu e pelo pacote Fedora for semelhante ao usado para Chromium com patches VAAPI do PPA, um vdpau-va-driver corrigido (que implementa vaQuerySurfaceAttributes) é necessário para habilitar a aceleração por hardware decodificação de vídeo no Chromium rodando em gráficos Nvidia. Como não está disponível diretamente no Ubuntu, o snap do Chromium VAAPI é compilado sem isso, portanto, a decodificação de vídeo acelerada por hardware não funciona com GPUs Nvidia neste caso. De qualquer forma, este patch do Chromium não oferece decodificação de vídeo acelerada por GPU com gráficos Nvidia.

Como alternativa, os usuários do Ubuntu/Linux Mint com GPUs Nvidia (ou aqueles que não querem usar um pacote de patch Chromium) podem instalar o Chromium com VAAPI habilitado usando um PPA, que fornece um vdpau-va-driver corrigido.

Snap do Chromium com instalação VAAPI

O snap do Chromium com VAAPI habilitado está no canal de snap candidate/vaapi, que não está listado no software Ubuntu, ou no Snap Store. Para instalá-lo, você pode usar a linha de comando:

Comandos para usar no terminal

sudo snap install --channel=candidate/vaapi chromium

Em distribuições Linux onde snapd não está habilitado por padrão, você pode encontrar instruções para instalar/habilitar em snapcraft.io.

Você pode verificar se o Chromium está usando decodificação de vídeo acelerada por hardware observando o uso da CPU ao reproduzir vídeos, que deve ser muito inferior ao uso de compilações padrão do Chromium. Para ter certeza, você pode abrir um vídeo no YouTube, abrir uma nova guia no Chromium e inserir o seguinte na barra de URL: chrome://media-internals.

Chromium snap GPUVideoDecoder video_decoder media-internals

Na guia chrome://media-internals, clique no URL do vídeo para expandi-lo, role para baixo e procure em Player Properties, e você deve encontrar a propriedade video_decoder. Se o valor de video_decoder for GpuVideoDecoder, significa que o vídeo que está sendo reproduzido no YouTube na outra guia está usando decodificação de vídeo acelerada por hardware.

Se mostrar FFmpegVideoDecoder ou VpxVideoDecoder, a decodificação acelerada de vídeo não está funcionando ou talvez você esteja usando uma GPU que não oferece suporte para decodificação acelerada de vídeo para VP8/VP9 e esqueceu de instalar ou desabilitar a extensão do Chrome h264ify.

via Phoronix

Confira a versão original desse post em inglês
Propaganda
Blog Comments powered by Disqus.
Propaganda