Updated: May 10, 2017
Here's an interesting one. Recently, Microsoft announced they will not support pre-Windows 10 operating systems on the new generation of Intel and AMD processors, known by their popular names Kaby Lake and Ryzen, respectively. This sounds like a scary scenario.
As always, the Internet is afire with righteous fury and indignation over big corporation evils, not that different from the initial noise around telemetry and spying, and of course, the UEFI conspiracy for Linux people. So let's try to clarify things and understand really if Microsoft is pulling a bad one on its users. Read on.
In more detail
Microsoft has chosen to blacklist certain operating systems on specific hardware. There are many reasons for this, which we will touch upon shortly. What is important is to understand is how this can affect us. Well, what can happen is one of the two (or rather three) possible things:
- You may end up not being able to install Windows 7 or Windows 8.1 on systems with these processors. The installation process may fail or refuse to continue.
- You will have successfully installed these older editions of Windows, but when you try to run an update, you receive and error that reads: The processor is not supported together with the Windows version that you are currently using. Microsoft has even published a knowledge base article that explains this in detail.
- You may be able to use your older Windows editions, but you could experience unexpected behavior, like performance degradation and similar.
Does this really matter?
That's the main focus of the discussion. Is this a big deal? Should we be angry at Microsoft? Are they being a special evil snowflake by doing this, or is this a norm in the market?
If you've never worked in the enterprise space, you may think this is a rather radical decision. The thing is, even in the Linux world, large vendors like Red Hat and SUSE have a very strict hardware support policy for older versions of their operating systems. If you try to install them on new systems, they will not officially support them, and will not vouch for any performance impact you get from this.
Why? Well, it comes down to the kernel - scheduling and memory management. New processors come with new architectures, new caching technologies, new interconnect technologies between cores and sockets, new extensions.
Hint, for Linux folks, just run cat /proc/info and compare the flag values from, say, an older Pentium with a brand new i7. You will see a big difference in what the processors do. And to be frank, how many 2.6.18 or 2.6.32 kernels support the latest generation of hardware?
And it's not just blanket works/does not work situation. The issues are far more subtle. Everything could be fine until you fire up a multi-threaded application, and under certain conditions with memory interleaving and hyperthreading enabled, it suddenly starts to lag. Or you may experience a much higher battery usage than expected. All sorts of weird things. I've seen this happen lots of times.
Back to Microsoft. Windows is no different in this sense. You have the kernel, and it needs to be capable of supporting the hardware it runs on. Now, new processors, developed after Windows 7 and Windows 8.1 have been released to the market, may have cardinal changes in their architecture that would necessitate massive development on behalf of Microsoft, in order to fully support the new hardware. This is a serious undertaking, and with three major operating systems out there, to say nothing of the servers, which are affected in a similar manner, Microsoft is trying to save cost, effort and time. But is their decision justified? Let's see.
Who is affected?
First, the question is only relevant to advanced users who build their own custom PCs. Because the majority of people will be buying preinstalled hardware, be they desktops or laptops, so the situation does not apply. It's people like you and me who love to have total control over their systems, including setting up everything from scratch.
One more thing to take into account is - the typical lifetime of a custom-built PC. Let's say six years for a high-quality product with sufficient memory and fast disks to cope with the passage of time. If you're a gamer, graphics cards can be upgraded relatively easily, allowing you to remain relevant.
This darling operating system will be supported until 2020 - Extended support, with security updates only. Mainstream support for Windows 7 has ended in 2015, which means no new features are being developed, including stuff like DirectX, new software, and - of course - the kernel.
So, if you were to build a brand new custom PC now and install it with Windows 7, you will end up with an unsupported operating system half way into the desktop's expected useful lifetime. That sounds like a bad idea, because you will be using an unsupported system with sub-optimal hardware support, and then in 2020, you will get no more updates whatsoever, whereas your hardware still has a few years to go.
Now, this is where it all becomes interesting. Windows 8.1 is still under the Mainstream support until January 9, 2018, roughly 7 months from now, after which the Extended support policy of no new features development kicks in until 2023.
So in a way, Microsoft SHOULD develop new features for Windows 8.1, if we judge the situations from just that perspective. But then, seven months isn't a very long period of time to get things moving. Yes, OEM and software vendors may already have been given pre-production samples of Kaby Lake and Ryzen to start developing the drivers, but it's not that simple. We need to factor in additional considerations, including the availability of these processors on the general market, the availability of all the supporting hardware, and the drivers themselves. Even with perfect coordination between different companies, Microsoft included, we're looking at a relatively short windows of only about six months or so, realistically, for Windows 8.1 to get perfect support on the new processors. Now remember what happened with Vista. And early Windows 10 launch.
This is just one complication. The other is, even if you do get full hardware support for the new processors from day one, if you install Windows 8.1 on them, you will enjoy only several short months of Mainstream support. After that, you won't get any. Now, if you're a gamer, or a hardcore PC enthusiasts, you will probably care a lot about having the latest and greatest stuff for your software. Stuff like DX13, DX17, whatever. But this means your brand new custom PC will not be having these for 85% of its lifetime, assuming you built it now and it lasted till about 2023, just like Windows 8.1 Extended support.
Last but not the least, Windows 10 is a slightly less stupid version of Windows 8, so in this regard, you actually win some. Without sounding arrogant or deluded, given the choice between 8 and 10, I can't think of too many reasons why you'd want the former. Windows 7, of course, that's a simple decision. But two flat, over-shiny desktops, one with the pointless Tiles and the other with all its online noise? Toss a coin and go with the more supported option.
It's all about the hardware
Remember my Windows XP death article? I said back then, the REAL reason for upgrading Windows XP to Windows 7 is hardware support, most notably 64-bit support. Because on the software level, it's all the same really. Tiny changes. Cosmetic fixes. Windows 8.1 isn't any great miracle, and Windows 10 is pretty much like its predecessors, in every aspect of home computing. One way or another, Microsoft desktops behave the same, especially the recent generation of Windows 7 through Windows 10. The old XP was born in 2001, and there was a big gap till Vista and onwards. In roughly the same span of time, from 2009 till 2015, we had three operating systems released, and they are almost identical. But then, what really matters is hardware support. So in this regard, Microsoft got it right.
New processors + Windows 10 combo. Yes, makes sense. There's no argument around Windows 7 at all. Windows 8.1, that's a different legal and moral story, but we're talking a very short span of time to nail it perfectly right. Not worth it. After all, Microsoft did go back on its previous decision around Skylake, and it did extend the support to this generation of processor for both Windows 7 and Windows 8.1.Kaby Lake and Ryzen are for all practical purposes outside the Mainstream support for Windows 8.1, and if you really are buying a new computer now, Windows 10 makes the most optimal choice. It is retarded, yes, you may hate it yes, but then don't buy it! Use Linux if you want. Or something. If you must use Windows, for whatever reason, then that's your best option. Don't hate the software. What you should hate is the reality that brought you into a situation where you are forced to use an operating system and have no alternative.
So if you ask me, my next gaming PC will be running Windows 10, the same way I switched from XP to Windows 7. New box, new OS. I won't like it, but it will serve me better than clinging to old operating systems. NEW hardware, mind. Old systems will continue running Windows 7 and Windows 8.1 of course! Whining about it won't make my life any easier. And if you need a way to un-retard Windows 10, then please take a look at my ultimate privacy guide. You see, happy times.