Lessons of upgrade issues discovered
Why nVidia is not a viable option on Linux
Let’s begin by saying that this is not how to upgrade. Rather, this is a discussion of issues a long-time Linux fan can discover in this complex ecosystem.
The trap of nVidia video cards
One of these issues, the core root, cannot be easily addressed by the Linux community. Many of us bought nVidia GPUs and filled our machines with them. The hardware is very high quality. So high quality, nearly all my nVidia GPUs work just as well today as the day I bought them at producing good video on 1080p displays. Notably, I purchased three GeForce GTX 550 TI cards, originally intending to use SLI, but ultimately spread them among three different machines. Today, they continue to produce video and meet my needs, as I type in my primary workstation using one to write this blog. So, what’s wrong with nVidia?
The issue is when I went to upgraded to Fedora 28, released in May 2018, I discovered after many times dealing with upgrading the native drivers whenever I upgraded Linux that it was no longer an option for my cards. nVidia decided to no longer support native drivers for my cards beginning with Linux kernel 5.0, which Fedora 28 used. This left me stuck for all these years on Linux 4.9, which again, I am typing to you today on. Yes, I’ve been stuck for nearly 6 years on Fedora 28, but with the Linux 4.9 kernel, and unable to upgrade Linux since.
I’ve worked around this in part by using flatpak, snap and brew, keeping me productive as the primary Fedora 28 DNF repos quickly became useless.
The Plan to Upgrade
Enter the plan to upgrade. Hardware wise, I needed another SSD, as I always install a new drive for a major Linux upgrade allowing me to easily multi-boot between installs (thus, here I am back at Fedora 28 writing this after installing Fedora 39), while also allowing me to share a large part of my file system via mounts and symlinks to ease the migration. I develop software and run a lot of complex things that can’t just be configured in a day.
But, the key to this plan for success is to never ever ever again buy an nVidia card. But, rather to go all in on AMD cards, which I’ve been told work flawlessly with Linux without the need for any native drivers due to their commitment to the open source community. While there were concerns about losing CUDA, the reality is I haven’t used it much. And, today, you can get AMD cards with Tensor cores for AI, ray tracing, and a lot of other new bells and whistles.
Nonetheless, because I don’t have time for gaming, and I’m not doing much that depends on AI inside the PC today, I chose a simple cheap upgrade for now so I can save money for a future gaming/AI beast with a much better card later. Thus, I chose the no-frills on-sale 6500 XT for $135.
Trying Fedora 39 Live
After purchasing the AMD GPU and putting it in another slot, with the nVidia card still in there, I created a bootable flash drive with Fedora 39 on it, and tested the waters. Upon boot, I could immediately see the 6500 XT via lspci.
However, there were issues with Fedora 39 Live. When I plugged in a third monitor to the AMD, Fedora saw it. You could see the Fedora logo as it booted on all 3 monitors. But, when it went to the login screen, only the 2 screens on the nVidia card showed completely. On the screen on the AMD card, it was black, but I could clearly see the mouse when I moved over it. The mouse cursor is the only thing it could render. Unfortunately, for whatever reason, it kept picking it as the only monitor it put the “invisible” login screen on. But, I could guess what was there, hit ENTER, type my password, hit ENTER, and now get in.
Again, I could see the Fedora clearly on the 2 nVidia screens, but not the AMD screen, but could still see my mouse when I moved over it. Of course, it again chose the AMD screen to make the primary screen. Fortunately, you can point your mouse to the background of any screen, right click, and get into Display Settings where you can change your primary monitor to get passed this.
I had hoped this was a temporary problem on the Live edition that would clear up once I installed it and updated it. Thus, I ran out and bought a new M.2 SSD and put it in the MOBO, and installed Fedora 39 on it. The rest of this story is using a completely updated Fedora 39 install. Long story short, the complete install and update in itself did not clear up the video issues. Yet, progress continued.
Wayland vs X11
I searched a lot online. But, most people having “black screen” or related issues were nVidia users. And they were all told to install the native drivers, which, I suspect, many of them were on the exciting journey of discovering that their latest upgrade took them over the edge of nVidia’s support for their video card.
So, I decided to drop back to X11. I could get the login screen to show on an nVidia screen if I unplugged the AMD screen, so was able to tell it to use X11 then log in. Then, after rebooting with the AMD monitor, and typing my password into the invisible screen, BAM, I could now see my AMD monitor in full color and glory! Yes, AMD does indeed work with Fedora 39, but only with X11. Why? I do not know. This problem is currently unresolved.
But, this isn’t a show stopper. I learned how to configure the login screen to also use X11, and thus, I’m able to fully enjoy my AMD card with Fedora 39. Obviously, this is not a long-run solution with IBM RedHat clearly backing Wayland, but is certainly a better place to be than on Fedora 28 constantly trying to get newer things to work.
Computer Freezing
Unfortunately, this dream didn’t last long, as the computer kept freezing after 10 minutes or so. All the evidence, however, is that this issue is video related, as people with this issue with nVidia were told to install the native drivers, which obviously wasn’t an option for me on Fedora 39 and Kernel 6.8.
Linux defaults to booting with nouveau drivers. These are open source drivers for nVidia cards that attempt to provide core capabilities, but cannot provide all the bells and whistles due to the native drivers not being open sourced. nVidia announced a few years ago they would finally open source their video drivers. What people say isn’t news. It is what people do that can change the world. Today, it does not look like there was a lot of progress on the open source nVidia drivers.
Bottom line, however, is the Fedora 28, while very very out-dated, is completely stable. I can run without a reboot 24/7 for a month easily, using the computer from morning to night. But, I cannot run in Fedora 39 for 10 minutes without a freeze running default nouveau and AMDGPU drivers. Process of elimination…
So, I decided to unplug the monitors from the nVidia card and just boot up with one monitor on the AMD card. Now I had unprecedented stability. I installed codecs and such like I normally do on a new install, and watched videos and fell asleep to Tubi TV, which continued to play in the morning when I woke up. I was pretty happy. Problem solved! Or, so I thought.
Later this morning it locked up again. This time, notably, I was interacting with it with the mouse viewing videos on Odysee. Clearly, it is more stable without nVidia in the picture. But, not completely stable.
I rebooted. Tried again. It went awhile, then froze again. Now, one thing I noticed is that when it freezes, it is originally just the video. The screen quits updating. You can’t move your mouse and see no video, even if a video is currently playing. The audio of a video can keep playing. In fact, in one video, I heard the audio continue for 5-10 minutes. Eventually, though, given enough time, the audio will die as well. Also, right before it freezes, you sometimes get video signs, like trails on a window you are dragging.
Upgraded, yet on Fedora 28
After plowing $300 on a new GPU and M.2 SSD, I’m still on Fedora 28, because it is rock solid stable. Granted, this is only day 2. I’m very hopeful for a miracle and will reach out to the Fedora community to hopefully discover the cure. I’ll update this blog.