Chromium e Vivaldi usando vulkan como backend gráfico no Arch Linux

Configurei o Chromium e o Vivaldi para usarem o vulkan como backend gráfico no Arch Linux (GNOME/Wayland) e até o momento os resultados são bons. O intuito dos testes foi verificar como está a estabilidade e o desempenho dos navegadores ao usarem o vulkan. A decodificação de vídeo nos navegadores via GPU integrada está habilitada no Wayland (o encode via GPU integrada não está habilitado usando o vulkan). Ambos os navegadores foram instalados usando os repositórios oficiais da distribuição e defini ANV_VIDEO_DECODE=1 como uma variável de ambiente para expor a decodificação de vídeo usando vulkan na GPU integrada Intel.

Notebook: i5-12450H, 16GB de ram, NVMe 500 GB, Intel integrada e NVIDIA GeForce RTX 3050 6GB.

Chromium 131.0.6778.69

https://wiki.archlinux.org/title/Chromium

Web basemark


Speeddometer 3.0

Informações disponíveis em chrome://gpu/
chro



Uso do intel-gpu-tools para verificar a decodificação de vídeo via GPU integrada.

Vivaldi 7.0.3495.15

https://wiki.archlinux.org/title/Vivaldi



Informações disponíveis em vivaldi:gpu
viv



Configuração necessária para habilitar o vulkan

--ozone-platform=wayland
--enable-features=Vulkan,DefaultANGLEVulkan,VulkanFromANGLE

Configuração que uso para os navegadores Chromium e Vivaldi

--ozone-platform=wayland
--enable-features=Vulkan,DefaultANGLEVulkan,VulkanFromANGLE,CanvasOopRasterization,WebRTCPipeWireCapturer,UIEnableSharedImageCacheForGpu,UseMultiPlaneFormatForHardwareVideo,WebMachineLearningNeuralNetwork
--enable-parallel-downloading
--enable-gpu-rasterization
--enable-zero-copy
--enable-quic
--enable-webgl-draft-extensions
--enable-smooth-scrolling
--enable-use-gpu-scheduler-dfs
--enable-drdc
--enable-web-app-universal-install
--enable-native-gpu-memory-buffers

Firefox 132.0.2 (não usa vulkan)

https://wiki.archlinux.org/title/Firefox



Informações disponíveis em about:support

Electron 32 (usado pelo Obsidian no meu sistema)

https://wiki.archlinux.org/title/Wayland#Electron

Para verificar as informações das configurações usadas execute no terminal electron32 chrome://gpu

electron1



Vídeo incorporado a uma nota do Obsidian

7 curtidas

Interessante isso
Aq ja ate purgei o firefox pela dor de cabeça que vem me dando, infelizmente vou ter que ficar nas tralhas da Google
Alias e perigoso o firefox ficar minimamente utilizável quando cair nas mãos da comunidade

1 curtida

Me irrita como as flags do Chromium mudam mais do que cabelo de cantora kpop. Talvez a pessoa precise vender sua alma se quiser usar Linux sem abrir mão de uma aceleração de hardware minimamente decente.

Olá Henrique,

Gostei, muito interessante teus testes! Sem querer te tocar um balde de água fria, eu acredito que o Chromium 131 no Wayland, ainda não está compatível com Vulkan - inclusive as flags “vulkan” foram retiradas. Realizei os testes com as mesmas configurações em uma placa AMD Radeon RX 7600 XT. Veja retorno de log do chrome://gpu

ERROR:wayland_surface_factory.cc(241)] : '--ozone-platform=wayland' is not compatible with Vulkan. Consider switching to '--ozone-platform=x11' or disabling Vulkan

Olá, Riker, obrigado pelo comentário. Vi essa mensagem antes dos testes e fiquei na dúvida também. Contudo, as informações mostradas pelo navegador e o fato do WebGPU (--enable-unsafe-webgpu) só funcionar com o Vulkan habilitado em distribuições Linux (informação que encontrei na internet, mas não de uma fonte oficial), apontariam que o Chromium está funcionando com o Vulkan. Por isso considerei que a mensagem poderia estar errada e prossegui com os testes.

image

O looking glass do Gnome (ALT + F2 - digite lg - depois acesse Windows - Veja o GType - MetaWindowWayland) e as próprias configurações do navegador informam que ele está sendo executado no Wayland. Se o navegador estivesse sendo executado no XWayland o GType informaria MetaWindowXwayland.

image

2 curtidas

Olá, afim de contribuir mais com a bela postagem do amigo Henrique, para a aceleração de vídeo, disponibilizo a documentação de referência oficial para as flags VaAPI do Chromium

Aproveitando, vale destacar também que provavelmente na versão 132 do Chromium para janeiro/25 iremos receber a flag para a implementação linux-drm-syncobj-v1 que é um redesenhado protocolo Wayland para a sincronização explícta de buffer (substituindo, assim o linux-explicit-synchronization-unstable-v1), resolvendo de fato a questão de incompatibilidade com drivers proprietários da NVIDIA ao aplicativo, entre outros

2 curtidas

Versão 132.0.6834.83 (Versão oficial) Arch Linux 64 bits

1 curtida