Driver da Nvidia atravancando o progresso do Linux
Desde o kernel 5.14, lançado em 29 de agosto de 2021, existe o driver Direct
Rendering Manager (DRM) genérico simpledrm
, que usa o framebuffer
fornecido pelo VBIOS/UEFI.
Em distribuições que ativem-no (CONFIG_DRM_SIMPLEDRM=y
e
CONFIG_SYSFB_SIMPLEFB=y
), adicionar nomodeset
nas
opções de inicialização passa a ser verdadeiramente um
modo de segurança gráfico, que funciona com o Wayland: driver DRM
nativo da GPU — como i915
, amdgpu
, etc.
— não é carregado e o simpledrm
fornece um
dispositivo DRM funcional[1]. LLVMpipe (Mesa) completa o time
fornecendo OpenGL via software. Acaba beneficiando também o Xorg, pois seus
drivers do espaço de usuário vesa
e fbdev
(há muito
tempo com manutenção precária) não são mais requeridos.
[ 0.599209] [drm] Initialized simpledrm 1.0.0 20200625 for simple-framebuffer.0 on minor 0 [ 0.600186] simple-framebuffer simple-framebuffer.0: [drm] fb0: simpledrmdrmfb frame buffer device
https://fedoraproject.org/wiki/Changes/ReplaceFbdevDrivers
Fedora 36 adotou essa configuração. Desde lá, bugs foram consertados no kernel, Xorg, Plymouth, Kwin, GDM, tornando as coisas azeitadas o suficiente para, na versão 39, a limpeza ir adiante removendo os referidos drivers do Xorg:
https://fedoraproject.org/wiki/Changes/LegacyXorgDriverRemoval
Agora o problema: os módulos do driver da Nvidia, tanto o proprietário quanto
este aqui[2] (não é o comunitário nouveau
). A partir da versão
525, há alguma cooperação com o simpledrm
, porém ainda
problemática. Por causa disso, o Arch Linux, que distribui ambos no
repositório oficial, não usa a nova configuração.
O kernel do Fedora tem um
patch quebra-galho
para não carregar o simpledrm
quando a opção de inicialização
nvidia-drm.modeset=1
for especificada. Para tanto,
precisou reativar
os obsoletos drivers fbdev no kernel (CONFIG_FB_EFI=y
e
CONFIG_FB_VESA=y
).
Medida saneadora sendo prejudicada pela lentidão da Nvidia em tornar seu código compatível.
[1] Com BIOS, ao usar
nomodeset
, é necessário
especificar também vga=<modo>
ou vga=ask
.[2] Código fonte aberto disponibilizado a partir da versão 515 (Turing+).
No Linux Nvidia é atraso de vida. Colocar uma GPU AMD na minha estação de trabalho foi a melhor coisa que eu fiz, sossego total.
ResponderExcluirAham. AMD e Intel são mais amigáveis no Linux.
Excluir