OS showdown: Windows 10 vs Linux

If you have an older computer running Windows 7, or even XP, and are considering upgrading to Windows 10, then bear in mind the minimum system requirements:

  • 1GHz CPU
  • 1GB RAM (2GB for 64-bit)
  • 16GB Hard Drive
  • DirectX 9 video card (with WDDM driver)

These are pretty modest, especially when one considers the demands Windows Vista imposed back in the day. DirectX 9 has been around since 2004, but hardware from that era will likely not meet the driver requirement. Plenty of marginally newer hardware will though, for example the Nvidia Geforce 600 series from late 2004, or AMD's HD2xxx series from 2006 (which back then was made by a company called ATI).

Windows Store

The Windows Store in all its glory

These are minimum requirements though, don't expect a particularly slick experience using them. 2GB RAM is no match for a few tabs in Chrome, whatever your operating system. Also with an old processor, a 1GHz Celeron from back in the day say, you'll be spending a lot of time twiddling your thumbs waiting for Windows to catch up with itself. It is foolhardy to compare raw frequency numbers between old and new CPUs too – multi-GHz processors have been around for 10 years and an old Athlon 4800 (2.4GHz) pales into insignificance compared to the similarly clocked Intel Core i3-370M found in many budget laptops.

When people begin to consider switching to Linux, they are often concerned about hardware compatibility. The situation here is always improving, but there remain a few unsupported devices: Some older laptop graphics chips are modified by the OEMs, so are no longer recognised by some drivers (although if you encounter such a thing the open source drivers will happily accept your bug report).

Likewise, there remain some budget peripherals such as remote controls and TV cards that lack Linux support. No doubt you will have seen people on forums complaining about dysfunctional wireless cards, but 90% of the time this is due to missing firmware (which can't be bundled with most distributions, but is available in the linux-firmware package).

New converts to Linux often make the mistake of going and manually hunting for drivers. This is almost universally a bad idea, your distribution will come with drivers for pretty much all hardware that is supported on Linux in the form of loadable kernel modules. These will be loaded automatically as soon as each bit of hardware is detected, and while they might on some occasion need some minor configuration tweaks, rare is the occasion that one would want to replace them.

It's easy to forget that driver problems on Windows arise too. Perhaps now so more than ever thanks to Windows' driver signing requirements. A motherboard will require drivers for its chipset, network interface, RAID controller, audio device and various other obscurely named platform drivers. These will be available from the manufacturer's website, alongside a poorly translated manual. But you'll need to know the precise motherboard revision or you'll risk a whole world of pain. Such downloads often run to hundreds of megabytes, due to various manufacturers' insistence upon bundling all manner of bloatware.

Linux drivers, having to undergo the scrutiny of the various subsystem maintainers (and possibly even Linus himself) are guaranteed to be as efficient and well-coded as available hardware knowledge allows.

The difference is that we've only been using the Windows install for about a week, once a few apps and a few (thousand) obscurely titled runtime libraries are installed the age-old curse of Windows decline will kick in. Our Arch install has been used pretty much every day for over a year, has all manner of long-forgotten packages installed, and remains blazing fast.

One exception used to be playing Flash videos, which rapidly crippled the system. This was easily solved by uninstalling the Flash plugin because it's entirely unnecessary nowadays and serves only as a vector for the delivery of viruses. A modern computer is required to enjoy a smooth-running Windows 10 – running it on a virtual machine proved particularly painful.

By comparison pretty much any computer built in the last ten years will happily run a lightweight desktop, such as LXQt or MATE, with no fuss whatsoever. Add to that a slightly more modern graphics card (one supporting at least OpenGL1.4 and having 128MB of video memory), and it will easily manage a standard Ubuntu install (the stated minimum requirements are 1GB RAM and a 1GHz CPU).


Linux graphics drivers catch up eventually

Graphics drivers

Newer graphics cards will tend to perform better on Windows on release, but eventually the Linux drivers catch up performance wise. They are usually available quite soon after a new graphics card launches too, for example Nvidia already provides drivers for the high-end 980 Ti and Titan X cards.

That said, Nvidia's new hardware requires signed firmware blobs to work, and at the time of writing there seems to be some paucity in providing these to the open source Nouveau project. Hopefully this will all be resolved soon. AMD on the other hand is much more friendly towards the open source Radeon driver. Not only does the company provide specifications, it actually pays people to work on it. AMD's latest innovation has been to introduce a common kernel module for both its open source and proprietary (Catalyst) driver offerings, with the latter's naughty bits annexed to a separate userspace module.