Monday, February 27th 2017
AMD's Ryzen CPU Series will Need Modern Linux Kernel for Proper Support
So, it's not just Windows that will be pulling the "you need the latest version" card when it comes to Ryzen CPU support. Apparently, Linux will need kernel version 4.9.10 or better to enable a lot of features, SMT included. If you really want good support, the "newer the better" is generally the way to go.
Operating below that version won't necessarily stop Ryzen from functioning as a CPU, but several notable features, most notably SMT, will be completely "broken" according to the article at Phronix.
Phronix notes that the fix landed in early February. It notes in the commit message:
Source:
Phronix
Operating below that version won't necessarily stop Ryzen from functioning as a CPU, but several notable features, most notably SMT, will be completely "broken" according to the article at Phronix.
Phronix notes that the fix landed in early February. 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.So there it is, for you techno-wizards. Apparently, microcode actually is relevant to support features, and Microsoft's claims have some degree of merit.
81 Comments on AMD's Ryzen CPU Series will Need Modern Linux Kernel for Proper Support
For example, Ubuntu and many Debian-based distros will show a popup icon, saying that you have a proprietary/alternative driver available for one of your devices (or you can manually check with a built-in manager).
You simply click "install" and forget that it ever happened. Binary downloads of AMD and NVidia drivers also work fine, though they were not always as pretty as windows installers.
Same goes for software - either use a GUI for package manager (akin to Control Panel > Programs and Features), a built-in "App store" (Windows store), binary package (downloadable installer), or command line package manager (there is similar functionality in windows) - it all works.
BTW, starting from Windows Vista, lots of features and improvements were inspired by/copied from Linux, OSX and BSD. Both in terms of GUI, software, security, and "what's hidden under the hood".
If I update I will need to do the same until updated distro's are available. I am an android dev.
[BTW: Nowadays most people buy factory-built PCs - usually laptops - so usually the latest OS is bundled.]
Think about what you get in return - it's not only a more mature interface and easier setup. How high do you value peace of mind?
Buying a piece of hardware for Windows (or OSX for that matter) is easy - usually the box says which drivers are available and you're good to go.
Buying a piece of hardware for Linux (especially something less mainstream - like a TV tuner or a feature-rich keyboard) equals to a weekend lost on the Internet looking for help.
Living with Linux gives you the smidge of excitement that something will suddenly stop working and you'll have a reason to tinker and meet new friends on a forum.
And it can be a lot of fun if it's Friday evening, the weather is awful and you have no plans for the weekend.
It's not that much fun, if tomorrow is a deadline for your semester project or personal tax assessment. :)
Anyway, if you really want an easy way to install proprietary drivers, you should give Manjaro a spin. They created a tool called mhwd — that can be used via both CLI and GUI — that lets you switch between available GPU drivers. There's even mhwd-kernel that lets you install a wide variety of kernels! :) That's why you do your research in advance. There's nothing stopping manufacturers from making a Linux driver for their hardware. Hell, sometimes, just giving proper documentation is enough — the community will do the rest. But yeah, if a piece of hardware requires reverse-engineering and more generally speaking, fumbling in the dark, all with zero documentation, don't be astonished that making it work requires so much effort. Well, haven't CPUs gotten complex? I guess not everything will work, like power saving features or performance wise, but I'd bet Ryzen still works (as in, it won't give you a kernel panic) with a slightly older kernel.
Moreover, it's not always about buying and having time for research.
E.g. I've surrendered using Linux on my notebook, because it was simply killing the whole idea of a mobile computer.
It made huge problems with many projectors I've come accross, with connecting phones.
There was simply no way to connect via a 3G modem I got from my employer (and a following research confirmed it wasn't compatible...)
But the biggest problem was the battery life.
Despite spending days on optimizing everything I could, I got only slightly above 3h of battery life (from both Debian+Xfce and Arch+Openbox).
That notebook came with a Windows XP and 4.5h battery life. Imagine the shock when - after upgrading to W10 - I once again had over 4h of battery life.
How can Linux have such an appalling power management? :/ Of course there is - it costs money. :)
i never liked the battery life measurement, it's not what should be measured, which is power usage, clockspeeds, etc
i ran into a topic about tuning for battery recently www.reddit.com/r/Fedora/comments/5pueys/how_to_save_power_with_your_laptop_running_fedora/
speaking of which, if you're nvidia, modern nv gpus boot at 2d clockspeeds, the open source driver is reverse engineered since nv doesnt help with that, the end result is funny.. you would have better battery life (lower power usage) in linux due to the fact that windows will be clocking the gpu higher when watching videos or running light games or webgl stuff like google maps (let's assume 60fps performance target for both, not 10fps linux game 90fps windows game)
anyway, hard to say what is causing your old laptop to use more power, it doesnt have to be kernel or OS related, simply the manufacturer of one of the devices writing (or not writing) the driver, it's not like microsoft is the one writing drivers for hardware
I agree on the driver availability and of course this is one of the main advantages of Windows: hardware manufacturers care about these customers. Linux users are left alone (IMO partly for a reason).
Generally, FOSS apps are often very demanding from hardware (as in: poorly optimized) which doesn't help energy efficiency. Even something as fundamental as LibreOffice is much slower than MS Office on the same hardware. :/
For people who AREN'T computer-savvy Linux is such a life-saver. And when you are scared of inputting a few shell-commands... Maybe research what they do and learn a little... Making a sweeping statement about something being 'crap' really only shows me the unwillingness to see something from multiple viewpoints. You're completely right, there isn't really a big cost-saving and people shouldn't run Linux because it is free as in beer. But because it is free as in speech. :) And this is actually my biggest gripe about buying factory-built PC's I'd love to have the option of not having Windows bundled, because it should be my choice what software I want running on my computer. So whenever I can I steer clear of windows-bundling.
Don't get me wrong. I run Windows every day and it definitely has its uses. I just prefer it in a virtualized environment and selectively running the version that fits my needs. I value peace of mind very much. That is exactly why I run Linux. I don't have a corporation that changes the OS without me knowing what the changes are. It is also why my grandmother has Linux installed on her computer, so that I don't have to worry about any sudden changes, that comes down through Microsoft's update channel, that are forced onto my system. I can't deny that I do like a smidge of excitement :-D I have however never experienced anything not working all of a sudden. There is always a reason why something isn't working, be it Windows, Linux or OSX. That is my personal experience at least. Sometimes it does feel like it, but computers never do anything but what they are programmed to do ;-) You should definitely criticize X.Org It is the only way Linux can move forward. :-D Intel also has several people employed to support the Linux-kernel. There really isn't any noticeable difference between Intel hardware running on Linux or Windows. And they support the same iGPU's. Many corporations care deeply about Linux, you have to look beyond the desktop-computer. And yes, power-consumption IS an issue. It's something that would be awesome if more clever people worked on, maybe if more people were vocal about the issue?
Personally, as a Linux user, I don't feel left alone. AMD, Intel and Valve are contributing a huge effort to areas like Vulkan and OpenGL on mesa. Red Hat and Ubuntu does great work on virtualization and filesystems. The amount of games available has sky-rocketed in the last couple of years. If I have something I can't solve myself there is always a score of nice people who wants to help over the internets :D
Everybody seems to understand this already, however little known its major implications can be:
Linux in itself is a kernel, not an OS. Its main project is centralized but, as mentioned, not an OS, which's maintained otherwise.
From a kernel standpoint, 4.10 or higher may be necessary for the full-blown ryzen experience... Given that the Linux project developers have really settled for not backporting it - truly doubt it from history though. It's just too early to say anything definite about the kernel alone.
Now let's head to the often missed consequences of the whole thing (open source Linux kernel != OS).
You don't likely run a standalone kernel (or an OS built from scratch for that matter), you most probably run a heavily maintained OS.
Distribution developers modify Linux kernels as they see fit, especially when it comes to adding hardware support.
Major if not all Linux distributions (OS's) feature custom kernels underneath. Type uname -a on a terminal emulator and see for yourself, or compile a vanilla Linux kernel downloaded from kernel.org and check its hash against your average distro kernel's.
When you install proprietary video drivers from some Ubuntu GUI, you inject the kernel with it. When you're installing a distro featuring preloaded proprietary drivers options, the same applies. It doesn't come packaged with vanilla Linux.
That's why that quirky broadcom wifi will work out of the box on Ubuntu but not on Debian (not that it can't be easily fixed by loading some firmware from official repositories).
Kernel.org LTS kernel != Ubuntu LTS kernel, for instance.
A distro as mainstream as Ubuntu will definitely backport ryzen support for all of its LTS versions (that haven't gone EOL obviously).
Same goes for Debian Stable... And I shouldn't even mention Arch (including the stable branch) as it's rolling, meaning the whole system is regularly upgraded, user land software AND kernel, so there's no "brand new" Arch, you just keep it up-to-date.
But anyway, you must've not paid attention while reading my previous comment. I said that hardware that does not come with documentation is going to have poor support.
Imagine a famous writer who decides to write their book in Uzbek only: is it our job to learn that language, or is it up to the writer (or editor, or whomever's in charge) to release an English translation? I think the answer is quite obvious.
Now, let's go back to computers: you can't demand that open source devs systematically make drivers (from scratch, no less) during their own free time. You like Windows better and you got your own reasons. That's totally fine. What's not fine though, is going around blaming the Linux kernel for the manufacturer's own shortcomings. They're the ones who need to make a Linux driver. Perhaps your laptop has a crappy BIOS/UEFI? I have a Dell E6420 running Manjaro, and battery life is great, the WWAN card works perfectly (I picked the plasma edition) and I've always been able to make it work with projectors at work. I could say the same about a Toshiba C50D (I can't be bothered to dig it to get the full model name) and an Asus A6Vc, minus the WWAN as those two last laptops don't have a WWAN slot. I could use my phone's tethering function just fine though. :)
I could also say that the Asus didn't have drivers for certain components under Windows 7, and, weirdly enough, going back to Win XP for testing, I found out that a couple just wouldn't work with either the drivers from the Asus website or third party websites (I did try... Hell, I even resorted to looking up drivers on softpedia). Still, no dice.
Lastly, I could also list all the laptops that have got good battery life at school, which would be over a dozen models (probably more in reality, as the project itself started in 2010 and I didn't work there back then).
I can't stress it enough: some manufacturers make crappy BIOSes and UEFIs (or anything other non standard piece of software, really) and we, the end users, have to suffer because of it.
Hope you've recovered from the trauma since. ;)
OK, forget it, don't wanna bother the lazy ;)
On the other hand, I've read something about Linux being less power efficient, that's utter bull, just load proprietary video drivers and the major power hog (if any really) is gone. Do people prefer using generic video drivers on windows?
Also... Laptop-mode-tools anyone? Just one of the ways Linux can get really power efficient. My laptop HDD once died and for the very first time I got in touch with Linux, running a live distro from a "classy" usb flash drive. My laptop power lasted 1 hour more with laptop-mode-tools enabled, at the very least. Doing the same tasks (surfing the web, coding, editing text) I used to perform on Windows. And that is an AMD PC.
Seriously, any distro featuring LXDE, XFCE or even Unit will drain your battery considerably slower than Windows 7/8.x/10.
My wife runs Manjaro on her old core 2 duo laptop with a nearly dead battery, yet it surprisingly works for more than half an hour unplugged, whereas Windows dies almost immediately upon a cold boot, even if I override all critical power actions with no action using 3rd party software.
Battery challenge for Windows fanboys: let youtube play HD videos on Windows until the PC powers off/hibernates/whatever. Then do it on Lubuntu, Manjaro or Ubuntu with laptop-mode-tools (and proprietary video drivers). Let us know the results.
I don't know the current situation, but late kernel 2.6 (so in this decade!!!) didn't even have CPU frequency scaling tuned on by default.
You had to teach the PC, that its CPU can run something below max. Happily, that was simple: just open the terminal...
I remember setting up Arch Linux on my laptop for the first time. It took me a whole weekend (around 20h) to reach a state at which taking the laptop out seemed reasonable.
Sure, there are more user-friendly distros - I was prepared for the extra work, but I wasn't prepared for the amount of it. I mean: just how basic a "basic Linux" can be and how unwilling it would be to cooperate with my PC.
It was meant to be an adventure that would teach me a lot about Linux. And it was, but together with the OS-knowledge came a very strong impression that I don't want to do that again. Ever.
[I had prepared a "wrong hole" analogy here, but as some people could be underage, I decided to present it only to my girlfriend. You'll find out yourself one day.]
Honestly, should a feature not be included in the "basic Linux" just because it's not essential (as in: only 99% of people use it), when making it work takes these 99% of people around an hour (if they're pretty tech-savvy and lucky)?
And it's all great with doing researches: checking manuals and asking on forums.... if you have access to Internet. But if you don't? At that point I only had 1 PC at home (and didn't have a smartphone). I remember going to my neighbours and printing some pages with instructions how to setup WiFi. And then I used a text-web-browser, to setup X...
Seriously, connecting to a WiFi network is not rocket science and not something that only 1 in 1000 Linux users need. It should be among priorities, but even on very popular distros (like Debian) it's not as polished and stable as on Windows. Why?! No, it won't. You clearly haven't checked this. Windows turns out to be better in general: partly because it is designed with laptops in mind (so this is prioritized from the start) and partly because the drivers are possibly much better. I think we all agree: hardware manufacturers actually care about Windows/OSX users, while it's a mixed bag with Linux.
It seems that the availability and quality of Linux drivers is often a result of having a Linux geek among employees who, at some point, we'll say that "hey, we don't support Linux!" and the management (after saying "so what?") will let him write a driver after hours.
I knew you'd talk about horror stories from eons past. Yes, Linux was hard back then. I even gave up on Mandrake back in 2001 because I couldn't get a driver for my 56k modem (though eveything else was fine, even my Voodoo Banshee's driver). But then, I could equally tell you horror stories about Windows (I was running Windows 98 back then). But hey, water under the bridge. Things have a changed a lot since. You can't complain about the current state of affairs for issues that no longer exist, nor have any consequence (besides any potential mental trauma).
Honestly though, if you're going to argue about connecting to wifi being hard under Linux. I've used Unity, Gnome (both 2.x and 3.), Plasma 5 and XFCE 4 quite a lot, and connecting to wifi has always been a non issue. Hell, if we're going to talk about wifi, let's talk about setting up your laptop as an access point. That's something I needed on daily basis for my previous job. With Linux, you go to network settings and create a new connection with the appropriate type. There. Done.
With Windows.... Guess what the first step is? That's right, open the console. Of course, there are third party apps, but that's not exactly straightforward.
CPU frequency auto-scaling was already present.
Cpufrequtils, a very straightforward command line tool, was also there for those who wanted to clock their laptop CPU themselves. Don't be terrified just yet, there were GUI's too.
Oh, Ubuntu already drained power slower than Windows on my PC at the time, regardless of laptop-mode-tools:
All I did was load proprietary video drivers with the additional driversGUI. *buntus and several other distributions offer such option by default, you don't even have to download anything from the manufacturer website or use the command line. MS took ages to start detecting and delivering drivers this way, yet it's really messy.
Do you use generic video drivers on Windows? Probably not.
As a side note, generic Linux drivers are unquestionably better than generic MS trash (developed by MS itself, not the rebranded ones sourced from manufacturers). Info you don't manage to absorb/retain properly doesn't turn into knowledge (to yourself).
Well, the learning curve isn't always steep. It took me about 3 hours to set up Arch at first as I was already familiar with the basics. Now I can happily perform a vanilla Arch install within an hour or so. Half an hour when I'm inspired.
Anyway, just go for Antergoswhen you're not in the mood to install Arch properly. It's just a graphical installer for Arch, so you get the real thing (Arch purists would kill me now hah). Manjaro is even more simplified, although it's more of a derivative. You can get user-friendly distros installed at least 4x faster than W10. I rather assume you didn't read my posts thoroughly as you should understand at least part of what you're trying to imply.
You do realize most amateur users stick with Ubuntu and its derivatives (Xubuntu, Lubuntu, Mint etc), right?
As mentioned:
You don't likely run a standalone kernel [that "basic linux" of yours] or an OS built from scratch for that matter, you most probably run a heavily maintained OS [like Arch, Debian, Fedora, Ubuntu. Most of those distributions will probably add support for Ryzen to their custom kernels if Kernel.org weirdly decides not to backport it widely. Arch and other rolling distros get regular upgrades close to the latest kernel, so they're fine].
You don't seem to be so familiar with how popular distros updates work in detail, there's nothing wrong to it as long as you don't spread misinformation or FUD. This thread is based on rumors. Facts weren't properly checked, sources are unclear, alleged decisions can change etc.
We're dealing with guesswork right now. Don't quit Ubuntu when you're a Linux dummy. Zorinsmiles at you. Keep your wifi happy effortlessly.
Worry not. Debian is not nearly as popular as its bastard child, Ubuntu, at least when it comes to home users. I bet more than 1 in 1000 Linux users have great wifi...
Elaborating on the topic, some wifi manufacturers (namely Broadcom) don't want to cooperate with the Linux project. Vanilla Debian only features FOSS drivers due to its philosophy. It's easy to get wifi working anyway, lspci and aptitude are your friends.
Hey... Wireless more polished on Windows? Seriously? How many windows PCs with wireless issues have you serviced? K then.
It's been long, very long since I've last had wireless issues on Linux. Can't say the same about Windows (try enabling and establishing 1000+ connections on a torrent client).
Next you say Windows is also known for its serious scalability & stability in networking, parallel computing and raw processing power hah...
Again, as I said:
My wife runs Manjaro on her old core 2 duo laptop with a nearly dead battery, yet it surprisingly works for more than half an hour unplugged, whereas Windows dies almost immediately upon a cold boot.
Oh, I forgot to mention: she's using free drivers.
I run newer hardware and the results aren't so different. W10 will last at least half an hour less on battery power. All I need is proprietary video drivers.
W10 doesn't compare to lightweight Linux distributions power-wise, champ.
Updated power efficiency challenge for MS lovers: let youtube play HD videos on Windows until your laptop runs out of juice. Then do it on Lubuntu or Manjaro, same videos, proprietary GPU drivers loaded if available, just like you did on Windows. Let us know the results.