Fedora 30 test on laptop with Nvidia - Back in 2010

Updated: June 19, 2019

In my Fedora 30 review from a couple of weeks back, I mentioned that I would be conducting additional testing with this distribution, including trying my luck on older hardware, including proprietary graphics. That moment is upon us, so we shall revisit all that we've learned on my HP Pavilion machine.

This is a 2010 laptop, with an i5 quad-core processor, 4GB DDR3 RAM, Nvidia GT 320M card with 1GB VRAM and a 7,200rpm 500GB disk. Still a reasonable system for most practical purposes. Now, if you recall my Fedora 29 test on the somewhat older LG RD510 machine, the results had been less than promising. The performance was quite bad, and the Nvidia setup failed. But there's hope in Gnome 3.32, so this should be an intriguing endeavor. Follow me.

Teaser

Installation

The boot sequence was all text. The Gnome desktop behaved much like it had on the 2015 Lenovo G50 machine, which I used in the first Fedora 30 review. Some performance improvement and better responsiveness, but then, there were also occasional stutters and freezes, especially when working with Activities. Most of the other errors and niggles were consistent, like the super-ugly font in Gedit, the inadequate default ergonomics and such.

Live desktop

About

The partitioning was worse than the G50 test. The wizard got stuck - twice - while I was making the selection. Namely, I'd select the root and choose to format it. At this point, normally, the wizard would gray out for about a second or two, then go back to its normal state, meaning I could click other buttons and make additional changes. Only here, the wizard remained unresponsive for a good minute or two, and only rigorous Esc key action eventually helped get me back to the initial state. The selection worked the third time.

I have not used the HP laptop much lately - I've last deployed the fabulous Kubuntu Zesty on it, but it had previously ran Fedora 24 with good success. Then, I had almost a decade of /home data legacy, which I intended to reuse, and let's not forget the Windows 7 instance in the dual-boot configuration.

Partitioning

No indication if any of the selected partitions are going to be formatted.

The actual installation took about 15 minutes - not bad. I had the same cropped-image slideshow as we've seen in the first review (and in the past), because fixing bugs is not cool or fun. Once this step was complete, I rebooted and started testing in earnest.

Ghosts of desktops past

Getting underway was incredibly frustrating. The boot splash was all clean and pretty now, no text. Then, I had the first-login setup - I'm still baffled by the location service concept in Gnome 3 - and I added my old user. The desktop froze for about 10 seconds, and then switched from the default look to my old configuration, which included a different wallpaper, window buttons, and a few other tweaks, some of which had broken going from roughly Fedora 24 to Fedora 30.

Old desktop

System menu

So far, it looked very promising. But then, I noticed the laptop's fans were whirring madly, the desktop was sluggish, and I started seeing notifications for application crashes. As it turns out, something called tracker-store was eating my CPU and failing along the way.

Tracker crash

Tracker, CPU

This one crashed three or four times in about 10 minutes or so. Worse, I had no idea what this thing was. Searching online, I learned this has something to do with Gnome indexing or whatnot. Now, look at the irony here. Linux folks blast Microsoft for their silly games with data telemetry, but then you have location services setup in Gnome (a laptop without GPS, how would that even work) and a process called tracker-store eating cycles. Hardly inspiring.

And then ... the whole desktop seized. Completely! I couldn't even log into a virtual console to see what had happened. I force-booted the machine, and on the next login, I learned that the Gnome Shell had crashed for no good reason. But do you think that's the end of me woes? No, far from it.

Gnome Shell crash

Every few minutes, I would have a prompt for authentication, which looked like some email client account thingie. I suspected Evolution - but the mail client was not installed. However, there were four processes named evolution-something in the process table, so this felt like another incompatibility between Fedora 30 and old legacy stuff I had configured in the system. Now, I would expect the home directory import to go seamlessly, but it wasn't so.

Authorization request nonsense

Evolution processes

Why are those evolution-* processes there. I don't even have Evolution installed!

The worse part was, there was no explanation for this - and no way to stop this nonsense. I tried resetting the online accounts, but this didn't help. In the end, I had to install Evolution, delete the configured email account (it's a garbage test account anyway), and then the noise stopped. So pointless.

Firefox was also broken for some reason - it could not install any add-ons or validate old ones. This could be another side effect of the whole add-ons certificate foobar from a few weeks back. I did a profile reset, and the browser behaved fine thereafter.

My old icons also didn't work - I had Numix, Faba and Moka, and they looked odd. We're talking icons last updated in roughly 2018. So I scrubbed the hidden .icons folder, got some new icons, and after that, the customization could start in earnest. Well, sort of. I had to delete a few old, incompatible Gnome extensions as well. Now, I'm not blaming Gnome too much for this. I had the same issues with all my other laptops recently, the old machines I've upgraded, and they all had lots of conflicts in theming and desktop settings. But it shows that Linux is not very backward-compatible (or at all), and this is a really bad thing.

Skype ... there's no system area indicator whatsoever. The old extension no longer works, so you don't have an icon that tells you if you're online, offline, or anything else you'd expect, y'know, the way every other Skype user in the universe has? If you minimize Skype, it will simply disappear, and you won't have any icon or notifications whatsoever to even know the program is actually running. More Gnome 3 marvels.

Fonts also significantly improved after I changed hinting from grayscale to sub-pixel. Not sure why the defaults are what they are. Eventually, the system was looking reasonably well. But then, that has never been the issue with Fedora. The more important question is, what about performance and hardware compatibility?

WIP 1

WIP 2

Final looks

Performance & resource usage

Not good. Yes, Gnome 3.32 is better than older Gnomes, but it is still inadequate for use on older hardware, this laptop included. Te desktop was constantly stuttering, the mouse cursor freezing for a second or so, and even light activity would cause responsiveness problems. Just running dnf was enough to consume all the memory and hit swap. Using Firefox also took a toll. Now compare that with the MX-18 testing on the LG machine or its use on the old eeePC. There's a long way before Gnome can compare to Xfce or Plasma when it comes to speed.

I wanted to share the resource usage, but this proved difficult. On idle, the system would start with 1.3 GB RAM used, and in about one minute, the time frame of the displayed graphs, the usage would climb to about 1.8 GB or higher. Background processes, indexing, memory leak, whatever. CPU usage wasn't high, about 3%, but any activity had it spike right away.

Resources

Nvidia driver setup & problems

This was another odd thing. So odd that I'm going to write a whole tutorial. Recently, Fedora introduced a simplified mechanism for managing third-party software. In essence, Gnome Software will ask you if you want to enable third-party repos. If you say yes, they will be added - but NOT enabled. In theory, this should allow you to install some cool stuff, like Steam, Nvidia drivers and alike.

As it happens, this is very buggy. First, I had added RPM Fusion free and nonfree repos manually, as I've shown you in my Fedora 30 customization guide. In the Software Sources section, these two were showing up as enabled, but the Gnome Software repos were showing as disabled - even though these are pretty much the same thing, just provided in a slightly different way. So that's a discrepancy right there.

Gnome Software

Repos added but disabled

What's the point of adding repos and then have them disabled?

All right. Even if you ignore this little thing, there's still another hurdle in your way. The Nvidia driver setup through Gnome Software only works for newer hardware with graphics cards that can support the latest line of drivers (something like 4xx). If you have an older machine - like mine - you're only good up to Nvidia 340.xx legacy branch. But Gnome Software was offering me the NEW drivers. Had I installed these, my system would have been unbootable, the same it happened in Fedora 29. This is another critical, outstanding problem I've reported many months ago, and it still hasn't been addressed.

Nvidia install

Notice the generic package name; notice the driver version; notice the lack of detection for my hardware.

I installed the drivers from the command line, following my own guide from a few years ago. This worked just fine, and I had the right drivers, even though non-Debian distros still struggle with getting the drivers configured in a simple, hassle-free fashion. Moreover, you get the Nvidia splash screen twice.

dnf install xorg-x11-drv-nvidia-340xx akmod-nvidia-340xx

Nvidia installed

But then, I had a kernel oops, and the reason seems to be - Nvidia.

Oops after Nvidia

The recommendation to use Nouveau is ridiculous. Nvidia drivers give 5x more performance, and I've actually show you this in my Fedora 24 review on this very machine (linked at the beginning of this article), and you'll find similar benchmarks on the Web, too. So this actually means people should simply not use Linux, which indeed is the case for 98% of people.

Looking in dmesg, the error read thusly:

[   38.924048] Bad or missing usercopy whitelist? Kernel memory exposure attempt detected from SLUB object 'nvidia_stack_t' (offset 11864, size 3)!
[   38.924069] WARNING: CPU: 2 PID: 978 at mm/usercopy.c:78 usercopy_warn+0x7d/0xa0

[   38.924137] RIP: 0010:usercopy_warn+0x7d/0xa0

I won't bother with the full trace, but long story short, this seems to be related to Meltdown and Spectre patches. You can fix this by upgrading to a new version of Nvidia drivers, starting with branch 396.xx. Except this is not possible for those using old hardware, and it would seem no fix was provided for the 340.xx users, because hey, who cares about legacy or perhaps poor people who cannot afford to upgrade to new machines every 18 months as the capitalist manifesto demands? Not only does Linux spoil the party, Nvidia joins for their share of fun. Except ... this does not happen on Debian-based systems.

Still not done. A possible workaround is to edit GRUB and add a kernel parameter that stop the oopses from happening: slab_common.usercopy_fallback=Y. Now, I've written a GRUB2 tutorial, and one of the things I've told you is, you can edit the default parameters in /etc/default/grub. I did this, and it didn't work at all. Fedora does things differently, and the official recommendation is to use a tool called grubby to make persistent changes to the boot menu. So we have another tutorial coming.

But this is maddening, because again, quite recently, I had to do some kernel parameter tweaking on the old eeePC machine to be able to control screen brightness and fans on the netbook, and I made these changes by appending a few strings to the kernel command line. Apparently, having multiple distros is not enough diversity in Linux, so we need also a dozen different methods to manage everything, including the bootloader.

Once I've successfully made the changes, I rebooted - and this made no difference whatsoever. This means the HP laptop is pretty much useless with Fedora 30 installed on it, and I cannot utilize its graphics drivers the way I want. You might as well as say that decided the review right then and there. But there's more.

Steam setup & problems

The installation worked fine. But then, the program would not launch. Segfault.

Installing breakpad exception handler for appid(steam)/version(1556574584)
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
...
/home/roger/.steam/steam.sh: line 906: 26817 Segmentation fault      (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$STEAMEXEPATH" "$@"

I've discussed this error many times before, we saw this come time and again in different scenarios and different distros. Here, the problem was the lack of 32-bit Nvidia libs. When you install the driver, you don't get the 32-bit stuff - and I'm dreading the day once Linux distributions decide to abandon 32-bit stuff completely, and then break a million apps. So I had to install these too:

dnf install xorg-x11-drv-nvidia-340xx-libs.i686

Steam worked okay ... and crashed once or twice (Vulkan thingie whatnot):

Steam crash

Broadcom Wireless & problems

More woes. My Wireless card on the Pavilion had never worked that well in Linux, and we've seen issues with speed and connectivity many times before, all across the distro board. You'd expect the problem to be resolved at some point, like my Realtek trouble on the G50 box. Well, no. Like the AHCI & suspend issue on the RD510 laptop, this will be one of those ignored problems that will only disappear once the hardware disappears.

I had high latency and only about 1 MB/sec download (about 1/10th of the network line). This made updates and usage painfully slow. I tried using broadcom-wl drivers as an alternative, and ended up with no module loaded into memory, and consequently no Wireless. I had to go back to the b43 drivers. The throughput did improve some after manually unloading and reloading the module with modprobe, and perhaps the installation of a new firmware blog also helped (part of the broadcom-wl setup), and I got about 4 MB/sec, but never more than that. No such issue with the resident Windows on this machine.

Suspend & resume

Waking up from sleep resulted in a garbage display. Not sure why. Might be the compounded effect of all the hardware problems mentioned above, but I don't recall many troubles with this particular aspect of usage on this box in the past. Well, that's progress.

Garbled screen after resume

Conclusion

I think the results are obvious, and they speak for themselves. Alas, it would seem that if you want to use Fedora with a setup like the above, then you'll be either very lucky or you're going to face a torrent of problems. But then, Linux has always been, to use a somewhat stupid analogy, like saying you should only drive your car on Mondays on roads that have green sidewalks, and then you will be fine. The whole not-our-problem, use hardware that's "friendly" is nonsense, because people don't have infinite money, choice or expertise, especially since alternative operating systems offer all they need, plus a full range of hardware freedom.

My Fedora 30 test on the G50 was decent - that's a simple Intel graphics box - but even that one used to have millions of problems with Linux - Fedora wouldn't boot until I'd done a BIOS update, and for three years, almost every distro had network disconnect problems. On this box, we're seeing more of what I showed you in the Fedora 29 test. Fedora and Nvidia graphics are not a good fit. Add to that my home dir import woes, the performance woes, the Wireless woes, you get the picture. Feels like we've gone back many years into the past. I'd actually prefer if distros WARNED that the device is not certified or approved or expected to work and refuse to install, than install and then throw a whole bucket of hissy. I will still run an in-vivo upgrade on the Lenovo machine, because that's what I promised to do, but this is a big, big disappointment.

Cheers.