Fedora 43 Sway and Geforce GTX 960

I would like to use my older Geforce GTX 960 card with Fedora 43 Sway, but I can’t seem to get it to work. The docs that I found on RPM Fusion focus on Xorg. Are there directions some where that would help me get the proper Nvidia driver installed along with the proper setup so that it works with Sway?

I have searched this forum, and haven’t seen anything yet.

The Fedora 43 Sway installer hangs on the Plymouth Screen when the Nvidia card is installed into the motherboard. There appears to be a Nouveau driver error.

I can get Fedora 43 Sway installed if the card is not attached to the motherboard, and I attach to the motherboard, iGPU HDMI port. So I will need to install all of the Nvidia drivers, issue the proper commands while the Nvidia card is not attached to the motherboard, then reboot with the card installed and hope that I did everything right.

The instructions work fine for Wayland-based Fedoras (including Sway). Don’t worry too much about the “xorg” in the package names.

This may be a problem though.

The RPMFusion packaged drivers try to get the right flavour of the driver for the installed card (the “open kernel module” for 16- / 20-series and above, the “proprietary kernel module” for earlier cards).

For your card you need the proprietary kernel module - the open kernel won’t work. However, if the installer can’t see a card it recognises, it defaults to the open kernel.

So - can we find a way that after doing the install, you can boot into your installed Sway with the Nvidia card in place?

One thing to try would be editing the command line in GRUB when you boot (hit F10 or e with the line selected) and add at the end:

rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core

This should force the system to work entirely from the iGPU and not load any Nvidia-related driver.

Edit There actually is a way that you should be able to force the proprietary module to install even with no card present (per this post):

sudo sh -c 'echo "%_without_kmod_nvidia_detect  1" > /etc/rpm/macros.nvidia-kmod'
1 Like

I have installed the Geforce GTX 960. I have set the Asus motherboard bios to default to the iGPU. So I can boot connected to the HDMI port of the mother board and get a graphics desktop screen.

When I boot, Plymouth flashes a message that it is rebuilding the nvidia module (I think this is happening every time I boot which seems strange.)

To install the Nvidia drivers I did the following:

sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm -y

Then

sudo dnf install akmod-nvidia -y

However, now when I run:

modprobe nvidia

I get:

modprobe: FATAL: Module nvidia not found in directory /lib/modules/6.19.7-200.fc43.x86_64

Also I get this output which looks right:

$ cat /proc/cmdline
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-6.19.7-200.fc43.x86_64 root=UUID=27a827c3-4d45-4044-8678-a6dbb0fa20f5 ro rootflags=subvol=root rhgb quiet rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core nvidia-drm.modeset=1

Also this shows that the Nouveau driver is still be used for the 960:

$ inxi -Gxx
Graphics:
  Device-1: Intel Xeon E3-1200 v2/3rd Gen Core processor Graphics
    vendor: ASUSTeK driver: i915 v: kernel arch: Gen-7 ports: active: HDMI-A-2
    empty: DP-1, DP-2, HDMI-A-1, VGA-1 bus-ID: 00:02.0 chip-ID: 8086:0152
  Device-2: NVIDIA GM206 [GeForce GTX 960] vendor: EVGA driver: nouveau
    v: kernel arch: Maxwell pcie: speed: 2.5 GT/s lanes: 16 ports: active: none
    empty: DP-3, DP-4, DP-5, DVI-I-1, HDMI-A-3 bus-ID: 01:00.0
    chip-ID: 10de:1401 temp: 22.0 C
  Display: wayland server: Xwayland v: 24.1.9 compositor: Sway v: 1.11
    driver: gpu: i915 display-ID: 1
  Monitor-1: HDMI-A-2 model: ViewSonic VG1930wm res: 1440x900 hz: 60 dpi: 89
    diag: 483mm (19")
  API: OpenGL v: 4.2 vendor: intel mesa v: 25.3.6 glx-v: 1.4 es-v: 3.0
    direct-render: yes renderer: Mesa Intel HD Graphics 2500 (IVB GT1)
    device-ID: 8086:0152
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
  Info: Tools: api: glxinfo gpu: nvidia-settings wl: kanshi, swaymsg,
    wlr-randr x11: xdriinfo, xdpyinfo, xprop, xrandr

Does this information help at all with what might be wrong?

Keep in mind I gathered all of this information from the Sway desktop running on the iGPU with the BIOS set to default to the iGPU.

Can you look at the logs from the attempted module build? There should be a log file at /var/cache/akmods/nvidia/580.126.18-1-for-6.19.7-200.fc43.x86_64.log.

If it fails to build the log file should contain failed in the name, and near the end of that log it should have the reason for the failure.

1 Like

First, thank you for all of the help. I rebooted the computer this morning. Once again the nvidia module rebuilt during boot. This is the output I got at the end of the 40,000+ lines from the log file by running the command in the proper var directory = bat 580.126.18-1-for-6.19.7-200.fc43.x86_64.log

2026/03/16 08:53:07 akmodsbuild: Reading /tmp/akmodsbuild.cPmtJzBc/BUILD/nvidia-kmod-580.126.18-build/SPECPARTS/rpm-debuginfo.specpart
48366   │ 2026/03/16 08:53:07 akmodsbuild: Processing files: kmod-nvidia-6.19.7-200.fc43.x86_64-580.126.18-1.fc43.x86_64
48367   │ 2026/03/16 08:53:07 akmodsbuild: Provides: kernel-modules-for-kernel = 6.19.7-200.fc43.x86_64 kmod(nvidia-drm.ko) kmod(nvidia-modeset.ko) kmod(nvidia
        │ -peermem.ko) kmod(nvidia-uvm.ko) kmod(nvidia.ko) kmod-nvidia-6.19.7-200.fc43.x86_64 = 3:580.126.18-1.fc43 kmod-nvidia-6.19.7-200.fc43.x86_64(x86-64) 
        │ = 3:580.126.18-1.fc43 kmod-nvidia-newest-6.19.7-200.fc43.x86_64 = 3:580.126.18-1.fc43 nvidia-kmod = 3:580.126.18-1.fc43
48368   │ 2026/03/16 08:53:07 akmodsbuild: Requires(interp): /bin/sh /bin/sh
48369   │ 2026/03/16 08:53:07 akmodsbuild: Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefi
        │ x) <= 4.0-1
48370   │ 2026/03/16 08:53:07 akmodsbuild: Requires(post): /bin/sh /usr/sbin/depmod
48371   │ 2026/03/16 08:53:07 akmodsbuild: Requires(postun): /bin/sh /usr/sbin/depmod
48372   │ 2026/03/16 08:53:07 akmodsbuild: Obsoletes: kmod-nvidia-newest-6.19.7-200.fc43.x86_64 < 3:580.126.18-1.fc43
48373   │ 2026/03/16 08:53:07 akmodsbuild: Checking for unpackaged file(s): /usr/lib/rpm/check-files /tmp/akmodsbuild.cPmtJzBc/BUILD/nvidia-kmod-580.126.18-bui
        │ ld/BUILDROOT
48374   │ 2026/03/16 08:53:07 akmodsbuild: Wrote: /tmp/akmodsbuild.cPmtJzBc/RPMS/x86_64/kmod-nvidia-6.19.7-200.fc43.x86_64-580.126.18-1.fc43.x86_64.rpm
48375   │ 2026/03/16 08:53:07 akmodsbuild: Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.XK1BfA
48376   │ 2026/03/16 08:53:07 akmodsbuild: + umask 022
48377   │ 2026/03/16 08:53:07 akmodsbuild: + cd /tmp/akmodsbuild.cPmtJzBc//BUILD/nvidia-kmod-580.126.18-build
48378   │ 2026/03/16 08:53:07 akmodsbuild: + test -d /tmp/akmodsbuild.cPmtJzBc//BUILD/nvidia-kmod-580.126.18-build
48379   │ 2026/03/16 08:53:07 akmodsbuild: + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /tmp/akmodsbuild.cPmtJzBc//BUILD/nvidia-kmod-580.126.18-build
48380   │ 2026/03/16 08:53:07 akmodsbuild: + rm -rf /tmp/akmodsbuild.cPmtJzBc//BUILD/nvidia-kmod-580.126.18-build
48381   │ 2026/03/16 08:53:07 akmodsbuild: + RPM_EC=0
48382   │ 2026/03/16 08:53:07 akmodsbuild: ++ jobs -p
48383   │ 2026/03/16 08:53:07 akmodsbuild: + exit 0
48384   │ 2026/03/16 08:53:07 akmods: Installing newly built rpms
48385   │ 2026/03/16 08:53:07 akmods: DNF detected
48386   │ Updating and loading repositories:
48387   │ Repositories loaded.
48388   │ Package "kmod-nvidia-6.19.7-200.fc43.x86_64-3:580.126.18-1.fc43.x86_64" is already installed.
48389   │ 
48390   │ Nothing to do.
48391   │ 2026/03/16 08:53:09 akmods: Successful.

I also tried running bat /var/cache/akmods/nvidia/580.126.18-1-for-6.19.7-200.fc43.x86_64.log | grep failed

But the above command returned nothing.

I have rerun inxi -Gxx but I also got the same result as previous post that showed the nouveau driver as the one active for the graphics card.

$ modprobe nvidia still returns =
modprobe: FATAL: Module nvidia not found in directory /lib/modules/6.19.7-200.fc43.x86_64

Any thoughts as to what I might be missing?

It seems to not be installing the newly compiled driver

Try manually building the module.
sudo akmods --rebuild --force which will reinstall the driver even if already installed as shown in the message above.
It should give you an OK result and if not then there should be a failed log.

After it completes a reboot should properly load the driver.

You might also provide us a new result of cat /proc/cmdline so we can see what that may tell us.

Also provide the output of dnf list --installed kmod-nvidia-\* after doing the rebuild.

I fear this will not work because “dnf5 reinstall some_path_to_an_rpm” does not
reinstall and exit 0.

Edit: I was wrong: akmods --rebuild should work in this case. It will not if the rpm
was not installed. Seen recently.

Try instead: (this will work)

dnf -y remove kmod-nvidia-6.19.7-200.fc43.x86_64-580.126.18-1.fc43.x86_64
dnf -y install /var/cache/akmods/nvidia/kmod-nvidia-6.19.7-200.fc43.x86_64-580.126.18-1.fc43.x86_64.rpm

I suspect that a reboot took place just during the postinstall scriptlet of this
RPM. This scriptlet does a depmod, that is mandatory for modprobe modinfo …

This is why I recommended the use of sudo akmods --rebuild --force
The --rebuild will rebuild the driver and the --force tells it to (re)install the rpm even if it is already installed. The message I quoted above seems to indicate the build completed successfully during the boot but the package was not (re)installed since it was already shown as installed.

Yes, your two commands will clearly work, but the akmods command should also perform the same steps with those 2 options. Running akmods from the terminal should not be interrupted by the boot sequence.

Not quite: quoting akmods --help: --force -- try all, even if they failed earlier
In addition, this --force option is a noop since March 2018.

With --rebuild, the akmods command does not actually does those 2 steps, it only does
a dnf reinstall path_to_the_rpm. This works if the rpm is already installed, which is
the current case.

If the rpm is not installed, dnf reinstall does nothing but exit 0 (I just verified
that with dnf5.x86_64 5.2.18.0-1.fc43), and thus akmods does not complain . This is a
fix to do in the akmods command.

Okay, hopefully, I’m following the correct steps. Once again, thanks for the assistance from Fedora users that are far wiser than myself. I would love to put this old Nvidia card to work with a new install of Fedora Sway.

  1. It was asked what is the current `$ cat /proc/cmdline | grep nvidia-drm’

    BOOT_IMAGE=(hd0,gpt2)/vmlinuz-6.19.7-200.fc43.x86_64 root=UUID=27a827c3-4d45-4044-8678-a6dbb0fa20f5 ro rootflags=subvol=root rhgb quiet rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core nvidia-drm.modeset=1
    
    
    
  2. I then ran the following commands:

$ sudo dnf -y remove kmod-nvidia-6.19.7-200.fc43.x86_64-580.126.18-1.fc43.x86_64
[sudo] password for mowest: 
Package                                                      Arch           Version                                                      Repository                            Size
Removing:
 kmod-nvidia-6.19.7-200.fc43.x86_64                          x86_64         3:580.126.18-1.fc43                                          <unknown>                         35.1 MiB

Transaction Summary:
 Removing:           1 package

After this operation, 35 MiB will be freed (install 0 B, remove 35 MiB).
Running transaction
[1/2] Prepare transaction                                                                                                                  100% |   4.0   B/s |   1.0   B |  00m00s
[2/2] Removing kmod-nvidia-6.19.7-200.fc43.x86_64-3:580.126.18-1.fc43.x86_64                                                               100% |   0.0   B/s |   7.0   B |  00m14s
>>> [RPM] file /lib/modules/6.19.7-200.fc43.x86_64/extra: remove failed: No such file or directory                                                                                 
Complete!
mowest@fedora:~$ sudo dnf -y install /var/cache/akmods/nvidia/kmod-nvidia-6.19.7-200.fc43.x86_64-580.126.18-1.fc43.x86_64.rpm
Updating and loading repositories:
Repositories loaded.
Package                                                      Arch           Version                                                      Repository                            Size
Installing:
 kmod-nvidia-6.19.7-200.fc43.x86_64                          x86_64         3:580.126.18-1.fc43                                          @commandline                     147.2 MiB

Transaction Summary:
 Installing:         1 package

Total size of inbound packages is 82 MiB. Need to download 0 B.
After this operation, 147 MiB extra will be used (install 147 MiB, remove 0 B).
Running transaction
[1/3] Verify package files                                                                                                                 100% |   0.0   B/s |   1.0   B |  00m01s
[2/3] Prepare transaction                                                                                                                  100% |   6.0   B/s |   1.0   B |  00m00s
[3/3] Installing kmod-nvidia-6.19.7-200.fc43.x86_64-3:580.126.18-1.fc43.x86_64                                                             100% |  11.5 MiB/s | 147.2 MiB |  00m13s
Warning: skipped OpenPGP checks for 1 package from repository: @commandline
Complete!

I then waited 10+ minutes, and ran modprobe nvidia getting the following output:

modprobe: ERROR: could not insert 'nvidia': Operation not permitted

I’m guessing it still didn’t work?…

Do you have Secure Boot enabled?

Good question, no I do not. I checked it with mokutil –sb-state and got the following output:

$ mokutil --sb-state
SecureBoot disabled
Platform is in Setup Mode
1 Like

Perhaps this is more information that is helpful. When trying to manually load the nvidia driver sudo modprobe nvidia it fails even though the .ko file exists. This is what the kernel log says.

NVRM: No NVIDIA devices probed.
[19110.030881] nvidia-nvlink: Unregistered Nvlink Core, major device number 234
[19253.825110] nvidia-nvlink: Nvlink Core is being initialized, major device number 234
[19253.825120] NVRM: GPU 0000:01:00.0 is already bound to nouveau.
[19253.833366] NVRM: The NVIDIA probe routine was not called for 1 device(s).
[19253.833368] NVRM: This can occur when another driver was loaded and 
               NVRM: obtained ownership of the NVIDIA device(s).
[19253.833369] NVRM: Try unloading the conflicting kernel module (and/or
               NVRM: reconfigure your kernel without the conflicting
               NVRM: driver(s)), then try loading the NVIDIA kernel module
               NVRM: again.
[19253.833370] NVRM: No NVIDIA devices probed.
[19253.834743] nvidia-nvlink: Unregistered Nvlink Core, major device number 234

Obviously the driver is not loading because the “nouveau” driver is holding onto the device. The same thing happens at boot after the nvidia driver is built as you can see from this log that I copied from the booting of the system.

Mar 16 18:14:00 fedora kernel: nvidia: loading out-of-tree module taints kernel.
Mar 16 18:14:00 fedora kernel: nvidia: module license 'NVIDIA' taints kernel.
Mar 16 18:14:00 fedora kernel: Disabling lock debugging due to kernel taint
Mar 16 18:14:00 fedora kernel: nvidia: module verification failed: signature and/or required key missing - tainting kernel
Mar 16 18:14:00 fedora kernel: nvidia: module license taints kernel.
Mar 16 18:14:01 fedora kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 234
Mar 16 18:14:01 fedora kernel: NVRM: GPU 0000:01:00.0 is already bound to nouveau.
Mar 16 18:14:01 fedora kernel: NVRM: The NVIDIA probe routine was not called for 1 device(s).
Mar 16 18:14:01 fedora kernel: NVRM: This can occur when another driver was loaded and 
                               NVRM: obtained ownership of the NVIDIA device(s).
Mar 16 18:14:01 fedora kernel: NVRM: Try unloading the conflicting kernel module (and/or
                               NVRM: reconfigure your kernel without the conflicting
                               NVRM: driver(s)), then try loading the NVIDIA kernel module
                               NVRM: again.
Mar 16 18:14:01 fedora kernel: NVRM: No NVIDIA devices probed.
Mar 16 18:14:01 fedora kernel: nvidia-nvlink: Unregistered Nvlink Core, major device number 234
Mar 16 18:14:01 fedora sudo[17618]: pam_unix(sudo:session): session closed for user root

As you can see from previous posts, nouveau, is blacklisted.

Okay, remember that all of the above posts have been with the screen plugged into the iGPU HDMI slot, and the BIOS set to “iGPU”. So now, I decided to change the BIOS setting to see what might happen. I switched from “iGPU” to “Auto” and also tried “PCIe” both resulted in the following:

  • Nvidia driver is now loaded and being used according to inxi -Gxx
  • I am plugged into the GTX 960 and I get a Grub boot screen and Plymouth and I can bring up console with “Ctrl+Alt+F2” but…
  • SDDM boots into a black screen with a blinking cursor in the upper left corner.

There is nothing in the logs for SDDM that says that it failed to load. According to the logs everything seems fine.

So now the card seems to be working, it can display the console, but can’t display SDDM or the GUI desktop.

I’m going to mark this as solved, and open a new issue about the “greeter” not showing up after boot. The graphics card seems to be installed, working, and the nvidia driver is installed and being used according to inxi -Gxx.

The fix appears to be this series of steps.

  1. Boot with nvidia card installed, but use BIOS to select and use the iGPU
  2. Install the nvidia driver according to the Fedora instructions using RPMFusion
  3. Reboot, go into the BIOS and switch either to “Auto” or “PCIe”, plug the monitor into the nvidia graphics card and reboot.

After the above steps, the nvidia driver should be installed and being used by Fedora to drive the nvidia card.

Here is a link to the new post about SDDM if anyone wants to follow up there: Fedora Sway 43 - SDDM Shows Black Screen

2 Likes

Okay!

Have a look at switcherooctl, if you’re not already using it.