Now we hear it's pretty much the same thing on Linux. Phoronix reports Ryzen really likes a newer Linux kernel and that you need Linux kernel 4.10 (or at least Linux 4.9.10) for proper Ryzen support and performance. The site says users running Ubuntu 16.10 or Ubuntu 16.04.2 should generally be OK but there could be some missing or broken functionality. In particular, older versions of the kernel will have issues with multi-threaded performance due to broken SMT scheduling:
I was pointed out in particular to this kernel commit that only landed in early February: "x86/CPU/AMD: Fix Zen SMT topology." It notes in the commit message, "After: a33d331761bc ("x86/CPU/AMD: Fix Bulldozer topology") our SMT scheduling topology for Fam17h systems is broken, because the ThreadId is included in the ApicId when SMT is enabled. So, without further decoding cpu_core_id is unique for each thread rather than the same for threads on the same core. This didn't affect systems with SMT disabled. Make cpu_core_id be what it is defined to be." That mentioned regression was introduced only in January but had been pulled back into stable kernel point releases from Linux 4.6 and newer. This fix for the (Ry)zen SMT topology is in Linux 4.10 and was back-ported to Linux 4.9.10+ for those still riding the 4.9 kernel.So basically, the newer the better. The site also points out there's still some work to be done to get Linux ready for the AMD Ryzen based motherboards. Some mainboards use the Realtek ALC1220 audio codec and that won't be supported until Linux 4.11.