When you enable Secure Boot, the kernel doesn’t load the Nvidia propreitary driver, because it’s not part of the kernel. The system then runs probably on nouveau or some fallback driver (depending on how your system is configured), which likely doesn’t support high resolution and acceleration on your Nvidia card.
So you either need to have Secure Boot disabled, in order to have Nvidia proprietary driver working, or use Intel or AMD graphics card instead.
No, it’s not about compilation. Intel and AMD have their source code as part of the kernel, it can be trusted. Nvidia have their source code hidden, the kernel can’t trust it (similarly to other third-party kernel modules, e.g. VMware). Secure Boot is not possible, the chain of trust is broken.
The rpmfusion nvidia documentation explains how to get the nvidia driver working with secure boot enabled. This boils down to: create a signing key, install into the UEFI, build and sign the nvidia driver.
@caos1 already has the nvidia drivers installed so it is a simple matter of following instructions.
perform every step carefully as shown in the file /usr/share/doc/akmods/README.secureboot
remove the currently unsigned kernel modules with sudo dnf remove kmod-nvidia-$(uname -r)
recreate the modules that will then be signed with sudo akmods --force
After step 3 completes then wait about a minute before rebooting. During the reboot enable secure boot (unless already active)
These 4 steps easily enable the nvidia drivers with secure boot enabled. Note that the instructions at rpmfusion do not suggest the need to perform steps 2 & 3 above, but they are required if the drivers are already installed
It is 100% about trust, but the user has the option to create a key and self sign the locally compiled kernel modules. Using secure boot with 3rd party drivers is quite possible, just not totally automatic as far as trust.
Intel and AMD have the driver modules signed and provided from the fedora repo. They are modules just like nvidia drivers, but are signed and distributed by fedora. The nvidia drivers do have proprietary code which is why the user must sign them instead of fedora providing the already signed modules.