I’ve found myself in somewhat of an atypical situation recently: I have three different operating systems (OSes) installed on my desktop computer. This gives me the ability to make somewhat of an objective comparison about how each system functions for the tasks I care about, and so I thought I’d use this opportunity to do just that. A couple of disclaimers before I start. First, this is not a comparison looking at technical details. Rather, it is designed to show how well each of them seem to perform across a set of common use cases (which are based on the things I primarily use my system for). Second, whilst I’m aiming to be as objective as possible, this is far from scientific. The ratings I devote to each section are based on criteria I choose myself, as well as my own experiences on my own hardware. Therefore, you may end up scoring some of these differently if you have different requirements, and you may think of criteria that are important to you but are not on my list. Despite this, the goal is hopefully to provide some useful information for people looking to weigh up the pros and cons of each OS.
All three OSes are installed on SSDs using a SATA III connection. I’m running all of these on an Intel Ivy Bridge (3rd gen) machine with 16GB of DDR3 RAM and an nVidia GTX 980Ti graphics card. For Windows, I’m using Windows 10. For macOS, I am using High Sierra, installed using Clover. For Linux, I’m using Ubuntu Studio 18.10 (though I’ve previously had other Ubuntu flavours installed so I can speak a little for Ubuntu/Debian based Linux systems in general).
I’m going to focus on a number of categories. I will rate each of the three OSes on each category from 1 to 5 (5 being the best). Let’s get cracking…
1 General responsiveness and performance
This one is both surprising and unsurprising to me, having used both Windows and macOS for quite some time. There’s something about how macOS renders its windows and animations that makes it feel a little sluggish compared to Windows on the same hardware. This might be in part to do with hardware acceleration. I have heard that application level hardware acceleration is a lot better in macOS with AMD graphics cards, rather than the nVidia + web driver solution I’m using. However, I think it’s to do with how each OS actually draws graphical objects. There is no better way to demonstrate this than to take your average browser window with a fairly image/data heavy website loaded, and then try to move and resize the window. Macs seem to try to update the window contents more in ‘real-time’, which offers some benefits, but ultimately makes it feel more sluggish. The same can be said when typing text in a word processor, for example. With the same hardware, the sluggishness is definitely less noticeable though. It doesn’t help that Macs tend to be a bit underpowered in the graphics department (my MacBook Pro with integrated graphics is less smooth than my desktop ‘hackintosh’). Aside from the perception of interface speed, there are other considerations. File transfers for some reason are always much more cumbersome on a Mac than in Windows or Linux.
I instantly found Linux to feel snappier than the other two. “But wait”, you say. “Linux has a lot of different desktop environments”. This is true, and indeed your experience will vary depending on which one you use. However, at this point, I’ve used the latest versions of GNOME, KDE Plasma, Unity, Cinnamon, and XFCE, and all of them felt very fast and responsive on my system. The only drawback is that sometimes things can be a bit glitchy. This is partly to do with graphics drivers and partly to do with differences in desktop environment optimisation, but it lets down what would otherwise be ideal performance.
- macOS – 4/5. Less responsive than the other two; still nice to use overall.
- Windows 10 – 5/5. More responsive than macOS in most respects on identical hardware.
- Linux – 4.5/5. Least resource intensive and the most responsive; sometimes glitchy.
For what it may lack in snappiness, macOS redeems itself in its stability. Although Windows 10 has come a lot further in this regard over previous iterations of Windows, there are still times where one application can bring down the entire system. This unfortunately seems to be a side-effect from how Windows prioritises tasks. The irony is that even though I’m running macOS on non-native hardware, I’ve still had far fewer stability issues with it over the past 5 or 6 years than with Windows. However, Linux easily bests both in terms of stability and perceived general performance.
There’s also the small issue of viruses and malware. These days, I find it’s more or less a non-issue on any OS if you know what you’re doing, but it’s undeniable that Windows is targeted far more with malicious software. I get the impression that even if you are reckless on macOS or Linux, you are more actively prevented from screwing things up with password prompts to run unsigned applications or even change some system settings.
- macOS – 4.5/5. The occasional spinning beach ball of doom usually won’t bring the system down.
- Windows 10 – 4/5. More reliable than it used to be, but still the worst of the three.
- Linux – 5/5. Solid as a rock.
3 User experience
User experience is extremely subjective, and so this area is going to be dependent on your own tastes and workflow. However, there are a few criteria that I can try to assess individually.
3.1 Intrusiveness and updates
It’s fairly well-known at this point that Windows 10 has a lot of data collection embedded into it, with plenty of services and settings you have to go and manually disable if you want this to be minimised. However, you will still be bugged with updates and notifications. I actually had to look up a guide in order to administratively disable the update system after Windows forcefully restarted my PC to install updates whilst I was playing a game without any way to interrupt the process. I have also seen this happen to someone giving a presentation, where the system forcefully restarted in the middle of a PowerPoint slideshow, and was completely unusable for 5-10 minutes. This has never happened to me once in macOS (in my entire decade of using it) or in Linux.
MacOS doesn’t force updates, though it might nag sometimes. It’s quite easy to turn off things like Siri, though some people may have privacy concerns here as well. You do need an Apple account for the app store to get updates, and Apple likes to push its services on you sometimes, but generally if you tell it to shut up and go away, it tends to listen. In comparison, Windows 10 feels like a creepy stalker that you’ve put a restraining order on but you know is probably lurking in the background.
- macOS – 4/5. Never forces updates, and feels non-intrusive. Loses a point for sometimes requiring a sign-in to update app store apps, even if they are free.
- Windows 10 – 2/5. It’s not the most annoying thing ever but it seems like it sometimes.
- Linux – 5/5. Non-intrusive in general, doesn’t force updates.
3.2 File browsing and management
MacOS uses Finder as its built-in file browser. It has some idiosyncrasies and odd behaviours in general when compared to Explorer in Windows. However, I find it far more intuitive to organise and browse files in macOS for three main reasons. First, there’s Quick Look. This allows you to instantly preview any file by pressing the space bar, without actually having to launch a dedicated application. For the productivity and workflow optimiser that I am, this provides a huge efficiency saving over anything else. I imagine this behaviour can probably be replicated on Linux with some tweaking, and possibly also on Windows, but I’m primarily focusing on what’s available without spending a large amount of time fiddling.
Second, the search function is far more powerful in macOS than in anything else I’ve used. You can use it to look up words, do calculations, convert currency or measurement units, as well as reliably search through file metadata. Ubuntu tried to do something similar in its Unity interface (which I really liked) but has since killed it off and switched to GNOME. Windows 10 has a search function, which has improved over previous versions, but is still not really as powerful or useful.
Third, macOS has Automator. It’s essentially an intuition based programming tool that allows you to automate some system related tasks without actually having to write a program or script for it. For example, if you have a bunch of files that represent different versions of a document and have very slightly different naming conventions, you can set up a flow in Automator that will sort them and allow you to uniformly rename them using sequential numbering. There are plenty of other ‘global macro’ style workflows you can set up in this fashion as well.
None of the ‘out of the box’ file managers on any of the Linux distros I’ve used have been quite as good as either Finder or Explorer. Again, I’m sure there’s some tweaking that can be done to achieve a satisfactory experience, but this would require significant time investment. There’s one other weakness that Windows has which I find notable, and it’s due to the way it thinks of file locations as absolute rather than relative. You can’t move or rename files that are open, whereas this is possible in macOS and Linux. It may seem trivial, but I find that I mostly think to rename or move things precisely when I’m actually using them. Additionally, you can rename files in many macOS apps straight from the window’s title bar, and move it to any location by dragging the document icon in the title bar. There are a lot of subtle quality of life things like this littered throughout macOS. Just now, in Windows, I tried to drag an image to a different place in this article, and realised I couldn’t use my scroll wheel to scroll through the document whilst clicking and holding the image so I can place it in exactly the right position in a single motion. This is something I do without even giving it a second thought in macOS.
- macOS – 4.5/5. Highly intuitive and powerful file management.
- Windows 10 – 4/5. Explorer is faster and has better view options than Finder, but lacks more powerful features.
- Linux – 3/5. Average, though I’m sure many Linux users stick to the terminal.
3.3 Workspace management
I’ve discussed a few things related to performance earlier, but here I’m focusing on the general workflow experience when working with multiple applications and windows. The Windows start menu is somewhat iconic and a lot of people are used to it. I don’t particularly care for the live tiles, but it’s probably the best place to put that dynamic content if you want it. In contrast, MacOS has a notifications pane that slides in from the right, and that I find more or less useless. They partly used this to replace the ‘dashboard’, which had widgets that would overlay the screen with a hotkey (Yahoo Widgets tried to emulate this on Windows back in the day), but the spotlight search bar does most of what you might need these days. However, system message notifications work well in both macOS and Linux, and in my opinion function better than the little system tray notification bubbles you get in Windows.
For managing running applications, both the taskbar and the dock on Windows and Mac respectively serve their purpose well. Linux is a bit strange in this respect. There are multiple approaches that depend on the desktop environment you choose to use, which I understand gives one the freedom of choice. Yet, I find that a lot of them are lacking quality of life features out of the box, and the tendency to not conform to any kind of uniform standard for usability bothers me a little. The global context menu on macOS is something I value greatly, because the click area for options is always in the same place and has the same appearance at the top of the screen, rather than being different for each application as in Windows (and in most Linux environments). The way Mission Control lets you quickly switch between running application windows visually and quickly is something that I find difficult to replicate on Windows. GNOME has something similar on Linux, but I personally find it to be more confusing than useful. Windows does have better window snapping functionality than macOS, and running fullscreen apps on a Mac can sometimes be weird and disjointed.
Launching applications is a slightly different story. Both macOS and Linux offer simple ways to see all available applications. In macOS, you can search by name, use the dock, or use the launch pad grid. All applications are installed to the same folder, and they exist mostly as one self-contained draggable object that can be moved anywhere and still work. Most Linux distributions also have a simple and elegant method of listing all installed apps. Windows, on the other hand, can get very cluttered and disorganised unless you spend time cleaning stuff up yourself, since installed applications may or may not include desktop shortcuts, and may or may not have a start menu folder. Some might pin themselves to the taskbar, others won’t.
- macOS – 5/5. Some redundancies, but generally has the most usable and uniform design principles.
- Windows 10 – 4/5. Some strange design choices, good window management
- Linux – 3/5. You probably can get it to look and work exactly how you want, as long as you don’t need to use your computer for anything useful for another couple of months while you set it all up.
3.4 Multi-monitor handling
As a dual display user, how an operating system handles multiple monitors is extremely important to me. There isn’t much to say here. Windows wins this one. Window management is better across multiple monitors, and they behave how you would expect them to. The taskbar appears on both screens, so you can run a fullscreen application on one monitor whilst working normally on another. Strangely, this is not the case on macOS because of the way it deals with fullscreen applications. For example, right now I have a fullscreen YouTube video running on one monitor in Firefox, with another non-fullscreen Firefox window that I’m typing in on my main monitor. This seems to make the menu bar and dock disappear on my main monitor. They reappear when I click on the desktop, but disappear when Firefox is focused. Admittedly this appears to be application specific – Chrome doesn’t have the same issue – but I’ve had various other strange behaviours in other applications in the past. The positive side of this is that by default, macOS regards each monitor as its own desktop, and so each monitor can have its own independent set of virtual desktops.
Linux is again the odd one here due to differences in desktop environments. In general, the menu/task/status bar seems to only show on your primary monitor, and the secondary display is usually completely blank, which can be frustrating when you have to move your cursor all the way to the corner of your other monitor to launch another application. I have only found this not to be the case by default in Unity (which is now discontinued), which mimics the macOS menu bar setup. KDE Plasma also allows you to set up multiple bars and menus pretty easily by tweaking a few options, but it seems to be more difficult to do this in GNOME.
- macOS – 4/5. Generally good, but weird fullscreen behaviour, and application specific issues.
- Windows 10 – 5/5. All the monitors please.
- Linux – 4/5. Capable of being as good as Windows, but isn’t by default.
Although I’ve made sure that my core internal hardware components are functional across OSes, GPU and external hardware support can differ. If user interface and experience is the realm of macOS, it seems that hardware support is the realm of Windows.
4.1 Graphics card support
First off, I have no experience with AMD cards (at least since the ATI Rage Pro card I had in 1999…) so I can’t talk about specific issues with those GPUs. However, I know that macOS supports modern RX and Vega cards natively, which is great. Unfortunately, the same is not true for nVidia cards. I’m actually using High Sierra rather than the latest Mojave version of macOS because there are no nVidia drivers for my 980Ti at the moment. Supposedly these are coming in future, and I don’t know who is at fault for the delay (my money would be on Apple but I can’t say for sure). Furthermore, I believe hardware acceleration for graphics applications is still somewhat limited on nVidia hardware for some reason.
Linux has support for a much larger set of graphics hardware, if not through proprietary drivers, then via open source alternatives. However, I ran into some very prominent screen tearing when using Firefox in Ubuntu Studio regardless of whether I used nVidia proprietary drivers or open source ones. I think this may be partly to do with XFCE as configured for Ubuntu Studio, since I tried installing KDE Plasma instead, and had fewer tearing issues (though they were still there). Really, it seems like Windows is the only OS that allows you both free choice and advertised performance in GPUs.
- macOS – 3.5/5. If your hardware is supported, then it’s flawless. Otherwise it probably won’t work at all.
- Windows 10 – 5/5. All the graphics.
- Linux – 3.5/5. Supports more hardware than macOS, but with sometimes dodgy drivers.
I have a bunch of peripherals that I use fairly regularly so I’ll go through them each in turn:
- Logitech gaming mouse. Logitech gaming software is natively supported on both Mac and Windows. On Linux, though I can remap buttons, I haven’t found an easy way to program profiles and change the RGB lighting. It’s not a huge deal if you only need to set it once and forget it, but it still means you will need access to Windows or macOS at some point.
- Focusrite Scarlett USB audio interface. This works flawlessly in macOS with the drivers provided. In Windows 10, while the interface works with the supplied driver, there does appear to be a known issue where the audio can sometimes get distorted, cut out, or shift in pitch. This goes away if you disable fastboot in Windows, but it can often reactivate itself after the ubiquitous Windows 10 updates. In Ubuntu Studio, it worked out of the box with no issues and no need for an additional driver.
- Xbox One and PS4 controllers. On macOS, Xbox controller support is possible via a third-party Xbox 360 controller preference pane. Supposedly PlayStation controllers work natively via bluetooth, and it’s true that they connect. However, I’ve not been able to get either to work properly in a game. Which doesn’t matter much since playing games on macOS is like drinking orange juice and toothpaste (I’ll get onto that). Obviously Microsoft’s peripherals work natively with their OS. PS4 controllers used to be a little more challenging, but thanks to Steam and PlayStation Now, they also work well in Windows 10. The PS4 controller works fine natively in Linux. Supposedly there is a way of getting the Xbox One controller to work wirelessly, but I haven’t tried it yet.
- Thrustmaster steering wheel and pedals. Designed to work with Windows 10. As far as I know, there’s no Mac support for this at all. It works in Linux with community developed drivers, but without force feedback, which kind of eliminates the main reason for using a decent racing wheel.
- MAudio MIDI keyboard. Works fine in all OSes.
- Roland TD-15 vDrums. Doesn’t have a Linux driver, though it is essentially a MIDI controller.
- Wacom Intuos drawing tablet. Wacom have drivers for Windows and macOS that allow for full configuration. The tablet also works natively in Ubuntu Studio, but I haven’t yet figured out how to configure the hardware buttons, or change the area so that the tablet only spans one monitor rather than both.
- macOS – 4/5. Not quite the same level of hardware support as Windows, but most common stuff ‘just works’ with less fiddling.
- Windows 10 – 4.5/5. All the peripherals, but sometimes drivers make me sad.
- Linux – 3.5/5. Most important stuff works out of the box, and the community is great for developing workarounds, but the level of fiddling can make it frustrating at times.
5.1 Default software
Although Windows is the most popular OS, it is surprisingly also the most bare-boned in terms of the quality of its bundled applications. Its native media viewers are poor compared to the likes of Preview on macOS. Most people that use Windows for productive tasks are likely to have to buy MS Office in some form. MacOS now comes with Pages (not as good as Word but okay), Numbers (nowhere near as good as Excel but makes nice graphs), and Keynote (a lot better than PowerPoint in my experience), as well as iMovie and GarageBand for video and audio, and Photos for, well, photos. All of them have limitations, but all are extremely well designed and easy to use. However, nothing beats a good Linux distro for bundled software. Ubuntu Studio in particular is packed with high quality creative applications, and I’m quite frankly surprised at the level of quality of free software like Krita. The difference between the bundled software in macOS and Linux comes down to elegance and ease of use vs sheer number of features.
- macOS – 4.5/5. High quality included software that is well designed and easy to use.
- Windows 10 – 2/5. Get ready to do some downloadin’ and/or spendin’.
- Linux – 4/5. Can do pretty much anything out of the box, but some apps can be cumbersome or unintuitive.
5.2 Third-party software
Windows has pretty much everything going for it in terms of available software, both in terms of high quality professional applications, as well as complete and utter junkware. However, there are some macOS specific apps that seem to be more elegantly designed than anything available on any other OS, even if there are functional equivalents. The most notable examples are Final Cut Pro and Logic Pro, but there are also more niche examples. Texpad is a Mac-only LaTeX editor I have used heavily over the years which doesn’t really have an equivalent that works as seamlessly on Linux or Windows.
Linux has a huge number of free and open source apps, but it is lacking in commercial software. Whilst I completely understand and support the Linux philosophy and what it represents, from a pragmatic point of view, it severely limits the potential of an OS when you can’t run some mission critical piece of software on it properly. Linux does have the WINE compatibility layer which allows for the use of Windows software, but 100% functionality is not guaranteed. Even free Linux software is sometimes glitchy and dependent on the specific distribution you use (I couldn’t get Flux to work in Ubuntu Studio, for example). The biggest hole from my point of view is the availability of commercial grade audio software, for which virtualisation or introduction of a compatibility layer is undesirable from both a functionality and a latency perspective.
- macOS – 4.5/5. Good selection of third-party software that has a high average quality level.
- Windows 10 – 5/5. If you can think of it, there’s probably Windows software for it at all price and quality levels.
- Linux – 3/5. There’s a lot of really good software available through repositories and package managers, but not much high quality commercial grade stuff.
I started using a Mac back in 2008. Back then, I was more of a console gamer, so I didn’t really need my computer to play games. Even so, there were a reasonable number of Mac ports back then, whereas Linux gaming was virtually nonexistent. A decade later, things couldn’t have changed more for Linux – in a large part due to Valve and Steam. Whilst Steam has brought more games to both Linux and macOS, there are a number of reasons why Linux now trumps macOS for games. There is better peripheral and controller support on Linux, thanks to community developed drivers. There is better GPU support on Linux, and this is amplified by the fact that Linux supports the Vulkan graphics API, whereas Apple have shunned OpenGL and are not interested in anything other than their Metal API, which no developer is likely to support unless Apple really decides to push them to in future. Finally, Valve recently introduced Steam Play, which allows Linux to play some Windows-only games through a custom version of the WINE compatibility layer (called Proton). It is still in beta, and the list of supported games is growing.
Of course, Windows is the de facto OS for gaming because of its history and its DirectX graphics API. You can run more games on it, use more peripherals, and more hardware combinations than any console ever made. Apart from some poorly supported older games, most games ever made for a PC can either be played natively in Windows 10 (possibly with the help of community made patches), or under DOS emulation. Heck, pretty much every console up to around the PS3 can be emulated at full speed without many issues. Even most people with Apple hardware who want to play PC games will either install Windows on their Mac, or have a separate Windows PC for gaming purposes.
There is a small notch in macOS’s corner when it comes to running windowed games. MacOS was developed with multitasking in mind, and actually it was only relatively recently that they even allowed most applications to run in fullscreen. Windows, on the other hand, tends to prioritise resources on the focused application, and as a result, other running programs can sometimes slow down. The opposite is true for macOS – the overall system seems to take priority over a single game. Most games run relatively poorly in macOS compared to their Windows version, but if you’re running something that isn’t very graphically demanding and it’s a slower paced game that doesn’t require your attention at all times, then it’s much easier to multitask a windowed game in macOS when you’re doing tasks in other applications.
- macOS – 2.5/5. Surprisingly good for running simple games, rubbish for everything else.
- Windows 10 – 5/5. All the gaming goodness.
- Linux – 3.5/5. It may or may not quite get there, but it’s rapidly catching up to Windows.
Summary and conclusion
I’ve summarised the scores from each section in the table above. Although I included totals, they are somewhat meaningless since just adding up scores assumes you weight each category equally, which is definitely not going to be true for most people. For example, if you remove gaming from the equation completely, then Windows doesn’t look so great all of a sudden.
The general theme, which is perhaps unsurprising if you are at all familiar with these operating systems, is that Linux tends to win on stability and performance, at the expense of hardware and software compatibility. MacOS tends to provide the most satisfying user experience and is very good for efficient workflow management. It is also stable, but is undesirable for gaming or anything graphically intensive. Windows is the pragmatist’s choice. It wins out based on utility alone, but the way it achieves it can sometimes leave a lot to be desired.
If the ends justify the means, then Windows is for you. If you value the process and experience, then you might enjoy macOS. If, in addition to the process, you don’t mind spending time tinkering and troubleshooting in exchange for the greatest possible freedom, then you might enjoy Linux. Personally, no single OS fits all of my needs, and so I’m resigned to alternating between macOS and Windows. With better hardware and software support, I could see myself using Linux for everything. Then again, Linux has been touted as the future since the 90s…