A empresa NVIDIA lançou uma versão estável do novo ramo do driver proprietário NVIDIA 570.124. O driver está disponível para Linux (ARM64, x86_64), FreeBSD (x86_64) e Solaris (x86_64). O NVIDIA 570.x se tornou o nono ramo estável após a abertura de componentes que funcionam no nível do kernel pela NVIDIA. Os códigos-fonte dos módulos do kernel nvidia.ko, nvidia-drm.ko (Direct Rendering Manager), nvidia-modeset.ko e nvidia-uvm.ko (Unified Video Memory) do novo ramo da NVIDIA, bem como os componentes comuns que não estão vinculados ao sistema operacional, estão disponíveis no GitHub. Os firmwares e as bibliotecas utilizadas no espaço do usuário, como as pilhas CUDA, OpenGL e Vulkan, permanecem proprietários.
Principais mudanças:
- O painel de controle nvidia-settings foi atualizado para usar a biblioteca NVML em vez do NV-CONTROL para gerenciar a frequência da GPU e a velocidade do ventilador. A transição para NVML possibilitou que o nvidia-settings funcionasse em ambientes baseados no protocolo Wayland, onde a extensão X NV-CONTROL não pode ser usada. Algumas operações que antes estavam disponíveis para usuários não privilegiados agora exigirão privilégios elevados.
- Foi adicionada suporte a VRR (Variable Refresh Rate) em configurações de múltiplos monitores, incluindo ambientes com Wayland. O VRR permite ajustar dinamicamente a taxa de atualização do monitor para garantir uma jogabilidade suave e a ausência de interrupções durante jogos e exibições de vídeo.
- Adicionada suporte para a extensão Vulkan VK_KHR_incremental_present.
- Para GPUs que suportam a modificação de frequência por software, as configurações de overclocking estão habilitadas por padrão no configurador nvidia-settings. Anteriormente, a presença dessas configurações exigia ativação no arquivo de configuração através da seção 'Coolbits'.
- Para GPUs baseadas na microarquitetura Ada e superiores, o modo de economia de energia foi desativado para superfícies criadas por meio da API DRM Dumb-Buffers (por exemplo, ao usar DRM fbdev). Essa alteração resolveu problemas com tela preta ao renderizar através do buffer de saída na tela (front-buffer) em vez de alternar buffers usando KMS.
- Foi adicionado o parâmetro 'conceal_vrr_caps' ao módulo do kernel nvidia-modeset para gerenciar a ativação de recursos em alguns monitores, como LMB (Ultra Low Motion Blur), que são incompatíveis com VRR (Variable Refresh Rate).
- Dados refletindo o estado do uso da tecnologia Dynamic Boost foram adicionados ao arquivo /proc/driver/nvidia/gpus/*/power.
- No backend, o NVIDIA GBM ativou o modo de compatibilidade com aplicativos de 32 bits.
- Foi adicionado o arquivo /usr/share/nvidia/files.d/sandboxutils-filelist.json com a lista de todos os arquivos do driver utilizados em ambientes baseados em contêineres isolados, como nvidia-container-toolkit e enroot.
- Adicionada a suporte para ativação do modo de suspensão e, em seguida, hibernação através do systemd.
- Por padrão, estão configurados os parâmetros "nvidia-drm modeset=1" e "nvidia-drm fbdev=1", nos quais o módulo nvidia-drm (Direct Rendering Manager) será usado como uma substituição para o console do sistema baseado em framebuffer. Essa alteração resolve problemas de saída incorreta ao usar uma tela com os drivers nvidia-drm e simpledrm.
- Implementado um modo experimental de processamento de interrupções do controlador de exibição, desativado por padrão, com latências mínimas. O modo é útil para reduzir travamentos em sistemas de realidade virtual sob alta carga. Para ativá-lo no módulo nvidia.ko, pode-se usar o parâmetro "NVreg_RegistryDwords=RMIntrLockingMode=1".
- Suporte adicionado para compilar com novas versões do kernel Linux.
- Adicionado um perfil para aumentar o desempenho do jogo "Indiana Jones and the Great Circle".
- Adicionado um perfil para resolver problemas de saída incorreta na tela em jogos como Assassin’s Creed Valhalla e Assassin’s Creed Mirage.
- Resolver problemas de desempenho e travamentos que ocorriam ao rolar janelas em sistemas com Wayland em sistemas com firmwares GSP.
- Corrigido um erro que causava o encerramento inesperado de alguns aplicativos que usavam a API gráfica Vulkan ao processar eventos de mudança de tamanho de janela.
- Corrigido um erro que causava o encerramento inesperado de alguns aplicativos multithread que usavam OpenGL em ambientes baseados em Xwayland. Por exemplo, o problema aparecia no jogo Civilization 6.
Fonte: opennet.ru
