What ubuntu does, or doesn’t do has no relevance. Their policies on what they allow into their repositories, or configurations they ship is entirely up to them.
localhost:/home/jc # modprobe -c | grep nvidia
install nvidia PATH=$PATH:/bin:/usr/bin; if /sbin/modprobe --ignore-install nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=$(getent group video | cut -d: -f3) NVreg_DeviceFileMode=0660 NVreg_PreserveVideoMemoryAllocations=1; then if /sbin/modprobe nvidia_uvm; then if [ ! -c /dev/nvidia-uvm ]; then mknod -m 660 /dev/nvidia-uvm c $(cat /proc/devices | while read major device; do if [ "$device" == "nvidia-uvm" ]; then echo $major; break; fi ; done) 0; chown :video /dev/nvidia-uvm; fi; if [ ! -c /dev/nvidia-uvm-tools ]; then mknod -m 660 /dev/nvidia-uvm-tools c $(cat /proc/devices | while read major device; do if [ "$device" == "nvidia-uvm" ]; then echo $major; break; fi ; done) 1; chown :video /dev/nvidia-uvm-tools; fi; fi; if [ ! -c /dev/nvidiactl ]; then mknod -m 660 /dev/nvidiactl c 195 255; chown :video /dev/nvidiactl; fi; devid=-1; for dev in $(ls -d /sys/bus/pci/devices/*); do vendorid=$(cat $dev/vendor); if [ "$vendorid" == "0x10de" ]; then class=$(cat $dev/class); classid=${class%%00}; if [ "$classid" == "0x0300" -o "$classid" == "0x0302" ]; then devid=$((devid+1)); if [ ! -L /run/udev/static_node-tags/uaccess/nvidia${devid} ]; then ln -snf /dev/nvidia${devid} /run/udev/static_node-tags/uaccess/nvidia${devid}; fi; if [ ! -c /dev/nvidia${devid} ]; then mknod -m 660 /dev/nvidia${devid} c 195 ${devid}; chown :video /dev/nvidia${devid}; fi; fi; fi; done; /sbin/modprobe nvidia_drm; if [ ! -c /dev/nvidia-modeset ]; then mknod -m 660 /dev/nvidia-modeset c 195 254; chown :video /dev/nvidia-modeset; fi; fi
options nvidia_drm modeset=1 fbdev=1
softdep nvidia pre: ecdh_generic,ecdsa_generic
alias char_major_195_* nvidia
alias hid:b0003g*v00000955p00007214 hid_nvidia_shield
alias hid:b0005g*v00000955p00007214 hid_nvidia_shield
alias mbp_nvidia_bl apple_bl
alias pci:v000010DEd*sv*sd*bc03sc00i00* nvidia_drm
alias pci:v000010DEd*sv*sd*bc03sc00i00* nvidia
alias pci:v000010DEd*sv*sd*bc03sc02i00* nvidia_drm
alias pci:v000010DEd*sv*sd*bc03sc02i00* nvidia
alias pci:v000010DEd*sv*sd*bc06sc80i00* nvidia_drm
alias pci:v000010DEd*sv*sd*bc06sc80i00* nvidia
alias pci:v000010DEd*sv*sd*bc0Csc80i* i2c_nvidia_gpu
alias typec:id0955m* typec_nvidia
alias wmi:603E9613_EF25_4338_A3D0_C46177516DB7 nvidia_wmi_ec_backlight
alias symbol:nvKmsKapiGetFunctionsTable nvidia_modeset
alias symbol:nvUvmInterfaceAddressSpaceCreate nvidia
alias symbol:nvUvmInterfaceAddressSpaceDestroy nvidia
alias symbol:nvUvmInterfaceBindChannelResources nvidia
alias symbol:nvUvmInterfaceChannelAllocate nvidia
alias symbol:nvUvmInterfaceChannelDestroy nvidia
alias symbol:nvUvmInterfaceCslDecrypt nvidia
alias symbol:nvUvmInterfaceCslEncrypt nvidia
alias symbol:nvUvmInterfaceCslIncrementIv nvidia
alias symbol:nvUvmInterfaceCslInitContext nvidia
alias symbol:nvUvmInterfaceCslLogExternalEncryption nvidia
alias symbol:nvUvmInterfaceCslQueryMessagePool nvidia
alias symbol:nvUvmInterfaceCslRotateIv nvidia
alias symbol:nvUvmInterfaceCslSign nvidia
alias symbol:nvUvmInterfaceCslUpdateContext nvidia
alias symbol:nvUvmInterfaceDeRegisterUvmOps nvidia
alias symbol:nvUvmInterfaceDeinitCslContext nvidia
alias symbol:nvUvmInterfaceDestroyAccessCntrInfo nvidia
alias symbol:nvUvmInterfaceDestroyFaultInfo nvidia
alias symbol:nvUvmInterfaceDeviceCreate nvidia
alias symbol:nvUvmInterfaceDeviceDestroy nvidia
alias symbol:nvUvmInterfaceDisableAccessCntr nvidia
alias symbol:nvUvmInterfaceDupAddressSpace nvidia
alias symbol:nvUvmInterfaceDupAllocation nvidia
alias symbol:nvUvmInterfaceDupMemory nvidia
alias symbol:nvUvmInterfaceEnableAccessCntr nvidia
alias symbol:nvUvmInterfaceFlushReplayableFaultBuffer nvidia
alias symbol:nvUvmInterfaceFreeDupedHandle nvidia
alias symbol:nvUvmInterfaceGetChannelResourcePtes nvidia
alias symbol:nvUvmInterfaceGetEccInfo nvidia
alias symbol:nvUvmInterfaceGetExternalAllocPtes nvidia
alias symbol:nvUvmInterfaceGetFbInfo nvidia
alias symbol:nvUvmInterfaceGetGpuInfo nvidia
alias symbol:nvUvmInterfaceGetNonReplayableFaults nvidia
alias symbol:nvUvmInterfaceGetP2PCaps nvidia
alias symbol:nvUvmInterfaceGetPmaObject nvidia
alias symbol:nvUvmInterfaceHasPendingNonReplayableFaults nvidia
alias symbol:nvUvmInterfaceInitAccessCntrInfo nvidia
alias symbol:nvUvmInterfaceInitFaultInfo nvidia
alias symbol:nvUvmInterfaceMemoryAllocFB nvidia
alias symbol:nvUvmInterfaceMemoryAllocSys nvidia
alias symbol:nvUvmInterfaceMemoryCpuMap nvidia
alias symbol:nvUvmInterfaceMemoryCpuUnMap nvidia
alias symbol:nvUvmInterfaceMemoryFree nvidia
alias symbol:nvUvmInterfaceOwnPageFaultIntr nvidia
alias symbol:nvUvmInterfaceP2pObjectCreate nvidia
alias symbol:nvUvmInterfaceP2pObjectDestroy nvidia
alias symbol:nvUvmInterfacePagingChannelAllocate nvidia
alias symbol:nvUvmInterfacePagingChannelDestroy nvidia
alias symbol:nvUvmInterfacePagingChannelPushStream nvidia
alias symbol:nvUvmInterfacePagingChannelsMap nvidia
alias symbol:nvUvmInterfacePagingChannelsUnmap nvidia
alias symbol:nvUvmInterfacePmaAllocPages nvidia
alias symbol:nvUvmInterfacePmaFreePages nvidia
alias symbol:nvUvmInterfacePmaPinPages nvidia
alias symbol:nvUvmInterfacePmaRegisterEvictionCallbacks nvidia
alias symbol:nvUvmInterfacePmaUnregisterEvictionCallbacks nvidia
alias symbol:nvUvmInterfaceQueryCaps nvidia
alias symbol:nvUvmInterfaceQueryCopyEnginesCaps nvidia
alias symbol:nvUvmInterfaceRegisterGpu nvidia
alias symbol:nvUvmInterfaceRegisterUvmCallbacks nvidia
alias symbol:nvUvmInterfaceReleaseChannel nvidia
alias symbol:nvUvmInterfaceReportNonReplayableFault nvidia
alias symbol:nvUvmInterfaceRetainChannel nvidia
alias symbol:nvUvmInterfaceServiceDeviceInterruptsRM nvidia
alias symbol:nvUvmInterfaceSessionCreate nvidia
alias symbol:nvUvmInterfaceSessionDestroy nvidia
alias symbol:nvUvmInterfaceSetPageDirectory nvidia
alias symbol:nvUvmInterfaceStopChannel nvidia
alias symbol:nvUvmInterfaceTogglePrefetchFaults nvidia
alias symbol:nvUvmInterfaceTsgAllocate nvidia
alias symbol:nvUvmInterfaceTsgDestroy nvidia
alias symbol:nvUvmInterfaceUnregisterGpu nvidia
alias symbol:nvUvmInterfaceUnsetPageDirectory nvidia
alias symbol:nv_register_error_cb nvidia
alias symbol:nv_unregister_error_cb nvidia
alias symbol:nvidia_get_rm_ops nvidia
alias symbol:nvidia_p2p_destroy_mapping nvidia
alias symbol:nvidia_p2p_dma_map_pages nvidia
alias symbol:nvidia_p2p_dma_unmap_pages nvidia
alias symbol:nvidia_p2p_free_dma_mapping nvidia
alias symbol:nvidia_p2p_free_page_table nvidia
alias symbol:nvidia_p2p_get_pages nvidia
alias symbol:nvidia_p2p_get_pages_persistent nvidia
alias symbol:nvidia_p2p_get_rsync_registers nvidia
alias symbol:nvidia_p2p_init_mapping nvidia
alias symbol:nvidia_p2p_put_pages nvidia
alias symbol:nvidia_p2p_put_pages_persistent nvidia
alias symbol:nvidia_p2p_put_rsync_registers nvidia
alias symbol:nvidia_p2p_register_rsync_driver nvidia
alias symbol:nvidia_p2p_unregister_rsync_driver nvidia
@featherfoot whenever someone asks for command input/output, please preserve the original command output formatting.
~~~
~~~
To do so, type in what you see above, two lines with three ~ each. Then make your paste between the two lines. Alternatively, use the </> icon above the input window to accomplish the same end result. Thus e.g.: