RTX works on a usb but on on my Gigabyte laptop (NVIDIA kernel module missing)

So, before fully installing Fedora KDE on my laptop (AORUS 15G XC), I tried it a bit by fully installing Fedora on a USB stick, and my RTX was automatically detected and worked as it should, but when I set up a dual boot Windows 11 with Fedora on my laptop, the RTX was no longer detected and when I boot up in Fedora, I see the error “NVIDIA kernel module missing. Falling back to nouveau”

I have Secure Boot enabled because, as far as i know, you can’t disable it on Gigabyte laptops without easily (without deleting some sort of keys iirc, forgot). But even with it enabled, the fact that my RTX worked on my USB means that this is not the issue (I think ?).

Before trying out Fedora, I tried Mint, but my RTX wasn’t working at all there and ChatGPT had made me sign, but I’m really not sure what witchery I was doing before so idk if that worked or had any consequences at all.

I tried asking GPT for help but it kept telling me to disable secure boot, so I asked it to give me some commands I can run to get usefull information for this post :


  • The commands on my Laptop :

uname -a :

Linux <host> 6.19.14-300.fc44.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Apr 23 15:17:50 UTC 2026 x86_64 GNU/Linux
NAME="Fedora Linux"
VERSION="44 (KDE Plasma Desktop Edition)"
RELEASE_TYPE=stable
ID=fedora
VERSION_ID=44
VERSION_CODENAME=""
PRETTY_NAME="Fedora Linux 44 (KDE Plasma Desktop Edition)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:44"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f44/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=44
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=44
SUPPORT_END=2027-05-19
VARIANT="KDE Plasma Desktop Edition"
VARIANT_ID=kde

cat /proc/cmdline :

BOOT_IMAGE=(hd0,gpt5)/vmlinuz-6.19.14-300.fc44.x86_64 root=UUID=<redacted> ro rootflags=subvol=root rhgb quiet rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core

lspci -k | grep -A3 -E “VGA|3D” :

00:02.0 VGA compatible controller: Intel Corporation CometLake-H GT2 [UHD Graphics] (rev 05)
        DeviceName: Onboard - Video
        Subsystem: Gigabyte Technology Co., Ltd Device 76c5
        Kernel driver in use: i915
--
01:00.0 VGA compatible controller: NVIDIA Corporation GA104M [GeForce RTX 3070 Mobile / Max-Q] (rev a1)
        Subsystem: Gigabyte Technology Co., Ltd Device 76c5
        Kernel modules: nouveau, nvidia_drm, nvidia
01:00.1 Audio device: NVIDIA Corporation GA104 High Definition Audio Controller (rev a1)

lsmod | grep -E “nouveau|nvidia” :

nouveau              3989504  0
drm_gpuvm              57344  1 nouveau
gpu_sched              73728  1 nouveau
drm_exec               12288  2 drm_gpuvm,nouveau
drm_ttm_helper         20480  1 nouveau
i2c_algo_bit           24576  2 i915,nouveau
ttm                   135168  3 drm_ttm_helper,i915,nouveau
drm_display_helper    344064  2 i915,nouveau
mxm_wmi                12288  1 nouveau
video                  81920  3 asus_wmi,i915,nouveau
wmi                    36864  6 video,intel_wmi_thunderbolt,asus_wmi,wmi_bmof,mxm_wmi,nouveau

modinfo nvidia :

filename:       /lib/modules/6.19.14-300.fc44.x86_64/extra/nvidia/nvidia.ko.xz
import_ns:      DMA_BUF
alias:          char-major-195-*
version:        595.58.03
supported:      external
license:        Dual MIT/GPL
firmware:       nvidia/595.58.03/gsp_tu10x.bin
firmware:       nvidia/595.58.03/gsp_ga10x.bin
softdep:        pre: ecdh_generic,ecdsa_generic
srcversion:     443C476CD74991FAA2CF92A
alias:          pci:v000010DEd*sv*sd*bc06sc80i00*
alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
alias:          of:N*T*Cnvidia,tegra264-displayC*
alias:          of:N*T*Cnvidia,tegra264-display
alias:          of:N*T*Cnvidia,tegra234-displayC*
alias:          of:N*T*Cnvidia,tegra234-display
depends:        
name:           nvidia
retpoline:      Y
vermagic:       6.19.14-300.fc44.x86_64 SMP preempt mod_unload 
parm:           NvSwitchRegDwords:NvSwitch regkey (charp)
parm:           NvSwitchBlacklist:NvSwitchBlacklist=uuid[,uuid...] (charp)
parm:           NVreg_ResmanDebugLevel:int
parm:           NVreg_RmLogonRC:int
parm:           NVreg_ModifyDeviceFiles:int
parm:           NVreg_DeviceFileUID:int
parm:           NVreg_DeviceFileGID:int
parm:           NVreg_DeviceFileMode:int
parm:           NVreg_InitializeSystemMemoryAllocations:int
parm:           NVreg_UsePageAttributeTable:int
parm:           NVreg_EnablePCIeGen3:int
parm:           NVreg_EnableMSI:int
parm:           NVreg_EnableStreamMemOPs:int
parm:           NVreg_RestrictProfilingToAdminUsers:int
parm:           NVreg_PreserveVideoMemoryAllocations:int
parm:           NVreg_EnableS0ixPowerManagement:int
parm:           NVreg_S0ixPowerManagementVideoMemoryThreshold:int
parm:           NVreg_DynamicPowerManagement:int
parm:           NVreg_DynamicPowerManagementVideoMemoryThreshold:int
parm:           NVreg_EnableGpuFirmware:int
parm:           NVreg_EnableGpuFirmwareLogs:int
parm:           NVreg_OpenRmEnableUnsupportedGpus:int
parm:           NVreg_EnableUserNUMAManagement:int
parm:           NVreg_MemoryPoolSize:int
parm:           NVreg_KMallocHeapMaxSize:int
parm:           NVreg_VMallocHeapMaxSize:int
parm:           NVreg_IgnoreMMIOCheck:int
parm:           NVreg_NvLinkDisable:int
parm:           NVreg_EnablePCIERelaxedOrderingMode:int
parm:           NVreg_RegisterPCIDriver:int
parm:           NVreg_RegisterPlatformDeviceDriver:int
parm:           NVreg_EnableResizableBar:int
parm:           NVreg_EnableDbgBreakpoint:int
parm:           NVreg_TegraGpuPgMask:int
parm:           NVreg_EnableNonblockingOpen:int
parm:           NVreg_ExcludeAllGpus:int
parm:           NVreg_GpuInitOnProbe:int
parm:           NVreg_CoherentGPUMemoryMode:charp
parm:           NVreg_RegistryDwords:charp
parm:           NVreg_RegistryDwordsPerDevice:charp
parm:           NVreg_RmMsg:charp
parm:           NVreg_GpuBlacklist:charp
parm:           NVreg_TemporaryFilePath:charp
parm:           NVreg_ExcludedGpus:charp
parm:           NVreg_DmaRemapPeerMmio:int
parm:           NVreg_RmNvlinkBandwidth:charp
parm:           NVreg_RmNvlinkBandwidthLinkCount:int
parm:           NVreg_ImexChannelCount:int
parm:           NVreg_CreateImexChannel0:int
parm:           NVreg_GrdmaPciTopoCheckOverride:int
parm:           NVreg_EnableSystemMemoryPools:int
parm:           NVreg_UseKernelSuspendNotifiers:int
parm:           rm_firmware_active:charp

dmesg | grep -E “nouveau|nvidia|secure|lockdown” :

[    0.000000] Command line: BOOT_IMAGE=(hd0,gpt5)/vmlinuz-6.19.14-300.fc44.x86_64 root=UUID=<redacted> ro rootflags=subvol=root rhgb quiet rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core
[    0.000000] secureboot: Secure boot enabled
[    0.000000] Kernel is locked down from EFI Secure Boot mode; see man kernel_lockdown.7
[    0.041757] secureboot: Secure boot enabled
[    0.202458] Kernel command line: BOOT_IMAGE=(hd0,gpt5)/vmlinuz-6.19.14-300.fc44.x86_64 root=UUID=<redacted> ro rootflags=subvol=root rhgb quiet rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core
[    3.397402] Lockdown: swapper/0: hibernation is restricted; see man kernel_lockdown.7
[   35.454400] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   35.476220] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   35.476393] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   35.476551] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   35.476601] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   48.869685] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   48.892524] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   48.892744] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   48.893004] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   48.893018] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   49.097638] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   49.118578] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   49.118756] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   49.118935] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   49.118950] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7

mokutil --sb-state :

SecureBoot enabled

rpm -qa | grep -i nvidia :

nvidia-gpu-firmware-20260410-1.fc44.noarch
nvidia-modprobe-595.58.03-1.fc44.x86_64
xorg-x11-drv-nvidia-kmodsrc-595.58.03-1.fc44.x86_64
xorg-x11-drv-nvidia-cuda-libs-595.58.03-1.fc44.x86_64
nvidia-persistenced-595.58.03-1.fc44.x86_64
xorg-x11-drv-nvidia-libs-595.58.03-1.fc44.i686
xorg-x11-drv-nvidia-libs-595.58.03-1.fc44.x86_64
xorg-x11-drv-nvidia-cuda-libs-595.58.03-1.fc44.i686
xorg-x11-drv-nvidia-cuda-595.58.03-1.fc44.x86_64
xorg-x11-drv-nvidia-595.58.03-1.fc44.x86_64
akmod-nvidia-595.58.03-2.fc44.x86_64
nvidia-settings-595.58.03-1.fc44.x86_64
xorg-x11-drv-nvidia-power-595.58.03-1.fc44.x86_64
kmod-nvidia-6.19.14-300.fc44.x86_64-595.58.03-2.fc44.x86_64

echo $XDG_SESSION_TYPE && glxinfo | grep “OpenGL renderer” :

wayland
OpenGL renderer string: Mesa Intel(R) UHD Graphics (CML GT2)

  • The commands on my USB :

uname -a
cat /etc/os-release :

Linux <host> 6.19.10-200.fc43.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Mar 25 16:09:19 UTC 2026 x86_64 GNU/Linux
NAME="Fedora Linux"
VERSION="43 (KDE Plasma Desktop Edition)"
RELEASE_TYPE=stable
ID=fedora
VERSION_ID=43
VERSION_CODENAME=""
PRETTY_NAME="Fedora Linux 43 (KDE Plasma Desktop Edition)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:43"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f43/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=43
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=43
SUPPORT_END=2026-12-02
VARIANT="KDE Plasma Desktop Edition"
VARIANT_ID=kde

cat /proc/cmdline :

BOOT_IMAGE=(hd0,gpt2)/vmlinuz-6.19.10-200.fc43.x86_64 root=UUID=343b3bd8-fcb3-43a4-8832-5ea155b155a9 ro rootflags=subvol=root rhgb quiet

lspci -k | grep -A3 -E “VGA|3D” :

00:02.0 VGA compatible controller: Intel Corporation CometLake-H GT2 [UHD Graphics] (rev 05)
        DeviceName: Onboard - Video
        Subsystem: Gigabyte Technology Co., Ltd Device 76c5
        Kernel driver in use: i915
--
01:00.0 VGA compatible controller: NVIDIA Corporation GA104M [GeForce RTX 3070 Mobile / Max-Q] (rev a1)
        Subsystem: Gigabyte Technology Co., Ltd Device 76c5
        Kernel driver in use: nouveau
        Kernel modules: nouveau

lsmod | grep -E “nouveau|nvidia” :

nouveau              4005888  87
drm_ttm_helper         20480  1 nouveau
gpu_sched              69632  1 nouveau
drm_gpuvm              57344  1 nouveau
drm_exec               12288  2 drm_gpuvm,nouveau
i2c_algo_bit           20480  2 i915,nouveau
ttm                   135168  3 drm_ttm_helper,i915,nouveau
drm_display_helper    344064  2 i915,nouveau
mxm_wmi                12288  1 nouveau
video                  81920  3 asus_wmi,i915,nouveau
wmi                    32768  6 video,intel_wmi_thunderbolt,asus_wmi,wmi_bmof,mxm_wmi,nouveau

modinfo nvidia :

modinfo: ERROR: Module nvidia not found.

dmesg | grep -E “nouveau|nvidia|secure|lockdown” :

[    0.000000] secureboot: Secure boot enabled
[    0.000000] Kernel is locked down from EFI Secure Boot mode; see man kernel_lockdown.7
[    0.040664] secureboot: Secure boot enabled
[    2.179730] Lockdown: swapper/0: hibernation is restricted; see man kernel_lockdown.7
[    3.328173] nouveau 0000:01:00.0: enabling device (0000 -> 0003)
[    3.328270] nouveau 0000:01:00.0: NVIDIA GA104 (b74000a1)
[    4.166045] nouveau 0000:01:00.0: gsp: RM version: 570.144
[    4.260604] nouveau 0000:01:00.0: bios: version 94.04.3d.00.41
[    6.183796] nouveau 0000:01:00.0: drm: VRAM: 8192 MiB
[    6.183799] nouveau 0000:01:00.0: drm: GART: 536870912 MiB
[    6.210296] nouveau 0000:01:00.0: drm: MM: using COPY for buffer copies
[    6.239186] nouveau 0000:01:00.0: drm: [DRM/00000009:kmsOutp] [BL_GET level:0] (ret:-22)
[    6.239419] nouveau 0000:01:00.0: [drm] Registered 4 planes with drm panic
[    6.239421] [drm] Initialized nouveau 1.4.1 for 0000:01:00.0 on minor 0
[    6.241390] nouveau 0000:01:00.0: [drm] Cannot find any crtc or sizes
[    6.246057] nouveau 0000:01:00.0: drm: Disabling PCI power management to avoid bug
[    6.247716] nouveau 0000:01:00.0: [drm] Cannot find any crtc or sizes
[    6.248222] nouveau 0000:01:00.0: [drm] Cannot find any crtc or sizes
[   10.317534] snd_hda_intel 0000:01:00.1: bound 0000:01:00.0 (ops nv50_audio_component_bind_ops [nouveau])
[   32.496344] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   32.497443] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   32.497649] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   44.852026] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   44.859899] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   44.860048] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   44.860203] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   44.860213] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   45.653924] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   45.664882] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   45.665008] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   45.665137] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   45.665146] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[ 1717.941246] lockdown_is_locked_down: 5 callbacks suppressed
[ 1717.941248] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[ 1717.950110] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[ 1717.950308] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[ 1717.950501] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[ 1717.950517] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7

mokutil --sb-state :

SecureBoot enabled

rpm -qa | grep -i nvidia :

nvidia-gpu-firmware-20260309-1.fc43.noarch

echo $XDG_SESSION_TYPE
glxinfo | grep “OpenGL renderer” :

wayland
OpenGL renderer string: Mesa Intel(R) UHD Graphics (CML GT2)

It seems you did not have the nvidia driver installed on the USB device, so it was using nouveau. That would work with the nvidia GPU with secure boot enabled.

On the main system, with the nvidia driver installed, it appears the driver fails to load with secure boot. Probably because you have not yet imported a signing key into bios and/or the module has not yet been signed.

To enroll the signing key into bios please follow the instructions in the file /usr/share/doc/akmods/README.secureboot (same instructions on the rpmfusion howto for secure boot (which tells how to import the signing key into the bios).
To ensure the modules are signed before the next boot please run sudo akmods --force --rebuild

After both those are done, when you reboot the nvidia driver should load properly. That can be verified after booting with the commands nvidia-smi and inxi -Gxx

Why doesn’t the nouveau driver work on my laptop if it did on the USB ? Can’t I just use that instead of the proprietary one ?

Also I tried doing what you did, but it doesn’t work, idk why.
Step 1 : ‘sudo /usr/sbin/kmodgenca’ gave me :

INFO: CHECKING FOR AN EXISTING KEY PAIR...
WARNING: EXISTING KEY PAIR.
Please specify argument '--force' to overwrite the existing key pair.
Quitting.

So then I tried step 2, ‘mokutil --import /etc/pki/akmods/certs/public_key.der’, but it gave :

Failed to get file status, /etc/pki/akmods/certs/public_key.der

And I checked with ls (sudo ls /etc/pki/akmods/certs/public_key.der) and the file does exist, and ‘sudo stat /etc/pki/akmods/certs/public_key.der’ does seem to work too, so not sure what’s going on.

did you copy the akmods keys from your main OS to the OS on usb?

EDIT:
your nvidia module is not signed according to modinfo output
I doubt that you have nvidia drivers runnig at all.

modinfo nvidia :

filename:       /lib/modules/6.19.14-300.fc44.x86_64/extra/nvidia/nvidia.ko.xz
[deleted]

there should have been lines like

sig_id:        <something>
signer:        <something>
sig_key        <something>
sig_hashalgo:  <something>
signature:     <something>

compare wiith

modinfo i915 |grep sig
sig_id:         PKCS#7
signer:         Fedora kernel signing key
sig_key:        7F:C8:04:16:04:46:A3:9F:B8:99:1A:67:24:75:6D:C9:C5:DE:D9:B5
sig_hashalgo:   sha256
signature:      25:6F:CA:A8:14:B3:A6:6A:94:EC:AA:7B:3D:33:67:E1:57:8B:9C:71:

run sudo akmods --rebuild

for the OS installed on USB, either create and enroll keys, or better just copy the keys from your ssd to the USB device and also recreate the nvidia modules.

Likely the USB is using different verions of something important.

Because the nouveau driver does not support enough GPU functions desktops often will not work at-all or not well. The nvidia drivers do suport enough GPU APIs to give a good experience.

When the replacement for the nouveau driver provides enough GPU API then we will have an out-of-the-box good nvidia experience without the nvidia driver. That replacement driver is be activily worked on, but I go not know when it will reach production quality.

You don’t show sudo — did you run this from a root login?

I hadn’t. It worked with sudo, thanks. Now my graphics card is detected correctly :+1:.

The USB’s OS wasn’t the issue ; but I already resolved my issue. Thanks anyway.

You must use sudo with that command since the file is restricted and in a restricted directory.

$ ls -ld /etc/pki/akmods/certs
drwxr-x---. 2 root akmods 4096 Feb  3 18:00 /etc/pki/akmods/certs