Legacy NVidia GeForce 9400 on Rocky Linux 8?


I have an old iMac and a MacBook, both from 2009. Currently both machines are running OpenSUSE Leap 15.2, which has been EOL for quite some time. I’d like to migrate these to Rocky Linux 8 to have an OS that’s supported until 2029.

So far I’ve managed to jump through several loops, install a base Rocky Linux 8.7 system, configure the NIC and get everything to work.

The last thing on my list is the infamous NVidia GeForce 9400 card. Both machines are equipped with it. The corresponding proprietary driver is the 340xx series, which has been discontinued as far as I understand.

  • ELRepo seems to have removed that driver from the repo.

  • It’s still in the RPMFusion repo, but I can’t seem to get it to work.

  • I tried to install the 340.108 driver manually by downloading it from NVidia.com. On a side note I’ve done this many times back in the days when Slackware was my main power horse. I got all the build dependencies, blacklisted nouveau, but still the build fails.

To complicate things further, I’m currently stuck with the 4.18.0-425.3.1.el8 kernel, since running the more recent one doesn’t play well with the forcedeth driver I’m using to configure the infamous NVidia Ethernet card.

Any suggestions on how I can extend the life of this hardware ? Some patch somewhere so the driver builds on the Rocky Linux 8 kernel ?



The GeForce 9400 card will only work with the 304.xx driver.

Hell is paved with good intentions. (french saying)

OK, so it looks like the proprietary driver is a no-go for this card. NVidia.com has abandoned it for some time, and it won’t install on recent kernels and even more recent RHEL 8.x kernels.

So I gave the free nouveau driver a spin. In the past I’ve had some bad experiences with this driver, causing freezes and crashes.

Now it seems to work (sort of), but I have a strange problem with it.

  1. When I start from multi-user.target and then flip over to graphical.target using systemctl isolate graphical.target, SDDM starts fine, KDE displays fine, and even graphical effects work OK, though a bit sluggishly.

  2. When I define graphical.target as the default boot target, the system starts up but I’m left with a blank screen and no SDDM.

  3. Moving back to multi-user.target and then manually flipping to graphical.target works again.

Any idea what’s happening here ?

Turns out it’s not a driver-related problem after all. SDDM is the culprit, since apparently it fails to start because the nouveau module has not yet been loaded. Guess I’ll open a different thread for this.

The current version, kmod-forcedeth-0.0-9.el8_7.elrepo, should work with kernel 4.18.0-425.10.1.el8_7. It is also backward compatible with 4.18.0-425.3.1.el8 and even 4.18.0-372.32.1.el8_6.

1 Like

Hi Niki: On the Nvidia website, at

the supported products for the 304.137 driver list many graphics cards,
including the GeForce 9400 (yours) and the GeForce 6150 SE (mine).

The solution I’ve come up with after several months is most recently described
in the post, “Kickstart for rocky-8-xfce-fc+elrepo.iso”,


which also references some past posts, and takes into account the advice you gave to
my query on the post, “Manage Priorities with Rocky Linux 8“.

In summary, I could not get the installation to work on the el8 kernels: I had to
use the fc29 kernel.
With the el8 kernels, after Leigh Scott’s rebuild command, and the final install attempt
of the 5 packages, the error, “asm/kmap_types.h, no such file or directory” would
invariably occur. RHEL documentation shows that this component was removed in the
latest el8 kernels, as its purpose has been met in other ways.

Good luck with this !!
Len E.