There are even more options than mentioned in #51...
(a) Install initcall_blacklist=simpledrm_platform_driver_init with the Nvidia driver.
(b) Patch everyone's kernels like Red Hat did. This is probably the worst option and least likely to be approved.
(c) Build all FB drivers as modules, something like:
FB_EFI=m
FB_VESA=m
CONFIG_SYSFB_SIMPLEFB=y
CONFIG_DRM_SIMPLEDRM=m
Then put simpledrm in the initramfs default modules list and Nvidia drivers can reconfigure their preferred one.
(d) Delete /dev/dri/card0 during startup (in systemd scripts or maybe gdm) if you're sure card0 is simpledrm and that nvidia-drm is now up and running on card1.
(e) Can (d) be implemented purely as udev rules??
---
(a), (b) and (c) all have the risk that CONFIG_EFI_FB/CONFIG_VESA_FB might regress on bug 1970069. Not sure... So I'm wondering if there are any risks to option (d) given it would be entirely confined to the 470 and 535 Nvidia drivers.
> How do you want to handle 470 and 535?
There are even more options than mentioned in #51...
(a) Install initcall_ blacklist= simpledrm_ platform_ driver_ init with the Nvidia driver.
(b) Patch everyone's kernels like Red Hat did. This is probably the worst option and least likely to be approved.
(c) Build all FB drivers as modules, something like: SYSFB_SIMPLEFB= y DRM_SIMPLEDRM= m
FB_EFI=m
FB_VESA=m
CONFIG_
CONFIG_
Then put simpledrm in the initramfs default modules list and Nvidia drivers can reconfigure their preferred one.
(d) Delete /dev/dri/card0 during startup (in systemd scripts or maybe gdm) if you're sure card0 is simpledrm and that nvidia-drm is now up and running on card1.
(e) Can (d) be implemented purely as udev rules??
---
(a), (b) and (c) all have the risk that CONFIG_ EFI_FB/ CONFIG_ VESA_FB might regress on bug 1970069. Not sure... So I'm wondering if there are any risks to option (d) given it would be entirely confined to the 470 and 535 Nvidia drivers.