A NVIDIA detalhou novos recursos e funcionalidades para os drivers Linux no Wayland, explicando tanto o suporte atual quanto seus planos. Com Wayland sendo uma alternativa cada vez mais adotada em vez do servidor de exibição X11, a NVIDIA busca alinhar seus drivers a essa tendência.
Aaron Plattner, desenvolvedor da NVIDIA, compartilhou uma visão sobre o que já é possível e o que ainda está por vir, assim como as limitações encontradas no ambiente Wayland devido à falta de compatibilidade com alguns compositores e protocolos.
Limitações no suporte ao Wayland
Uma das principais dificuldades é adaptar o que funcionava no X11 para o ecossistema Wayland, já que certos recursos não são suportados por limitações do próprio protocolo ou dos compositores Wayland, os quais têm diferentes graus de compatibilidade com funcionalidades avançadas.
Recursos Não Suportados
Atualmente, o driver da NVIDIA possui limitações de recursos no Wayland, entre eles:
- Stereo Rendering com GLX/EGL/Vulkan: Este recurso, utilizado em ambientes 3D para renderizar imagens estéreo, não possui suporte no Wayland;
- SLI Mosaic Implícito: Esta funcionalidade permite que um aplicativo apresente conteúdo em um display virtual dividido entre múltiplos displays físicos. A ausência de compatibilidade com Wayland impede o suporte dessa funcionalidade;
- Configuração via nvidia-settings: No X11, o nvidia-settings permite ajustes avançados nos displays, mas no Wayland essa configuração centralizada é impossível devido à falta de um padrão entre os diversos compositores. A ferramenta continua oferecendo informações sobre o sistema e uso de energia, mas a configuração dos displays deve ser feita no compositor utilizado.
Essas limitações mostram a dificuldade da NVIDIA em adaptar-se ao Wayland sem comprometer a experiência do usuário.
Vulkan Direct to Display
A fim de contornar algumas dessas restrições, a NVIDIA está adotando o Vulkan Direct to Display, que possibilita a execução de alguns recursos diretamente no display físico. Isso dá ao aplicativo controle sobre o display, fornecendo mais flexibilidade e desempenho. Entre as funcionalidades suportadas através dessa API, incluem-se:
- Stereo Rendering: Possível através do VK_KHR_multiview, que otimiza a renderização de múltiplos pontos de vista;
- SLI Explícito com Vulkan: Implementado via VK_KHR_device_group, para garantir suporte em ambientes com várias GPUs de forma coordenada;
- Swap Groups: Gerenciados pelo VK_NV_present_barrier, para sincronizar o tempo de apresentação em configurações de múltiplos displays;
- Frame Lock e Genlock: Esses recursos, utilizados para sincronizar frames entre vários monitores, são viabilizados com o Vulkan.
Essas soluções representam alternativas para compensar a ausência de compatibilidade direta com o Wayland, e garantem que os usuários possam aproveitar recursos de exibição avançados, mesmo que não exatamente da mesma forma que no X11.
Novidades planejadas para os próximos lançamentos
A NVIDIA planeja novos recursos para futuros lançamentos de drivers Linux, buscando ampliar o suporte ao Wayland. Essas novidades visam tornar a experiência mais completa e comparável ao X11, incluindo:
- VRR Multi-Monitor: O Variable Refresh Rate para múltiplos monitores deve ser incluído em um próximo lançamento, permitindo sincronização de taxas de atualização entre displays, especialmente útil para configurações multi-monitor em jogos e trabalhos gráficos;
- Parâmetros fbdev e modeset no nvidia-drm: O parâmetro fbdev=1 será ativado por padrão, resolvendo problemas de exibição quando o nvidia-drm e simpledrm controlam o mesmo display. Já o modeset=1 proporcionará uma transição mais fluida entre drivers, especialmente ao lidar com inicialização de displays;
- Multiplexadores de Exibição (Muxes): Em notebooks híbridos, com GPUs integradas e dedicadas, os muxes permitem alterar a conexão da GPU diretamente para o display, otimizando o desempenho em aplicativos de tela cheia. Atualmente, essa funcionalidade existe no X11, mas no Wayland, seu desenvolvimento está em progresso;
- Recursos Avançados de Pipeline de Exibição: O suporte para recursos como warp and blend, pixel shift e propriedades de codificação de cor (COLOR_ENCODING e COLOR_RANGE) ampliará as opções de ajustes e melhorará a qualidade visual. Esses ajustes devem estar disponíveis como propriedades DRM, que os compositores poderão explorar;
- Renderização Front-Buffer com Xwayland: A possibilidade de utilizar front-buffer rendering via Xwayland, um método que minimiza latência para aplicativos X11 em execução no Wayland;
- Informações de Temporização de Apresentação no nvidia-drm: Ao incluir dados de temporização, o driver permitirá melhor controle sobre quando os frames são exibidos, melhorando o desempenho em jogos e conteúdo interativo;
- Suporte VDPAU e vGPU para Wayland: Recursos como VDPAU (Video Decode and Presentation API for Unix) e vGPU (para virtualização de GPU) serão expandidos para Wayland, tornando o sistema ainda mais versátil para usuários profissionais.
Considerações finais
As atualizações contínuas da NVIDIA mostram um avanço significativo no suporte ao Wayland, buscando aproximar a experiência à encontrada no X11. Apesar das limitações impostas pelo próprio protocolo e compositores Wayland, a NVIDIA está empenhada em fornecer soluções alternativas e novos recursos. Essas melhorias futuras indicam que os usuários de Linux, especialmente aqueles que utilizam Wayland, podem esperar um suporte mais robusto e estável em configurações avançadas de exibição, oferecendo uma experiência cada vez mais completa.
Você ama Linux e tecnologia como nós? Visite nossa loja e mostre ao mundo vestindo nossas camisas e moletons exclusivos, no melhor estilo geek!