Early 2009 imac won't boot kernel 6.4.7 or later

My early 2009 imac with 8gb ram won’t boot kernel 6.4.7-200.fc38 or 6.4.10-200.fc38.

I upgrade usually once a week and all had been well for years. But after 6.4.7 and 6.4.10 upgrade I had to boot 6.4.6 from the grub menu and then “sudo dnf remove kernel-core-6.4.7-200.fc38.x86_64” and then the next week when it went to 6.4.10, I had to do the same for that kernel.

6.4.6 works perfectly, but 6.4.7 and 6.4.10 never get to a login screen.

Any help will be appreciated very much.

Hegan Belue

More info in case it helps:
03:00.0 VGA compatible controller: NVIDIA Corporation C79 [GeForce 9400] (rev b1) (prog-if 00 [VGA controller])
Subsystem: Apple Inc. iMac 9,1
Flags: bus master, fast devsel, latency 0, IRQ 29
Memory at d2000000 (32-bit, non-prefetchable) [size=16M]
Memory at c0000000 (64-bit, prefetchable) [size=256M]
Memory at d0000000 (64-bit, prefetchable) [size=32M]
I/O ports at 1000 [size=128]
Expansion ROM at d3000000 [disabled] [size=128K]
Capabilities: [60] Power Management version 2
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Kernel driver in use: nouveau
Kernel modules: nouveau

According to nvidia that GPU was last supported by the 340xx proprietary driver.

When you say it never gets to a login screen, what exactly does appear?
You show using the nouveau driver, so this may be related to updates in the nouveau driver or the kernel itself.

One possible fix may be to actually install the nvidia driver from rpmfusion by enabling the rpmfusion repos as shown at rpmfusion, then installing the nvidia drivers with sudo dnf install akmod-nvidia-340xx. Wait at least 5 minutes for the kernel modules to be built locally before rebooting.

I did the driver install, but now my 6.4.6 won’t boot. All I get is a black screen.

I’m going to try to get back to 6.4.6 booting using nouveau, then try again.

I do appreciate the help.

When at the black screen it may be possible to use ctrl-alt-F3 to log in a text console and then fix the issue with the 6.4.6 kernel and booting.

Once logged in, the command dnf list installed '*nvidia*' may show one or more kmod-nvidia packages installed. If it shows one for the 6.4.6 kernel then it should have loaded. If it does not show that one then it should be possible to force the system to build that one with
sudo akmods --force --kernels 6.4.6-200.fc38.x86_64

This may not work if booted to the 6.4.6 kernel and the kernel-devel package for that kernel was not installed.

One may always remove the nvidia drivers with sudo dnf remove '*nvidia*' --exclude nvidia-gpu-firmware

I was able to use ctrl-alt-f3 and get a text console. I did the “dnf list installed ‘nvidia’” and saw that the driver was installed for 6.4.6, 6.4.7, and 6.4.10. Although none would boot all the way to graphics. I did the “sudo dnf remove ‘nvidia’ --exclude nvidia-gpu-firmware”, and now am booted into 6.4.6.

I used dnf to install the nvidia driver earlier, I thought I’d try the software gui to install the nvidia driver and see if that makes a difference.

I really appreciate your help.

I tried installing the nvidia driver from “software” but couldn’t find the 340 driver there.

After some googling, I tried “sudo dnf install akmod-nvidia-340xx.x86_64 xorg-x11-drv-nvidia-340xx.x86_64”.

I watched the building finish with ps before rebooting, but still no luck. Couldn’t boot 6.4.10 or the old reliable 6.4.6. I removed the nvidia stuff and went back to nouveau and 6.4.6 booted for me.

So I’m back where I started with 6.4.6 and nouveau.

I will appreciate any further help, but I’m wondering if I’m the only one seeing this. Hopefully, someone with far more knowledge and/or spare time is seeing the same problem and will get a fix in a future kernel.

Again, I’m willing to try things, but I’m about ready to just wait and see if a future kernel starts working for me again.

I wouldn’t worry about it but this very old 24" imac with fedora workstation on it is my favorite computer to use, and I have some much later machines but this thing is my go to box for many tasks. I hate to see it stop working.