Ubuntu-Ryzen Final Thoughts

As my last post conveyed, I had gotten the pesky Ryzen APU to boot and work with Ubuntu 20.04. Everything seemed to work fine. The peppiness of the CPU was loads faster than the A10-9700 APU it replaced. So I thought all was well. ……Not so much! By using ‘ACPI=off‘ in the kernel arguments, I had essentially disabled all parts of the chip power monitoring capabilities. That essentially cripples the ability to use multiple cores, which I had 6. So, now had to make it work without ACPI=off. I tried every combination I could: pci=noacpi, nolapic, noapic, etc. Every combination and combining some with others and also by themselves. Many I had tried for the initial issue of not booting in the previous days. I could not accept having a 6-core CPU run on only one. I almost gave up though……

The answer had to be the BIOS settings of the motherboard – it was the only thing left. There were lots of posts on forums and blogs about issues in Linux with other motherboards like Gigabyte, Asus, and laptops, etc. The solutions were different depending on the manufacturer. Some had settings you could alter and there were posts complaining that many of those settings could not be found too. I could not find one discussing a Biostar motherboard directly. So I had to experiment with settings and go through the tedious Grub boot editing process for every boot (by tapping the ESC key at right moment after BIOS display, to get Grub menu). I had to erase the kernel arguments except for the ‘ignore_loglev‘ to see if the BIOS changes worked. Probably should have started with this in the first place, but all evidence seemed to point to legacy vs. UEFI settings in the Internet searches I found. Those did have a role in the M.2 SSD and USB thumb recognization issues.

The key was deeper in the BIOS menu settings.

ACPI Configuration
Deeper CPU Configuration

I am not really sure which was the setting that did it (I was done with testing and rebooting!), but it was disabling either Hibernation, NX Mode, SVM Mode, C-State Control, or SMT Mode. I may in the future try enabling SMT Mode as it may get back multiple threads per core. As of now, lscpu correctly reports that I have 6 cores (but only 1 thread per core). So, I updated Grub to reflect ACPI not being disabled, so I removed acpi=off and left the loglevel argument for good measure. OpenCL is another issue which will be covered in another post.