Dear old Linux, what are we to do with you? Developed for just over two decades and it's still barely made a mark on the consumer consciousness.
There was a vague peak during the netbook fad - as it enabled companies to eliminate the extra cost of a Windows installation - but that quickly faltered after people started taking them back because Microsoft Office wouldn't run on them. Have people never heard of Open Office?
The way we're complaining you'd think Linux is overlooked and underused. The amazing truth is that the majority of supercomputers run one type of Linux or another, and it's the leading OS on servers. Besides these, it's put to work on millions of low-power embedded systems around the world - a little something called Android.
So why then does the desktop remain a Windows bastion, while Linux is left shivering out in the cold? The same question could be leveled at the Apple Macintosh. Even with the hysterical success of Apple's wider products, the Mac as a desktop system accounts for just under seven per cent of the market. Linux is no higher than five per cent, and web use points the figure down to a pathetic 1.5 per cent.
Even with the attractiveness of the Mac's ease of use - which brutally contrasts with the stubborn user-friendly-free design of Linux - both still have the same fatal flaw: few games.
Until now. Valve, with its release of Steam for Linux - and more recently the announcement it's going to release an open gaming-platform based on Linux-powered PC architecture - could totally revitalise the desktop fortunes of this able OS.
We're going to take a look at how learning to run Linux, getting it installed and knowing the new gaming platforms can help you get gaming on a free and easy-ish to use OS.
Stop laughing at the back. It's okay to admit in these modern times that you've dabbled with Linux at some point in your life. You might have been drunk, or flirted with it during those care-free college days when life was still exciting and fun. But then you grew up a little and realised Windows was what everyone else used. It had everything you wanted and needed, without all the additional baggage that Linux brought with it.
Linux - or as insane people would like you to call it, Linux-based GNU - can be one funny old fish to fry. It's one of the most stable, secure and flexible operating systems on the planet. It's also free - anyone can install, create and release homemade distributions.
The implications are immense for an ever more locked-down DRM world, with devices that require an advanced OS springing up all over the place. Why should you have to pay the Microsoft tax on each one of those devices when Linux frees you from that expense while remaining totally legal? It enables you to throw installs on your desktops, your servers, your media centre and on as many virtual machines as you have time for. No one's going to try and take your money or, most annoyingly, continuously check and ask you to validate your copy if you happen to change a bit of hardware.
So why won't it take off on the good ship desktop? We think the big stumbling point is gaming. Originally, a large part of that stumbling point was a distinct lack of hardware driver support - more specifically, 3D graphics card drivers. If you can't install a 3D card, you simply won't be playing anything more exciting than Minesweeper or Solitaire.
The good news is that the big three, which is to say Nvidia, AMD and Intel, do provide acceptable driver support. We hesitate to use anything more positive than 'acceptable', as stable and optimised support tends to lag Windows drivers by up to a year. This effectively limits you to slightly older and less-able cards, but it's better than a poke in the eye with a VGA cable.
We'll talk at length on just how to get drivers updated in the box on this page, but to get playable 3D frame-rate performance you'll need to grab the updated ones from your card's manufacturer.
Now, when it comes to updating, that brings on another interesting side of Linux…
If you manage to install Linux without seeing 'the terminal' then you're mistakenly using a Mac. Anyone who tries Linux will discover that at some point they'll have to contend with the terminal and yes, it's as bad as it sounds.
Let's be truthful, all operating systems have a command line interface - it's the base way of running commands. Even from the days of the Atari ST and Amiga, most companies realised that no one wants to use them. Almost thirty years ago, mankind could manufacturer a computer that held a full GUI OS on ROM, so you didn't have to use a bloody command line.
Apple, with its Macintosh, elegantly embraced the new graphical interface, so almost every program - bar the most low-level - offered a graphical interface for us puny humans to use. Linux followed its own path, stubbornly sticking to terminal input as a primary system. So, even today with Ubuntu - which has been diligently designed to be as easy to use as possible - there's no avoiding the terminal. At some point, that black slab of type-based interface is going adorn your screen, like a gravestone marking the death of your happiness.
Maybe we're being a little dramatic here, but when you've spent most of your computing life in a GUI, remembering and typing commands can be a shock. It could also make you look like some super hacker from the movies, but maybe that's just us...
There is, of course, a valid reason for requiring the terminal and that's because the graphical element of Linux is delivered by a system called X Windows or X11. It's a standalone system, badly described as bolted on to the GNU/Linux ecosystem - basically you can't be guaranteed it'll be available.
As Linux was developed, the majority of commands have to assume only terminal input will be available and this goes for a lot of the low-level OS updates and install routines. It simply means that for many of the more basic processes, a terminal is the primary input and output. Even installing the Steam for Linux Beta will involve a segment of updates, where you'll be endlessly typing [Y] into a terminal.
More critically, if anything should go wrong - other than just saying "Sod you, Torvalds!" and reinstalling - you'll be using a terminal to do some serious fire fighting and bug squishing. It's at this stage you realise just how powerful it can be, as you're able to install updates and entire programs over the internet from a single command.
It's also always there, unlike mother, so if the worst should happen pressing [Ctrl] + [Alt] + [F1] always opens a terminal, and [Ctrl] + [Alt] + [F7] takes you to the first X11 interface. So if you know what you're doing, even with broken graphics drivers, it's possible to fight your way back to a working system. Hurrah, we love the terminal!
Games, you said?
Did someone make the mention of games earlier? The big great hope for Linux gaming comes in the form of Steam for Linux. Currently just out of beta, we take a quick look at the steps you need to get this installed.
Valve has done a reasonable job of making it easy to install, but even so it hardly fills you with confidence. The beta is officially only aimed at Ubuntu 12.04, though you can obviously try to install it on any flavour of Linux your heart desires, and it will work on many.
Steam for Linux is an ambitious project, as it's attempting to bring native Linux games to the Steam platform. The success of which seems rather limited, with around 55 games - minus demos and expansions packs - currently converted, the majority of which were already natively available on Linux.
Even Valve itself is hardly churning out the titles. It's main, and only, triple-A title for Linux is Team Fortress 2, and while it does run on the Source engine it's still a six-year-old game. The three other games from Valve are the original Half-Life and original Counter-Strike, both of which are nigh on 15-years old. Counter Strike: Source was added on 6 February 2013.
But the major benefit of having Steam on Linux, if you're already a Steam user, is that any game you bought on Windows will still be available. So it's likely you'll have at least one copy of FTL, Amnesia, Killing Floor, World of Goo, Defcon or Darwinia on your books. It keeps your library and the community elements of Steam that you know and love, but brings them to an open OS that you can install on anything.
That brings us on to the mysterious Steam Box from Valve. Little is really known about the project at this point, though Gabe Newell did talk about it a little at CES 2013, where Valve was holding closed-door discussions with up to 20 potential hardware partners.
From what was said, we do know that a Valve 'Steam Box' is going to be running Linux and likely be released in 2014. It'll be a small-box PC without an optical drive, and it should have the capability of driving remote screens around the home. It sounds like the base system could even be a smart-streaming box, using the processing power of your main PC to do the 3D donkey work, while extending the HDMI output to your HDTV.
It will, of course, run Steam in its Big Picture mode, providing access to your account, chat and games library. It's open in as much as it's a standard PC that other manufacturers can produce, but whether you'll be able to run standard Linux programs and how exposed the OS will be is unknown. Valve is also offering productivity software via Steam, so that might circumvent that issue to a degree.
You need to realise that Steam as an online gaming distribution platform is huge. Steam accounted for at least 50 per cent of the $4 billion worth online sales in 2011, and estimates go as far as 75 per cent. The huge disparity is no one knows how much money Valve actually makes, but we can imagine it's a pretty penny.
With all that muscle, could Valve really walk in with a Linux-based console and proclaim "Start making games!" and expect companies to do just that? Or indeed to re-engineer their entire back catalogue to run natively on Linux? All the while, expecting a gaming community to drop their PCs and pick one up? Surely there's a better way?
There is another way and that's using Wine, a recursive acronym that proves how clever everyone is, standing for Wine Is Not an Emulator - an acronym that makes a very good point.
An emulator seeks to mimic the original runtime hardware and software environment by translating the code to run on an entirely new system. Wine does no such thing - it redirects system calls to suitable alternative Linux-based ones, all running directly on the native x86 processor.
An alternative name would be a wrapper, the like of which was used for the DirectX version of Half-Life. At the time it was an OpenGL-developed game based on the Quake engine. To enable a DirectX compatible version, the most elegant solution was to create a wrapper that would translate OpenGL calls into DirectX ones, with almost no slow down or side-effects.
The most interesting aspect of Wine is that it caters for more than just games, as it'll attempt to enable a host of standard Windows software to run under Linux. Wine is an awesome way of running Windows software via Linux - that is, if you like bugs.
Wine breaks compatibility down into four levels: Platinum for flawless compatibility, Gold for great use with special settings, Silver and Bronze are for games with minor issues and Garbage covers, well, garbage. Over 3,400 games are listed as Platinum, just over 5,500 as Gold or Silver, while over 6,000 games are rated Bronze or worse.
Interestingly, Wine concentrates on the core Windows API and doesn't concern itself with how well individual games or software actually work. This means there's a host of add-on systems that attempt to tune Wine for individual games, and a list can be found at http://wiki.winehq.org/ThirdPartyApplications.
Recently, id co-founder John Carmack tweeted that creating native mainstream Linux games makes no business sense for any company. Largely this comes from id's dabble with Quake Arena and Quake Live, with Carmack adding: "The conventional wisdom is that native Linux games are not a good market." He went on to say that a Wine-style layer "could allow developers to get Linux versions with little more effort than supporting, say, Windows XP."
They're interesting words, and perhaps that's what Valve is planning with the Steam Box - whatever it is, it'll be more than a little interesting.
As a day-to-day OS, Linux is used by millions of people all around the globe. The X11 interface has been developed on for years and offers some lovely touches, while Ubuntu comes with multi-desktop built-in and it's easy to add more extensions than we have space for.
As it was created by programmers, for programmers, it's a fantastic development platform for coders - so if you've got a passion for code or are looking to give it a go then there's no better platform.
As we've already mentioned, it's also used to drive the majority of the world's web servers, so using it to learn and develop web APIs is never going to be a bad thing. It's not even like you have to abandon Windows - you can still cling to your favourite Microsoft OS and still dabble with a little Linux debauchery. It's one of the great advantages of Linux that you can head over to www.virtualbox.org, download it and fire it up on a virtual machine running Linux - just grab an ISO of your favourite Linux distribution and install.
This effectively gives you a perfectly safe and flexible environment to learn and use Linux within. Don't forget to create a snapshot of a clean build, so even if you utterly break an install, it's just a click away from being totally restored.