The Linux Kernel and Ryzen CPU's (AKA More reasons Linux is not a mainstream OS)

I come back to this argument often. And, increasingly more with my exposure to Linux. Partly because the more I use it the more it seems to pop up in my news feed and I continue to read a barrage of articles discussing why everyone should abandon Windows and Mac and go penguin.

Anyway, today's is another in a series of purely baffling problems I've encountered which argue against this mantra that Linux is for everyone.

I've all but decided to switch my desktop to Linux permanently. I still have the Windows drive. But, I haven't booted it in weeks, if not months. But, I had a persistent problem where my CPU would hang about once a day. I had a sort of work around where I set up a cron job to reboot my PC once a night, but even that didn't stop the lock ups from happening, and it was certainly far from ideal. It brought other minor issues with it.

I didn't write this post back when I did that though, because I wasn't sure whether the hardware was at fault or something else. I've had a few hardware issues with these pre-built PCs.

Anyway, I applied a BIOS change a few days ago after investigating my problem a bit more, and then removed my cron job. And the PC has been stable for 3 days now. Long enough that I'm fairly confident that the problem is solved.

While I wasn't using my Windows install as a server there are 2 things to note; I did have times where I left it on for days at a time. And no one else who encountered this in Linux reported it in Windows, even where they had switched from Windows to Linux.

I point that last bit out because of the nature of the issue. It turned out to be that certain AMD Ryzen chips had issues with the voltage delivered at certain low power C-States. In short, the problem technically affected Windows. But clearly, in Windows the problem had been addressed.

I understand that the problem is shared between AMD and their motherboard vendors. It is neither the fault of Microsoft nor the Linux Kernel. But, this isn't some niche, small scale issue. This is a problem potentially affecting a very broad base of users.

The right stance to take depends a lot on who the OS is actually made for. Microsoft's decision is more befitting of an OS built for the average person. The position taken with regards to the Linux kernel is not. In short, even though devs are likely aware of the problems, and likely have the skills to address them, they have pushed the responsibility off to the user, in the hopes that this will pressure the vendors.

This is in the same vein as many Linux distro's choosing to default to the Nueveau drivers over the nVidia ones.

I want to point out. I have nothing against the stance taken by these OS's or by the team managing the Linux kernel. If I did, I wouldn't be using Ubuntu. Or if I still were, it would be within a VM in Windows rather than as the primary OS on my machine.

What I take issue with are the articles that ignore these positions and recommend various Linux distro's (or in general) without any consideration to the true impact.

It is LUDICROUS to recommend Linux wholesale to the mainstream market when the second largest CPU vendor has at least an entire generation of modern CPUs which will hang in low power states.

If the default stance the user is faced with is not about giving them the most reliable and fastest experience possible, then you're not catering to the user. You're giving them something which they can't reasonably expect will work or work well without tweaking.

If you've ever tried to compile a custom Kernel image, then you've likely also made a few unrecoverable systems you needed to start from scratch on. Some times even requiring a secondary PC depending on the nature of the mistake. Sorry. Those aren't stakes a mainstream computer user can readily take on.

Comments

Popular Posts