Quando inicializo meu computador pela primeira vez, nvidia-modprobe sai com um código de erro, sem imprimir nenhuma mensagem, enquanto sudo modprobe nvidia é bem-sucedido. Eu procurei o código-fonte e descobri que o código que verifica os dispositivos da NVIDIA é o culpado. Eu tentei usar lspci -vnn , que dá a seguinte saída para a placa NVIDIA:
09:00.0 3D controller [0302]: NVIDIA Corporation GM108M [GeForce 930M] [10de:1346] (rev ff) (prog-if ff)
!!! Unknown header type 7f
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
Em seguida, olhei para /proc/bus/pci/devices/0000:09:00.0/config , que acabou por ser preenchido com ff bytes. Acessar o arquivo device ou vendor , por outro lado, fornece o resultado esperado.
Após inspeção adicional, /proc/bus/pci/devices/0000:09:00.0/enable contém 0 . Fazer eco de 1 nesse arquivo como raiz faz com que config contenha o resultado esperado.
Depois de usar sudo modprobe nvidia , invocações futuras de nvidia-modprobe serão bem-sucedidas até a próxima reinicialização, mesmo que o módulo do kernel nvidia seja posteriormente descarregado.
Claro, eu poderia criar minha própria versão de nvidia-modprobe que remove as verificações de dispositivos NVIDIA, mas isso causaria problemas se eu quisesse atualizar meus drivers NVIDIA.
Existe uma maneira de resolver este problema ou estou olhando para o problema errado?