Intel e Google Chrome - Video Encode

Boa noite amigos!

Gosto de utilizar meu note para clouding game (jogos em streaming).
Aqui, quando faço uso do Chrome OS Flex (ou Fyde OS e até mesmo Windows) a aceleração de hardware está sendo utilizada, e o streaming funciona muito bem (VIDEO ENCODE) ! (imagem abaixo ) :

Entretanto, quando tento utilizar alguma outra distro, o resultado que tenho com o streaming é inferior, e a aceleração parece não estar sendo utilizada (VIDEO ENCODE).

Sou iniciante, e quero saber se existe alguma solução (de driver, por exemplo) que possa me ajudar a ter o mesmo resultado.

Configuração:

Bom dia!
Dei uma pesquisada aqui e acho que pode te ajudar (testei no chrome do archlinux aur)
crie o seguinte arquivo.

nano $HOME/.config/chrome-flags.conf

Coloque a seguinte linha dentro:

--enable-features=VaapiVideoEncoder,VaapiVideoDecoder,CanvasOopRasterization

Após isso, salva o arquivo e reinicia o navegador.

Opcional (Não recomendado)

Pra habilitar o webgpu, pode por a seguinte linha também no mesmo arquivo.

--enable-unsafe-webgpu

Interessante, nunca tinha reparado nisso, também utilizo o Fedora 39.

Fui no chrome://flags e procurei o Hardware-accelerated video encode, e ele tá aparecendo na parte de Indisponível:


pela descrição ali, me parece que não tá disponível no Linux essa aceleração de hardware para o video encode. Tentei usar a solução do @coffee1535 , mas aqui no meu não surtiu efeito.

Chromium no Arch Linux (GNOME - Wayland / i7-8565U)

image

Instale o driver compatível com a sua CPU para a aceleração de vídeo via iGPU .
Verifique os procedimentos no site abaixo:
https://fedoraproject.org/wiki/Firefox_Hardware_acceleration#Configure_VA-API_Video_decoding_on_Intel

Depois habilite a aceleração de vídeo via iGPU nas configurações do Chrome. Acesse a url chrome://flags/

Verifique na internet quais os nomes das flags necessárias nas configurações apresentadas em chrome://flags/. Uso o Arch Linux e faço as configurações usando o arquivo chromium-flags.conf. Não sei se todas as flags estão disponíveis ou se possuem a mesma chamada no chrome://flags/.

Já li que esse procedimento não funciona no Fedora. Esse modo de configuração é para o Arch Linux e é feito pelos mantenedores do pacote no Arch Linux. Para funcionar parecido com esse procedimento é preciso editar o .desktop do aplicativo no Fedora. Mas pode ser que esteja funcionando no momento. Não uso o Fedora e não tenho informações atuais sobre essa questão.

1 curtida

Ola, sou novo por aqui, e este assunto muito me pertubou ! sempre usei o Fedora até removerem os codecs vaapi h264 etc… testei de tudo que tem no Fedora Discuss e nada funcionou! eu uso um Notebook Ryzen 5 e o meu Desktop é Ryzen 7, então comecei a usar o Manjaro e eles tambem removeram esses Codecs aceleradores, testei a mesa nonfree, mesa3D, mesa FreeWorld que o forum do manjaro recomenda… de tanto estudar este assunto no forum Manjaro os moderadores me falaram que as distro que foram removidos os codecs não iria funcionar legal com as minhas maquinas Amd Ryzen, eles até recomendaram eu a usar o Archlinux ou EndeavorOS… e realmente funcionou! testei Ubuntu, Archlinux, Solus e outras distros e essas funcionaram legal, ja( Fedora / Manjaro / Suse )não tem jeito!, nem instalando esse open h264 funciona, hoje estou usando o archlinux, só que eu não sei fazer o polimento na distro kkk…o manjaro é bonito mais não funciona, o fedora é bonito e sem extensões mas não funciona!, o suse é horrivel e entupido de coisas! e tambem não funciona.outros falaram para eu fazer uma gambiarra com o obs , firefox,vlc , e no final as maquinas ficam roncando, esquentando e fazendo barulhos das fan.

Consegui resolver depois de alguma luta:
image
Lembrando que estou no Fedora 39
O que eu fiz foi:

1ª - Fui no link que o @henriqueffc postou da documentação oficial do Fedora, mas quando eu executava o “vainfo”, não funcionava, então fui nesse tutorial: https://fostips.com/hardware-acceleration-video-fedora/
E segui todos os passos, instalei o que ele fala e etc, mas mesmo assim não aparecia, até que achei esse tópico no fórum do Fedora: https://forums.fedoraforum.org/showthread.php?325563-Hardware-acceleration-on-Google-Chrome
E segui o que esse usuário fez:

Fui no /usr/share/applications/ coloquei pra editar o google-chrome.desktop com o nano, e adicionei essa linha que ele se refere no exec do arquivo:
/usr/bin/google-chrome-stable --enable-features=VaapiVideoDecoder,VaapiVideoEncoder %U

Depois disso ainda não estava aparecendo, então dei um reboot no PC, e quando voltou já estava com a opção ativada.

2 curtidas

Recomendo COPIAR o arquivo google-chrome.desktop para a pasta ~/.local/share/applications. Essa cópia evita que a cada atualização do Chrome você tenha que editar o .desktop que fica na pasta /usr/share/applications. O sistema usará o .desktop que está na sua $HOME/.local/share/applications, mesmo que o Chrome seja atualizado e apague as suas modificações feitas no .desktop na pasta /usr/share/applications.

Mas a aceleração de vídeo via iGPU foi realmente habilitada? Apareceu no final da página chrome://gpu/ as seguintes informações:

Se acessar chrome://media-internals/ durante uma execução de algum vídeo no Youtube, qual o codec que aparece em KVideoDecoderName.

O codec usado na aceleração de hardware via iGPU Intel é o VaapiVideoDecoder para vp9.

A minha iGPU não suporta av1. Preciso usar a extensão Not Yet, AV1 para não ter a reprodução de vídeos em av1 sem aceleração de hardware.

2 curtidas

Valeu pela dica, @henriqueffc, já fiz isso aqui.

Complementei a resposta anterior. Dá uma olhada.

Aqui tá aparecendo assim, @henriqueffc
image

Então, pelo que tou entendendo, não foi habilitado real né?

Não foi. Coloque /usr/bin/google-chrome-stable --enable-features=VaapiVideoEncoder,VaapiVideoDecodeLinuxGL,UseChromeOSDirectVideoDecoder %U e faça o teste novamente. Está usando Wayland ou X11?

Parece que com essa modificação funcionou, @henriqueffc:

No meu caso estou usando Wayland, Fedora 39 com Gnome:

Maravilha @brunot. Parece que a sua GPU faz decode do AV1. Não precisa da extensão Not Yet, Av1.

1 curtida

Você pode usar o Intel GPU Top (pacote intel-gpu-tools) para verificar a aceleração de vídeo via GPU ou o Nvtop.

sudo intel_gpu_top

Para sair CTRL + C

A engine Video (ou juntas a Video e a VideoEnhance) deve mostrar que está sendo usada.

Nvtop

O ENC/DEC apresenta o uso da aceleração de vídeo via GPU.

Para verificar qual codec utilizado na reprodução do Youtube clique com o botão direito sobre o vídeo e escolha Estatísticas para nerds

image

1 curtida

Está aparecendo Wayland nas suas configurações?

image

Se não estiver utilize /usr/bin/google-chrome-stable --use-gl=angle --use-angle=gl --ozone-platform=wayland --enable-features=VaapiVideoEncoder,VaapiVideoDecodeLinuxGL,UseChromeOSDirectVideoDecoder --gtk-version=4 %U

1 curtida

Caros, aqui eu segui os tutoriais trazidos pelo @henriqueffc e pelo @brunot , funcionou perfeitamente!

Captura de tela de 2024-03-28 19-21-05

Como faz o lance do “enable-features” sem ter que iniciar o Chrome(flatpak) pelo Terminal? Sou novato no Gnome e linux em geral.

Ainda aproveitando o tópico sobre a aceleração no Chrome, uma última feature que o Fedora habilitou por padrão no Firefox mas não no Google Chrome é a rolagem contínua/rolagem suave. Existe algo que possamos fazer para isso funcionar no Chrome ? Muito obrigado!!

Sei que é possível fazer usando o Flatseal, mas como nunca configurei as flags utilizado esse app, não sei informar como proceder. É possível configurar também usando a CLI do flatpak.

@fastos2016 você que manja dos flatpaks, poderia dar uma ajuda para o rapaz?

As flags do chrome sao independentes das permissões flatpak, não precisa mexer no flatseal para mudar flags do chrome…

Com o ozone plataform setado em wayland eu tive um problema com o cedilha, está escrevendo assim (ć) em vez de assim (ç)

Imaginei que era possível configurar as flags para serem permanentes para o Chrome em formato flatpak usando o Flatseal. Com isso não seria preciso modificar o .desktop.