I have a Ryzen 3 1300X at the moment and it’s always had this soft lock freezing bug on Linux. I used to dual-boot Windows on this machine and Windows never had the same problem, so I think it is an issue with the Linux kernel (I’ve also replaced nearly every bit of hardware that I originally built the PC with, except for the CPU and motherboard, so it probably is an issue the kernel has with my CPU, or possibly the motherboard firmware).
I’ve changed the kernel parameters as suggested by the Arch Wiki. The bug is pretty inconsistent about happening so only time will tell if this solves the issue. But if it doesn’t solve the issue, I’d honestly consider just getting a new CPU that doesn’t have this issue, as completely freezing up, unable to get to a tty or anything, and only being able to power off by physically holding down the power button, is a pretty major issue, even if it only happens sometimes.
So if I do get a new CPU, or maybe just for when I’m next buying a CPU for reasons unrelated to this bug (been considering an upgrade to something that’s better for compiling anyway), are there any good options out there? Intel is investing $25 billion into Israel and the BNC has called for “divestment and exclusion” from it (it’s not officially on the BDS consumer boycott list, but I’m still very much not comfortable buying from Intel). But the Arch Wiki article seems to suggest this bug is applicable to Ryzen CPUs in general, or at least it never specifies a particular model or range of models. So maybe I’m limited to non-Ryzen AMD CPUs?
I’m guessing this is one of the situations where two companies have a complete duopoly over the market and there isn’t an all-round good solution, but thought I’d ask in case anyone had some useful input.
I have a system with a Ryzen 1700 with the same issue and have found the only reliable way to run it is by installing and enabling the disable-c6-systemd package from the AUR. The other fixes provided in the wiki article you linked are correct but aren’t sufficient on my system, the CPU keeps reenabling the C6 state on its own and the disable-c6-systemd package works to counter that. The reason it works on Windows is they’ve disabled the C6 state by default for the CPU.
Ah, thanks. I’m using runit not systemd (although this was happening on systemd when I was on systemd too) but I saw
amd-disable-c6
in the AUR so I’ve installed that now, fingers crossed it works (the fixes in the Arch Wiki article haven’t fixed it for me, it just happened again rip)Edit: nvm, looks like that package is a systemd service
The package is just a systemd unit to run the command
python zenstates --c6-disable
so if you install the zenstates-git package and get runit to run that command at startup it would be equivalent.Thank you!!
Edit: Tried running that, I’m getting the error that
/dev/cpu/0/msr
doesn’t exist.dev/cpu
doesn’t seem to exist at all on my machine. HmEdit 2: You need to run
sudo modprobe msr
. All good now :)This is amazing to find out now after 7 years:) I actually adjusted voltage manually on my Ryzen R5 1600, and it became 100% reliable, apparently the fix you mention prevent voltage below 1v at idle. I wondered why my CPU wasn’t reliable unless I made manual OC with some voltage tweaks?
I never looked it up, because my OC solved the issue, but I always thought it was a bit weird.