Check out our Monthly Survey Page to see what our users are running.
We do often include affiliate links to earn us some pennies. See more here.

Opinion: Can Linux Be A Viable Gaming Platform? Thoughts From A Sympathetic Game Developer

By f25025105 - | Views: 33,610
In the beginning, a brief historical overview.

While PC was the platform that enabled mass-scale game development as we know it now, its Golden Age only lasted from about 1992 to 2005. Back then PC replaced the arcade machines as the primary target for both AAA and smaller game developers, while console ports usually came after a successful PC release and were inferior due to a weaker console hardware.

Things have changed in mid-2000s, when consoles that were at least as powerful as a typical user’s PC appeared. Hard-core gamers with their beefy rigs still had the upper hand, but a mass user’s desktop (slowly turning into a laptop at that point) was outclassed by the console hardware - and this hardware came bundled with online services which were better than what was available on PC (Steam and GameSpy, let alone Games For Windows), without the need to muck with the drivers and run PunkBuster to weed out the cheaters. And, more importantly, the games on the platform were designed to be played from the couch, often together with a friend or a partner - very important thing if you consider the prevalence of casual players over the hard core ones on any platform.

Sales quickly reflected the changed environment - take any cross-platform game of the era and compare PC and 360 copies sold on a sales tracking site like VGChartz - PC figures will be consistently smaller (and don’t forget that PC price is usually lower).

No wonder that for non-indie game developers, PC has not been a popular platform since then. Game developers and publishers alike are more than willing to concentrate on the console market, which consistently accounted for the majority of the sales while being relatively easy to develop for.

What has changed?

“PC renaissance” of early 2010s happened largely due to two factors, one of them being proliferation of the “free to play” format. Initially unpopular in the console-dominated West, F2P spread like wildfire due to the success of MOBA type of games. Both because F2P favors a large installed base and because it is inherently resistant to piracy, F2P once again made PC a viable platform for making money.

The second important factor was the “indie revolution”. Easier access to professional tools (e.g. Epic’s UDK released for free in 2009) and inexpensive engines (Unity, Cocos2D), widespread acceptance of the digital delivery (Steam) and significantly improved compared to early 2000s hardware and software (on Windows side) of an average PC allowed small teams to develop games that could be played by millions.

That said, these days PC is still an “ugly duckling” of the AAA game development. Contrary to its golden age, it is now the PC version that is released after the game proved to be a success, if at all. For whatever reasons, AAA games that don’t utilize “free-to-play” mechanics but are instead sold traditionally, enjoy larger sales in terms of profit on the console platforms - and this is unlikely to change in the foreseeable future.

How does Linux fit into this picture?

I dare to say that it was PC renaissance that enabled Linux gaming and not vice versa. While it is certain that Humble Indie Bundles benefited from claiming Linux support, the Linux ecosystem was not (and is not yet as of now) able to sustain game development even of F2P games and has to piggy-back on OS X porting efforts - or, sometimes, on the fact that the Linux port is comparatively cheap due to a cross-platform engine.

Demands for the Linux version of a game can be sometimes quite vocal, but its actual release does not seem to bring much, if any, profit. This is not because Linux users are not willing to pay in general; rather, it means that targeting the platform is more expensive than the price that can be reasonably charged for a single copy. Other platforms are helped by the economies of scale, but this is not the case for Linux.

The above applies to the traditional model of selling games; targeting Linux for a F2P game is probably even worse, since this model relies on the large player base, which is seemingly not there in Linux case according to statistics.

All in all, it seems that releasing the game on Linux now is done mostly due to developers’ enthusiasm about the platform, goodwill or - rarely - “long term” investment in making their tech cross-platform in case SteamOS turns out to be popular (there’s no immediate value in being cross-platform - developers may fix some bugs while porting, but if those bugs never mattered for their best selling platform, this is still a waste of time).

What are the problems with Linux as a gaming platform?

The overarching problem is that Linux-based operating systems are not designed to facilitate running closed-source binary blobs, let alone blobs that depend on so many system components at once. Graphics drivers are the most visible part, but problems with window, audio and input systems can also be severe, if games are to be held to the strictest standards of competitive PC gaming, particularly for e-sports.

Part of the problem is what we call “Linux” is vague - there are several related, yet different OS sharing that name. Even within a single OS there is sometimes a multitude of choices, sometimes subtle, that can make a problem reproducible only on that user’s machine. There are numerous micro-decisions to be done while writing the software, and sometimes there’s no other specification than the de-facto behavior of the developer’s system. If a user’s system behaves differently, we have a problem.

This, to an extent, applies to Windows as well (which is one of the reasons why console platforms with their deterministic behaviour are cheaper to develop for), but the FOSS principles that put everything on user’s system under the user’s control greatly amplify that problem.

Another problem is the cultural clash. Game developers make money from selling their proprietary software (even if sometimes indirectly), and as such are inherently incompatible with FOSS goals. The effect of this is two-fold: not only the likelihood of the developers’ prior experience with Linux is smaller than what would be expected from an average user, but this operating system is built on the principles that are contrary to and sometimes outright incompatible with their modus operandi, which presents them with unique challenges not encountered on other (proprietary) gaming platforms.

To add insult to the injury, Linux gaming community abounds in radically minded folks, who often are not willing to bridge that cultural gap - in spite of Linux gamers themselves being an eclectic minority within the larger, and even more radical, Linux community. It is curious how people could hold seemingly incompatible beliefs at once, both despising the closed source software and demanding its authors to support it on more FOSS platforms (yes, there are people who attempt to run Steam on gNewSense).

What can be done to improve Linux gaming?

First of all, we (all people interested in Linux gaming) should understand and respect the status quo before attempting to change it. Linux users are the minority among computer users, and that applies to game developers as well. A typical game developer does not possess an intrinsic interest in Linux, they may not have necessary knowledge nor patience needed for an enthusiast OS based on principles hostile to them - and they may happily live the rest of their lives without it. Their enthusiasm lies in creating games, and the proprietary platforms are not hindering their creativity anyhow significantly - learn to understand and respect this world view.

Second, understand where the money is. For a typical, non-indie game, Linux sales constitute negligible percent of the overall PC sales, which are themselves dwarfed by the console sales - to such an extent that even Windows version can be cut. Even for indie games that only sell on PC, Linux sales are unlikely to surpass 10%. It is safe to say that turning profit on a Linux version is extremely hard - if you are a developer, expect to lose money. If you are a gamer, be friendly to developers who are not doing this for profit and can be sometimes bitter about their experience. Also, when trying to reach out to devs for the help, keep in mind that players usually outnumber the developers by several orders of magnitude.

Third, understand the platform - both as a user and as a developer.

As a user, realize that the freedom to build your own system has an associated responsibility - you get to maintain it. You may be the only person on the planet who runs this particular combination of software on this hardware! If anything goes wrong on your system, you - first and foremost - are responsible for fixing it, or at least diagnosing the problem. This is both the blessing and curse of FOSS.

As a developer, do not claim to support more than you actually do. If you only packaged the game for Linux without even running it, state so. If you only can afford to run it on Ubuntu using NVidia drivers to make sure it starts, be upfront about this. Try not to use vague terms as “Linux version”, don’t be afraid to brand it as “Ubuntu version” or “SteamOS version” (if you are testing on these OS of course). In the latter case, I hope that Valve will start a certification program to help provide a consistent experience.

Fourth - pay attention to the attitude and the self-fulfilling prophecies it starts. Support companies that invested into Linux. Right now the best thing you can do for Linux gaming is switching to SteamOS for your gaming purposes (Ubuntu is reasonably close). Embrace the proprietary drivers. Run Steam. Be friendly and supportive to proprietary software developers. This seems to be anti-FOSS - it’s not in the big picture. What is at stake now is whether free software can be used as a foundation for a large scale digital entertainment platform (which involves compromises with proprietary software). It certainly worked for Android, so let’s hope it can work for the SteamOS. Article taken from GamingOnLinux.com.
Tags: Editorial
0 Likes
The comments on this article are closed.
57 comments
Page: «5/6»
  Go to:

Shmerl Jul 7, 2015
Quoting: JudasIscariotFor me, as someone who likes to play games on Linux, I'd love to be able to just git pull the source + assets and compile everything so that a given game is more or less better installed on my system. The reason I say this is because I git pull the latest builds of Cataclysm: Dark Days Ahead, compile, and I have no issues with the game using a 32-bit library on a 64-bit system or anything like that. Plus updating is simple: git pull, make clean, make TILES=1 NATIVE=linux64 RELEASE=1 and my game is updated cleanly and simply.

Good to see you building stuff from source :D


Last edited by Shmerl on 7 July 2015 at 9:48 pm UTC
Purple Library Guy Jul 7, 2015
Quoting: skryIf you don't want to use Steam runtime (or need something that it does not include), learn the very few gotchas about dynamic linking / library loading in Linux compared to Windows and supply your own. Usually this means a simple launcher script. If you need only a handful of libraries or binary size is not an issue, you can also consider static linking.
Really, when I watch my package manager downloading stuff, one thing I notice is that most libraries are very small. For most games of any size, I bet all the libraries you might be worried about would take up less space than one of the game's video clips or whatever. Static linking shouldn't be a problem most of the time.
Xeekei Jul 7, 2015
Disclaimer: Haven't read all comments yet.

The biggest issue with Linux from a Windows developer's perspective is that it's unclear how you're supposed to develop. Sure we got Sublime and QtCreator, but we really have no Visual Studio. VS is the biggest road block for my friend. Otherwise he loves Linux.

Also, as stated in the article, games just happen to rely on Linux's weaknesses. Namely graphics, audio, and input. Hopefully Wayland and libinput will fix this. I'm not sure how much more work PulseAudio needs, or if maybe even ALSA needs fixing.

The new so called "hybrid source" AMD driver might be good too. I personally hate when games are Nvidia only, but can understand why.
Glog78 Jul 7, 2015
Quoting: XeekeiDisclaimer: Haven't read all comments yet.

The biggest issue with Linux from a Windows developer's perspective is that it's unclear how you're supposed to develop. Sure we got Sublime and QtCreator, but we really have no Visual Studio. VS is the biggest road block for my friend. Otherwise he loves Linux.

Also, as stated in the article, games just happen to rely on Linux's weaknesses. Namely graphics, audio, and input. Hopefully Wayland and libinput will fix this. I'm not sure how much more work PulseAudio needs, or if maybe even ALSA needs fixing.

The new so called "hybrid source" AMD driver might be good too. I personally hate when games are Nvidia only, but can understand why.

To help with the question for an IDE please be a little more specific what you miss on Sublime or QtCreator ?
Xeekei Jul 7, 2015
Quoting: Glog78
Quoting: XeekeiDisclaimer: Haven't read all comments yet.

The biggest issue with Linux from a Windows developer's perspective is that it's unclear how you're supposed to develop. Sure we got Sublime and QtCreator, but we really have no Visual Studio. VS is the biggest road block for my friend. Otherwise he loves Linux.

Also, as stated in the article, games just happen to rely on Linux's weaknesses. Namely graphics, audio, and input. Hopefully Wayland and libinput will fix this. I'm not sure how much more work PulseAudio needs, or if maybe even ALSA needs fixing.

The new so called "hybrid source" AMD driver might be good too. I personally hate when games are Nvidia only, but can understand why.

To help with the question for an IDE please be a little more specific what you miss on Sublime or QtCreator ?

Personally I don't miss anything, but I'm not really a developer. My friend is. He's not the only one I've heard good things about VS from.
Glog78 Jul 7, 2015
Quoting: Xeekei....

Personally I don't miss anything, but I'm not really a developer. My friend is. He's not the only one I've heard good things about VS from.

Visual Studio is a great IDE and i don't know a comparable product in terms of one product just fits everything what visual studio does. But depending on what your friend's realy miss there might be alternative's on linux depending on the language and the features.

There is for example eclipse with all it's plugins. There is Clion. There is atom / there is visual-studio-code (yes a ms product and even in beta right now a damm good editor / minimalistic ide). Thats why ask. If you friends don't mind they might open a forum post (to keep the thread on topic) and people might have some sugestion towards a tools and workflows. I talk about sugestions cause i know from myself how picky i'm when it comes to change my workflow.
jedidiah_lnx Jul 8, 2015
Quoting: throghFrom my point of view a game developed only for "Ubuntu" or "SteamOS" is not the way to go. In fact it is no problem at all to release a working application for more than only one or two platforms. So the user should be capable of knowledge about the platform he / she is using. Only some basic knowledge and the motivation to ask questions at the right places, also having some basic interest about finding information on their own at a concrete point. There is no need for some kind of standardization or certification. What do you want to reach? Another Microsoft, this time only with the penguin on it? No thanks!

For me Linux and Open-Source is about the freedom to choose and not to be regulated by another ruleset and the dictate of some companies / groups which say this has to be the way of some kind of standard.

I take the opposite view and find the notion that Linux represents "a collection of similar OSen" to be absurd. Any Linux is a collection of the same upstream projects as everyone else uses. Thus a binary for one distribution should not be that difficult to re-target for another. The community could even help with that effort. Unix is transparent and any user can see what a Linux binary is linked against. As far as individual APIs, there are obvious choices for some and a small set for others and those can almost always play nice with each other.
JudasIscariot Jul 8, 2015
Quoting: ShmerlGood to see you building stuff from source :D

Well, I only build non-critical non-system stuff from source :) For everything else I just use my distro's package manager or whatnot so that I don't somehow screw my system up more than it already is :P
JudasIscariot Jul 8, 2015
Quoting: nifkerIf I would write a program/game and put it in public I would never hold the source code back.

Great, but I'd still want to pay for access to such things to ensure that the person making the source + assets can pay the bills. What I was referring to in my earlier statement that I'd like to be able to purchase a game as normal and then just have the option of building it on my system.


Last edited by JudasIscariot on 8 July 2015 at 12:43 am UTC
coryrj19951 Jul 8, 2015
Quoting: JudasIscariotWell, I only build non-critical non-system stuff from source :) For everything else I just use my distro's package manager or whatnot so that I don't somehow screw my system up more than it already is :P

Thats why I stopped building system critical packages about a Manjaro and a few Mint installs ago :P


Last edited by coryrj19951 on 8 July 2015 at 1:50 am UTC
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.