ASUS B350 PLUS EFI settings for Linux

It’s been two years on my Ryzen 1700, 32GB RAM and Saphire 5600XT however after Fedora reinstallation after (another) SSD failure I started experiencing random hangs of the graphical subsystem (I could still ssh to my workstation). Some people recommended turning off IOMMU, so I took the opportunity to upgrade to latest EFI firmware and review all my settings. These are the best (and safest) ASUS B350-PLUS changed firmware settings optimized for Linux from my own experience.

  • CPU\SVM = Enabled
  • CPU\SMT = Disabled
  • AMD CBS\C-State = Disabled
  • AMD CBS\IOMMU = Disabled
  • Boot\Fast boot = Disabled
  • Boot\Boot logo = Disabled
  • Boot\POST delay = 2 sec
  • Boot\Wait for F1 = Disabled
  • Boot\Setup mode = Advanced

This solves several issues I had in the past. Virtualization is turned off by default, SVM enables it. Multi-threading is enabled and although this is not a thread on AMD CPUs I like to turn this off as it caused some issues in the past. C-State and IOMMU can be problematic for AMD GPUs and the rest is just optimizing boot process for my LG screen as it does poweroff sometimes when using Fastboot.

I also have ryzen-stabilizator script during the boot to turn off few more CPU flags to prevent from random MCE freezing. This has probably been fixed and workarounded in Linux kernel, but I am lazy to test this and I want to live on the safe side:

# cat /etc/rc.d/rc.local
/usr/local/bin/ryzen-stabilizator --disable-c6 --disable-boosting --disable-aslr -enable-psicworkaround

The author of this tool suggests to set Power Supply Idle Control to Typical Current Idle, however I was not able to find this setting in my firmware.

I will update this blogpost on the fly if I encounter any other instability of my setup in the future. Overall, I am quite happy with AMD-only hardware. Sure, it’s not as stable as Intel, but I am glad there’s a competition again in the industry.