Skip to content

nvidia: Update Nvidia, module now loads on udev hardware-detection + prevent GDM from disabling wayland

Alex Fuller requested to merge altjira/build-meta:update/nvidia into main

nvidia: Update Nvidia to 545.29.02, module now loads on udev hardware-detection + prevent GDM from disabling wayland

References:

https://www.nvidia.com/download/driverResults.aspx/214100/en-us/

https://github.com/pop-os/nvidia-graphics-drivers/tree/nvidia-545.29.02

https://github.com/negativo17/nvidia-driver

https://aur.archlinux.org/packages/nvidia-beta

The suspend/resume/hibernate systemd's I think are not launching by default yet but they are installed with some symlinks, but carbonOS doesn't support hibernate yet either. udev manages nvidia-persistenced.service with the sysuser nvidia-persistenced.

GDM has a fallback mechanism in 61-gdm.rules which we suppress in this, as there's no X.org to fallback onto. Need to check if it's too heavy-handed for VM detection (however I think any time we don't have wayland it'll crash anyways). One of the detection schemes relies on hibernate/suspend/resume services to be running, so it was easy to just suppress it for now.

Nouveau was getting loaded on-boot and takes over KMS modesetting duties which could be that dracut combines modules when it shouldn't? There's a blacklist for the kernel boot CMDLINE="rd.driver.blacklist=nouveau" to prevent this. Perhaps initramfs should be a part of BOARD builds? I'm not sure, but we may need to consider that in the future (there's a fbdev=1 now for their own framebuffer?)

Tested it in a machine with an RTX 4090 headless, with an amdgpu vega card as display. Confirmed that the nvidia module doesn't load in when I run the image in QEMU. Confirmed /dev/nvidia* devices get populated:

nvidia-modeset nvidia-uvm nvidia-uvm-tools nvidia0 nvidiactl

Fixes #106

Fixes #116

Merge request reports