Google não tem planos para ativar a aceleração por hardware do Chrome no Linux


A Google revelou recentemente que não tem planos para permitir a aceleração por hardware do Chrome no Linux — nem mesmo como uma opção experimental. A má notícia não só afeta aqueles que querem um maior desempenho ao reproduzir, por exemplo, vídeos em alta resolução no YouTube com o navegador. Para os usuários de laptops com Linux, em particular, a falta de decodificação de vídeo por hardware no browser tem uma grande desvantagem: menor duração da bateria e um dispositivo muito mais quente.

Diferente da atual decodificação de vídeo por software presente por padrão no Chrome, a aceleração por hardware permite que a placa de vídeo (ou GPU integrada) assuma tarefas intensas, como a própria decodificação de vídeo. Como as GPUs são (por design) melhor equipadas para lidar com tarefas relacionadas a gráficos do que uma CPU tradicional de uso geral, isso resulta em uma reprodução mais rápida e suave, com menos problemas e lentidão no sistema.

Ou, para colocar de outra forma, a decodificação de hardware deixa sua CPU livre para se concentrar na execução do restante do sistema operacional, em vez de ceder ao peso de ter que fazer "todas as coisas". Aqueles com plataformas poderosas e processadores modernos de ponta não devem notar problemas importantes com a decodificação por software, tornando o "problema" subjetivo.

Mas para outras pessoas, incluindo eu mesmo, o streaming de vídeo de alta definição no YouTube pelo Google Chrome ou Chromium no Linux não é tão eficiente quanto pode ria ser em comparação com outros sistemas operacionais.

O "flag" falso

O Chrome (e o Chromium, seu equivalente de código aberto) incluem uma opção oculta (conhecida como "flag") que supostamente permite que você "substitua a lista de renderização de software", ou seja, permite habilitar à força a decodificação de vídeo por hardware. Com isso, se você visitar  chrome://gpu , e o flag estiver ativado, verá um texto com a seguinte legenda: “Video Decode: Hardware accelerated“.

Mas não é bem assim. Acontece que, apesar do que o navegador diz, o flag não habilita a decodificação de vídeo acelerada por hardware. Se você ainda não acredita, assista a vídeos em HD do YouTube ou Vimeo no Chrome em sua distribuição Linux enquanto você monitora o uso da CPU por meio do aplicativo Monitor do Sistema.

Patch de aceleração por hardware para o Chrome

Um patch para "ativar VAVDA, VAVEA e VAJDA no linux usando apenas o VAAPI" no Chrome e Chromium está disponível desde 2017. Este patch traz suporte para a livre de royalties Video Acceleration API (VA-API) no Linux para oferecer reprodução de vídeo acelerado por hardware para diversos sites conhecidos em sistemas da AMD, NVIDIA e Intel.

Embora o patch funcione bem para muitos, ele ainda não foi implementado no Chromium, que é de código aberto. E com base em comentários recentes de desenvolvedores, somos informados de que a Google não tem "nenhuma intenção" de adicionar o patch em seu navegador tão cedo.

“Nosso principal objetivo é ter um navegador estável e seguro e, em segundo lugar, acelerado por GPU, quando possível. Como descobrimos várias vezes, qualquer tipo de aceleração de GPU tem muita manutenção associada a ele, entre a grande variedade de configurações que nossos usuários executam, a falta geral de qualidade de drivers (em particular no Linux) e o fluxo constante de problema recebido devido a novos lançamentos de hardware, driver ou distribuição", diz Antoine Labour, desenvolvedor do Chromium.

O desenvolvedor também explica que "eles" (presumivelmente, a equipe do Google Chrome) "não têm recursos para se comprometer", tanto para mesclar o patch quanto para lidar com quaisquer problemas, erros e manutenção de código resultantes da sua execução.

“Não queremos comprometer o primeiro objetivo (navegador estável e seguro), nossa escolha não é habilitar esses recursos de aceleração no Linux”, concluiu.

Com “nenhum plano” para apoiar o recurso daqui para frente, é deixado para a comunidade de código aberto preencher o vazio.

Lembre-se: isso é código aberto

Como o Chromium é de código aberto, qualquer um com a habilidade, cuidado e que esteja interessado em manter esse patch dentro de um fork, pode fazê-lo. Na verdade, já é possível ativar a aceleração por hardware no Chromium no Ubuntu e em outras distribuições Linux manualmente.

Esse método envolve a criação de uma versão instável e sem suporte do Chromium para Linux a partir do código-fonte com o patch trazendo suporte para VA-API aplicado (embora já exista um PPA para facilitar as coisas no Ubuntu).

Isso também exige a geração de algumas chaves de API e a adição de uma extensão do Google Chrome para forçar a reprodução de vídeos em HTML5 com o padrão para compressão de vídeo h264 em todos os sites. Com mais algumas ajustes, até mesmo a decodificação de hardware funciona com “conteúdo protegido” de serviços como o Netflix.


FONTE: OMG! Ubuntu!

Comentários