I still see so much confusion and outright misinformation being spread about why a lot of Linux games perform worse than Windows, so here's a few real reasons.
Note: This is an editorial and tagged as such, please remember what that means. The way I think about things will likely be different to you.
Drivers
Drivers on Windows are tweaked rather often for specific games. You often see a "Game Ready" (or whatever term they use now) driver from Nvidia and AMD where they often state "increased performance in x game by x%".
This happens for most major game releases on Windows. Nvidia and AMD have teams of people to specifically tweak the drivers for games on Windows. Looking at Nvidia specifically, in the last three months they have released six new drivers to improve performance in specific games.
Update: Image above added to help show my point.
This just doesn't really happen on Linux, it has happened in the past, but it seems it's a rare occurrence on Linux. It seems a lot of people overlook this fact too. This is easily where a chunk of the performance difference comes from for some of the bigger games.
On Windows, drivers specifically state when they improve performance in certain games, I highly doubt AMD/Nvidia would release a driver on Linux that improved performance in a Linux game without saying anything.
Here's a specific example [see here] (one of many I could easily pull up) for Mad Max. On Windows, Nvidia specifically released a driver with "performance optimisations, Game Ready tweaks, and a SLI profile" for the DirectX version, we don't see things like that on Linux.
Update: I'm not claiming this is a major source of the difference, but it could account for some differences. The other issues below are likely the bigger issues.
Ports, not versions
A small part of the blame also lies in games that are ported from Windows to Linux after the original release. Why? As these games generally use some form of translation layer that translates DirectX calls to OpenGL, as opposed to rewriting the game engine for better OpenGL support. This can of course have an overhead to it. Not always, but a lot of the time it will.
Why do they use these layers? When thinking in business terms it's quite simple and comes down to two things: Time and Money. It would likely take too long to rewrite an entire game engine to make much better use of another API. We would end up seeing a lot less ports.
Think about these major games and how they were originally developed. They would have had thousands (if not millions) invested into them to make them perform on Windows. Where as Linux has no such investment for the games.
So, it's not down to laziness as I repeatedly see people say, but it's just business. Some of you may not like this, but that's the way it is for a small platform. The only way this is likely to change in future is if our platform grows and more developers take notice, but we won't grow much, if all people do is complain about the games we already have.
This doesn't apply to every Linux game of course, but it is a major reason from the bigger porters.
OpenGL
OpenGL itself can often be the problem. Many developers [like this one, and this one], some high profile too, have noted their extreme frustrations with this graphics API. I've personally spoken to a lot of developers over the years, some small, some big, and their thoughts about OpenGL are never very nice.
OpenGL doesn't really do multithreading. Nvidia do have their "__GL_THREADED_OPTIMIZATIONS" option but the results with that vary from game to game and GPU to GPU, it can destroy performance in some games. Remember the initial Linux release of The Witcher 2? VP tried to do OpenGL multithreading similar to DirectX [see here for their explanation], and the performance was terrible.
Where as DirectX does multithreading rather nicely. This is also something people repeatedly either forget, or ignore when it comes to Linux port performance.
The problems are many, from poor documentation to a lack of decent debuggers that can make life hell for developers using it.
Thankfully, Vulkan the new API will hopefully help to close the performance gap, but it won't be a silver bullet. Vulkan seems to be developed far more in the open than OpenGL ever was and there's actual excitement for it from developers. It was also designed with multithreading in mind [see this video]. We do still have the two other previously mentioned issues though.
So, before people go complaining there's a 20% (or whatever) difference in a Linux game, they need to ask themselves: do they want more Linux ports to happen, or do they want only 2 or 3 a year? Those 2 or 3 somehow hit 100% parity with Windows, but then they aren't financially rewarding for the developer and for Linux to continue to remain in Linux gaming obscurity until the end of time?
I don't particularly like it when ports don't perform amazingly well, but the point here is the experience you have. Is your experience with a Linux port good? If the answer is yes, does the difference between Windows and Linux really matter? Not really. Would you even know there was a difference unless you stared at that FPS counter or directly compared it to the Windows version? If the answer is a no, then again, does it really matter if there is a difference? Not really.
Note: This is an editorial and tagged as such, please remember what that means. The way I think about things will likely be different to you.
Drivers
Drivers on Windows are tweaked rather often for specific games. You often see a "Game Ready" (or whatever term they use now) driver from Nvidia and AMD where they often state "increased performance in x game by x%".
This happens for most major game releases on Windows. Nvidia and AMD have teams of people to specifically tweak the drivers for games on Windows. Looking at Nvidia specifically, in the last three months they have released six new drivers to improve performance in specific games.
Update: Image above added to help show my point.
This just doesn't really happen on Linux, it has happened in the past, but it seems it's a rare occurrence on Linux. It seems a lot of people overlook this fact too. This is easily where a chunk of the performance difference comes from for some of the bigger games.
On Windows, drivers specifically state when they improve performance in certain games, I highly doubt AMD/Nvidia would release a driver on Linux that improved performance in a Linux game without saying anything.
Here's a specific example [see here] (one of many I could easily pull up) for Mad Max. On Windows, Nvidia specifically released a driver with "performance optimisations, Game Ready tweaks, and a SLI profile" for the DirectX version, we don't see things like that on Linux.
Update: I'm not claiming this is a major source of the difference, but it could account for some differences. The other issues below are likely the bigger issues.
Ports, not versions
A small part of the blame also lies in games that are ported from Windows to Linux after the original release. Why? As these games generally use some form of translation layer that translates DirectX calls to OpenGL, as opposed to rewriting the game engine for better OpenGL support. This can of course have an overhead to it. Not always, but a lot of the time it will.
Why do they use these layers? When thinking in business terms it's quite simple and comes down to two things: Time and Money. It would likely take too long to rewrite an entire game engine to make much better use of another API. We would end up seeing a lot less ports.
Think about these major games and how they were originally developed. They would have had thousands (if not millions) invested into them to make them perform on Windows. Where as Linux has no such investment for the games.
So, it's not down to laziness as I repeatedly see people say, but it's just business. Some of you may not like this, but that's the way it is for a small platform. The only way this is likely to change in future is if our platform grows and more developers take notice, but we won't grow much, if all people do is complain about the games we already have.
This doesn't apply to every Linux game of course, but it is a major reason from the bigger porters.
OpenGL
OpenGL itself can often be the problem. Many developers [like this one, and this one], some high profile too, have noted their extreme frustrations with this graphics API. I've personally spoken to a lot of developers over the years, some small, some big, and their thoughts about OpenGL are never very nice.
OpenGL doesn't really do multithreading. Nvidia do have their "__GL_THREADED_OPTIMIZATIONS" option but the results with that vary from game to game and GPU to GPU, it can destroy performance in some games. Remember the initial Linux release of The Witcher 2? VP tried to do OpenGL multithreading similar to DirectX [see here for their explanation], and the performance was terrible.
Where as DirectX does multithreading rather nicely. This is also something people repeatedly either forget, or ignore when it comes to Linux port performance.
The problems are many, from poor documentation to a lack of decent debuggers that can make life hell for developers using it.
Thankfully, Vulkan the new API will hopefully help to close the performance gap, but it won't be a silver bullet. Vulkan seems to be developed far more in the open than OpenGL ever was and there's actual excitement for it from developers. It was also designed with multithreading in mind [see this video]. We do still have the two other previously mentioned issues though.
So, before people go complaining there's a 20% (or whatever) difference in a Linux game, they need to ask themselves: do they want more Linux ports to happen, or do they want only 2 or 3 a year? Those 2 or 3 somehow hit 100% parity with Windows, but then they aren't financially rewarding for the developer and for Linux to continue to remain in Linux gaming obscurity until the end of time?
I don't particularly like it when ports don't perform amazingly well, but the point here is the experience you have. Is your experience with a Linux port good? If the answer is yes, does the difference between Windows and Linux really matter? Not really. Would you even know there was a difference unless you stared at that FPS counter or directly compared it to the Windows version? If the answer is a no, then again, does it really matter if there is a difference? Not really.
Some you may have missed, popular articles from the last month:
Agreed. That's why I empty my wallet on linux ports and decide to not pick anymore game that has not linux support. I have been pleased by most ports despite sometime slight performance drop (the games are still fully playable without any bug so far). I can make graphical concessions, especially since the ports are getting better and better, sometimes even beating windows. We all are the actor of the future, not like superheroes at all, but simply as a wallets. That's how we are considered by major companies but also by politicians. Then if we are to be considered as such, the only way we can make things change, is to spend our money on product and companies that seems ethical and fair to us. Should I be tempted to buy rainbow six siege, forza horizon 3, battlefield 1? all protected with drm and sold at the highest prices in companies that consider stealing private data, specs sofwares.. all day long as a due for them.
It is not so easy, because nowadays we put our desire above anything else, and most of people will tell that they don't care about their private datas, and sometime that no such things as privacy should exists (social networks...). But as a translation of these big companies to the real world, would they accept to have someone in their house with the keys, recording everything and being there all day asking you questions about what you are doing, why are you doing it, when are you going to make love (How can we as editors minimize that time spent in bed in order to have more game time, that's the kind of questions discussed at the top of data studies)... I don't think that many will tolerate it, but they do tolerate it everyday in order to play the game made by these editors.
Will people accept to have less games, or restrict their windows buy at least to companies who does not behave like that? It is hard, games are a hobby, and people don't want to bother any question nowadays. Our lives are enough busy all day long. I can understand that choice. Also I don't know if they realise what it will mean for them in the future.
If not, what alternatives will they have? With only one choice monopoly platform who has all the right to behave disgustingly towards our privacy. In few years the bank account will be automatically debiting every month. I am quite sure many have noticed the side effects of windows 10. The OS quickly control over every action or tweaking done on the os, and put the shape wanted differently every 4months, with other problems incoming and not the slightest will to improve user experience.
In think it is in the interest of everyone to support linux gaming, and then to buy as much ported game as possible, even if you are on windows. How many games everyday on TV or in the shops are branded "PC", while it means "windows exclusive" (linux is also PC).
Sorry for the long answer.
It is not so easy, because nowadays we put our desire above anything else, and most of people will tell that they don't care about their private datas, and sometime that no such things as privacy should exists (social networks...). But as a translation of these big companies to the real world, would they accept to have someone in their house with the keys, recording everything and being there all day asking you questions about what you are doing, why are you doing it, when are you going to make love (How can we as editors minimize that time spent in bed in order to have more game time, that's the kind of questions discussed at the top of data studies)... I don't think that many will tolerate it, but they do tolerate it everyday in order to play the game made by these editors.
Will people accept to have less games, or restrict their windows buy at least to companies who does not behave like that? It is hard, games are a hobby, and people don't want to bother any question nowadays. Our lives are enough busy all day long. I can understand that choice. Also I don't know if they realise what it will mean for them in the future.
If not, what alternatives will they have? With only one choice monopoly platform who has all the right to behave disgustingly towards our privacy. In few years the bank account will be automatically debiting every month. I am quite sure many have noticed the side effects of windows 10. The OS quickly control over every action or tweaking done on the os, and put the shape wanted differently every 4months, with other problems incoming and not the slightest will to improve user experience.
In think it is in the interest of everyone to support linux gaming, and then to buy as much ported game as possible, even if you are on windows. How many games everyday on TV or in the shops are branded "PC", while it means "windows exclusive" (linux is also PC).
Sorry for the long answer.
2 Likes, Who?
From my understanding OpenGL is implemented as an abstract machine which prevents you crashing the real machine. It also means that you can not directly access the hardware. But this is a design aspect and not a disadvantage. Many games do not have such elaborate graphics that they must take full advantage of the hardware.
It should also be noted that the ports so far are very stable. Some have graphic glitches but I have not experienced any major crash even after hundreds of hours of playing. And when a game crashes, only the game or Steam crashes, not the whole system. With Vulkan this can be different. Your graphic hardware can thus come in a fault condition from which there is no way back without reboot. Especially if you use a proprietary driver. Thus, Linux could feel quite similar to Windows in such moments.
Do not get me wrong: I'm also looking forward to great AAA games which runs native under Linux. But this also has disadvantages. Linux as a whole system is for good reasons the way it is.
Last edited by 0aTT on 27 October 2016 at 12:43 pm UTC
It should also be noted that the ports so far are very stable. Some have graphic glitches but I have not experienced any major crash even after hundreds of hours of playing. And when a game crashes, only the game or Steam crashes, not the whole system. With Vulkan this can be different. Your graphic hardware can thus come in a fault condition from which there is no way back without reboot. Especially if you use a proprietary driver. Thus, Linux could feel quite similar to Windows in such moments.
Do not get me wrong: I'm also looking forward to great AAA games which runs native under Linux. But this also has disadvantages. Linux as a whole system is for good reasons the way it is.
Last edited by 0aTT on 27 October 2016 at 12:43 pm UTC
0 Likes
I think we also forget just how much money Microsoft has put into promoting DirectX, from training to technical support to straight-up paying developers to use it. I think this is part of the reason for some of the misgivings about OpenGL, because, like Linux (until recently), there's no big corporate powerhouse behind it generating goodwill.
I do agree with the concluding paragraph: if a game runs well for me in Linux, and I enjoy it, I couldn't give a pair of fetid dingo's kidneys that it theoretically performs better in Windows, but a lot of people don't think that way. For many gamers, that FPS number is, for whatever reason, a significant source of bragging rights, and as long as Linux lags behind Windows in terms of gaming performance, there are a lot of gamers who will never take it seriously.
I do agree with the concluding paragraph: if a game runs well for me in Linux, and I enjoy it, I couldn't give a pair of fetid dingo's kidneys that it theoretically performs better in Windows, but a lot of people don't think that way. For many gamers, that FPS number is, for whatever reason, a significant source of bragging rights, and as long as Linux lags behind Windows in terms of gaming performance, there are a lot of gamers who will never take it seriously.
1 Likes, Who?
Quoting: JahimselfAgreed. That's why I empty my wallet on linux ports and decide to not pick anymore game that has not linux support. I have been pleased by most ports despite sometime slight performance drop (the games are still fully playable without any bug so far). I can make graphical concessions, especially since the ports are getting better and better, sometimes even beating windows. We all are the actor of the future, not like superheroes at all, but simply as a wallets. That's how we are considered by major companies but also by politicians. Then if we are to be considered as such, the only way we can make things change, is to spend our money on product and companies that seems ethical and fair to us. Should I be tempted to buy rainbow six siege, forza horizon 3, battlefield 1? all protected with drm and sold at the highest prices in companies that consider stealing private data, specs sofwares.. all day long as a due for them.
It is not so easy, because nowadays we put our desire above anything else, and most of people will tell that they don't care about their private datas, and sometime that no such things as privacy should exists (social networks...). But as a translation of these big companies to the real world, would they accept to have someone in their house with the keys, recording everything and being there all day asking you questions about what you are doing, why are you doing it, when are you going to make love (How can we as editors minimize that time spent in bed in order to have more game time, that's the kind of questions discussed at the top of data studies)... I don't think that many will tolerate it, but they do tolerate it everyday in order to play the game made by these editors.
Will people accept to have less games, or restrict their windows buy at least to companies who does not behave like that? It is hard, games are a hobby, and people don't want to bother any question nowadays. Our lives are enough busy all day long. I can understand that choice. Also I don't know if they realise what it will mean for them in the future.
If not, what alternatives will they have? With only one choice monopoly platform who has all the right to behave disgustingly towards our privacy. In few years the bank account will be automatically debiting every month. I am quite sure many have noticed the side effects of windows 10. The OS quickly control over every action or tweaking done on the os, and put the shape wanted differently every 4months, with other problems incoming and not the slightest will to improve user experience.
In think it is in the interest of everyone to support linux gaming, and then to buy as much ported game as possible, even if you are on windows. How many games everyday on TV or in the shops are branded "PC", while it means "windows exclusive" (linux is also PC).
Sorry for the long answer.
Exactly. I no longer pay to support devs or publishers that only code for Windows. I just support games that run on Linux (usually this also means they are multi platform).
Also stopped pre ordering games. Even if the Linux port comes out later, that's when I buy it. Don't want my sales to count for Windows when I ain't even gonna run it on that platform.
Last edited by [email protected] on 27 October 2016 at 12:53 pm UTC
2 Likes, Who?
Quoting: titiI know these kind of games are rare, but if you look at games that are developed for Linux and do a windows release later you see that the linux version is much faster than the windows version. I can clearly state this for the game I am involved in ( MegagGlest ). For MegaGlest Linux is first priority. As far as I know Nexuiz runs faster on Linux too.Voted. Your game rules! It is even more enjoyable then 0 A.D.
btw, MegaGlest is on steam greenlight now, please vote for us:
http://steamcommunity.com/sharedfiles/filedetails/?id=782856139
1 Likes, Who?
Quoting: MaCroX95I would really like to see Valve making Steam machines OS locked to SteamOS because this is what would give them clear proof of how many people only on their behalf use Linux-based distro for gaming... Yes it would be a Microsoft-like move but it would be more effective than letting people to buy SteamOS powered steam machines and then give them right to just put Win10 on there...
Talk about becoming monsters you're trying to fight.
So, you propose to lock down machines that were specifically created to foster openness of the PC platform? You propose to lock down machines running a system that is most often a victim to MS locking down PCs and advertised as the way to secure oneself from suffering a lock-in?
Interesting :)
BTW., Valve does not need to do this to have any "clear proof". Just put some data identifying Steam Machines and/or SteamOS in telemetry they collect anyway - or modify the hardware survey to display on SteamOS.
6 Likes, Who?
Quoting: cxphergmailcomI just support games that run on Linux (usually this also means they are multi platform).I haven't bought a non-Linux PC game in nearly 3-years.
2 Likes, Who?
A good article well written Liam. Myself, Ive never been concerned about how this or that game has been made playable on Linux, just that games are being made playable on Linux, and I feel a little sorry for that segment of Linuxians that seem incapable of fully embracing or enjoying gaming on Linux until it meets or exceeds the performance of Windows.
I would like to see more articles like yours that seek to inform the reader of what is rather than those that decry a perceived injustice about what "isn't". Your article offers your reader knowledge towards understanding and affirms the reader's continued enjoyment of gaming on Linux. Thank you.
I would like to see more articles like yours that seek to inform the reader of what is rather than those that decry a perceived injustice about what "isn't". Your article offers your reader knowledge towards understanding and affirms the reader's continued enjoyment of gaming on Linux. Thank you.
0 Likes
Article was updated to include a screenshot from nvidia, a point about the drivers not being the biggest part and an extra link.
1 Likes, Who?
Another aspect is, this will vanish over time.
Hardware is getting more and more powerful, but good games can be played at any time. Even when they are already a few years old (which is a lot regarding the fast paced times nowadays).
E.g. I still like to play Aliens vs Predator (2010). It doesn't perform very well on my desktop (C2Q, GTX670) in wine, but it's running perfect in wine on my new notebook hardware (i7, GTX1070). I would love to have a supported port, even if it would use wine on steam then. Just the requirements would be higher than on Windows.
Nevertheless my desktop is still powerful enough to play Alien: Isolation, Tomb Raider, Mad Max at playable framerates. So I don't see a reason to upgrade my desktop too (especially as the notebook was expensive enough *g*).
So I guess with my new hardware even a port of Batman: Arkham Knight would have been playable.
Nevertheless there is a chicken-egg problem. If ported games have a bad performance (unbearable to play performance), people won't buy them, so devs/porters aren't getting money and won't port more games. Additionally most people prefer to play recent games, and not games which are already half a decade old.
Personally I'm fine with ports of games, which are already finished with their sales on windows. I prefer to get more games ported, and play them later on a newer hardware than having no ports.
And as Feral is doing a really good job in porting, I think the performance discussion is mainly from people looking at benchmark numbers rather than at gameplay fun.
Of course it's a valid argument, but imho it doesn't have as much weight as it seems. Otherwise the SmachZ kickstarter campaign wouldn't be successful. There people already know they won't have the best performance playing games. But it will be enough to enjoy playing them.
Yeah, I see, I should also send some cookies to aspyr, cheese, feral, flibit, icculus, knockout_games, ttimo, etc pp... all the lovely people bringing us the games we long for ;)
Last edited by Corben on 27 October 2016 at 1:19 pm UTC
Hardware is getting more and more powerful, but good games can be played at any time. Even when they are already a few years old (which is a lot regarding the fast paced times nowadays).
E.g. I still like to play Aliens vs Predator (2010). It doesn't perform very well on my desktop (C2Q, GTX670) in wine, but it's running perfect in wine on my new notebook hardware (i7, GTX1070). I would love to have a supported port, even if it would use wine on steam then. Just the requirements would be higher than on Windows.
Nevertheless my desktop is still powerful enough to play Alien: Isolation, Tomb Raider, Mad Max at playable framerates. So I don't see a reason to upgrade my desktop too (especially as the notebook was expensive enough *g*).
So I guess with my new hardware even a port of Batman: Arkham Knight would have been playable.
Nevertheless there is a chicken-egg problem. If ported games have a bad performance (unbearable to play performance), people won't buy them, so devs/porters aren't getting money and won't port more games. Additionally most people prefer to play recent games, and not games which are already half a decade old.
Personally I'm fine with ports of games, which are already finished with their sales on windows. I prefer to get more games ported, and play them later on a newer hardware than having no ports.
And as Feral is doing a really good job in porting, I think the performance discussion is mainly from people looking at benchmark numbers rather than at gameplay fun.
Of course it's a valid argument, but imho it doesn't have as much weight as it seems. Otherwise the SmachZ kickstarter campaign wouldn't be successful. There people already know they won't have the best performance playing games. But it will be enough to enjoy playing them.
Yeah, I see, I should also send some cookies to aspyr, cheese, feral, flibit, icculus, knockout_games, ttimo, etc pp... all the lovely people bringing us the games we long for ;)
Last edited by Corben on 27 October 2016 at 1:19 pm UTC
2 Likes, Who?
See more from me