Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
We do often include affiliate links to earn us some pennies. See more here.

Why Linux games often perform worse than on Windows

By - | Views: 57,839
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.
image
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. Article taken from GamingOnLinux.com.
Tags: Editorial
1 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
63 comments
Page: «5/7»
  Go to:

Alm888 Oct 27, 2016
The big problem is that the number of Linux-aware developers is not growing as fast as the number of Linux-ported games.

Companies such as Feral and Aspyr are basically parasites. Or "middlemen" if that word is very strong for one's taste; it does not matter how to call them. The only thing that counts is what they do: they are flourishing on the current Windows/Linux disparity. They are not interested in increasing the number of Linux developers (why would they slay their "herd" ) and instead milking money from developers' foolishness and ignorance in tools selection and lack of Linux experience.

It was said multiple times that "Larian did a good port of Divinity: Original Sin". But that is untrue. Larian did not make it. Porters did. Larian itself did not acquire any Linux-related experience so their next installment in the series is again Windows-only.

That's just my opinion (as is this "editorial") ) but I think instead of praising porters for bringing half-working "last winter's snow" games which do not matter because everyone interested in them already played under Windows (or on YouTube :-) ), we should encourage actual developers to release games for Linux at launch day.

Sure, that would be near-impossible to convince AAAAAAAAAAAAAAA-developers (sorry, always hated that "big bucks" euphemism) but it is certainly doable for indie devs.


Last edited by Alm888 on 27 October 2016 at 5:20 pm UTC
Purple Library Guy Oct 27, 2016
Quoting: MaCroX95
Quoting: HoriIt's unfortunate that many games perform worse on Linux than Windows but it's to be expected! We're a new platform (in the gaming industry), so it WILL TAKE TIME for developers to get used to it, for the graphics APIs to evolve to support the demand, and for developer tools to evolve as well but mostly to appear in the first place, because many needed tools are simply inexistent here.

I personally am for more ports even if they perform worse... as long as they are playable and, as you said, they offer a good experience. There's no other way!

It will not just take time, it will take PEOPLE and PURCHASES to force developers to do something good for their greedy pockets. If they prduce for a few thousand people they will never even consider Vulkan as they didn't OpenGL for games...
Well, in general I'd agree that for Linux gaming to succeed it's gonna need Linux gamers, a chicken-egg problem we keep hoping Valve will help us break.
But Vulkan is a somewhat different issue--Vulkan isn't only for Linux (as such) it's for things like Android, form factors like phones and tablets. The total market size of the non-Windows platforms Vulkan will run on and be useful to is very large and would be even if the Linux desktop somehow disappeared entirely. So, Vulkan has a good chance of success independent of Linux, and Linux gaming should be able to piggyback on that success.
skinnyraf Oct 27, 2016
After reading some comments I'm surprised we have any games on Linux. "It's not a port, it's a wrapper", "I won't buy anything on Steam, DRM is evil, no GOG=devs don't want my money", "companies specialising in porting are parasites", "the game crashes on my self-compiled install which is tuned for high performance with one hundred obscure compile flags".

Not only we are few, some of Linux users are so self righteous...
sarmad Oct 27, 2016
Vulkan and DX12 should solve all those issues because they are lower level apis.
1- There is no more a need for game-specific driver optimizations. The reason we had those in the first place is because DX11 and GL are higher-level APIs, so game devs can't do low level optimizations themselves and it has to be done by driver developers instead. DX12 and Vulkan are low level already, so game devs can do those optimizations themselves.
2- It's easier to map low level APIs, so porting from DX12 to Vulkan should be easier than from DX11 to GL.
3- Because both Dx12 and Vulkan are low level, low level optimizations done towards DX12 are likely to benefit Vulkan as well.
Alm888 Oct 27, 2016
Quoting: skinnyrafNot only we are few, some of Linux users are so self righteous...

What do you propose? To "eat what has been served", ignore sub-par quality and be thankful?

If you are strongly against "parasites" you can call them "middlemen", "mediators", "agents", "port providers", as I proposed. This won't change their role in the ecosystem.

We are supporting Linux gaming however we see fit. There are no enemies here, no sense in rubbing your opinion into others' minds and call them "self-righteous".
Comandante Ñoñardo Oct 27, 2016
Quoting: Alm888The big problem is that the number of Linux-aware developers is not growing as fast as the number of Linux-ported games.
Agree... We don't have inhouse Linux versions of AAA games (except Metro Last light and the two Metro Redux)...


Quoting: Alm888Companies such as Feral and Aspyr are basically parasites. Or "middlemen" if that word is very strong for one's taste; it does not matter how to call them. The only thing that counts is what they do: they are flourishing on the current Windows/Linux disparity. They are not interested in increasing the number of Linux developers (why would they slay their "herd" ) and instead milking money from developers' foolishness and ignorance in tools selection and lack of Linux experience.
WOW!
I thought my opinion about Feral already was rude, but this is... much technically acurate..


Quoting: Alm888That's just my opinion (as is this "editorial") ) but I think instead of praising porters for bringing half-working "last winter's snow" games which do not matter because everyone interested in them already played under Windows (or on YouTube :-) ), we should encourage actual developers to release games for Linux at launch day.
.
Well thought out.
We need AAA Linux Developers, and not only porters.
In a perfect world, all AAA games will have inhouse Linux version on day1, and porter companies will cease to exist.


Quoting: Beamboom
QuoteA small part of the blame also lies in games that are ported from Windows to Linux after the original release.


Dude, this is not just a small part. It is a major part. As a rule of thumb, ports always perform lesser than the game on the platform it were developed. Ports are, generally speaking, not something we want (it's just that for us Linux gamers currently the only realistic alternative is much worse: Wrappers).

I agree 100000%

Windows games like Bioshock remastered and Batman Arkham Knight had so bad performance because of this...

And this is why the Linux version of Batman Arkham knight was so bad that Warner decided to cancel it, instead of Orbis--»Linux, it was Orbis--»crappy Windows port--»Linux

I remember the 90's, when I did xerox copies from xerox copies of school books... The quality was horrible.


Quoting: BeamboomWe don't really want ports. We want games designed for our platform during development.

For that, as mentioned above, We need Linux DEVs.. or use the croudfunding and start our own Dev Studio..
Alm888 Oct 27, 2016
Quoting: Comandante ÑoñardoI thought my opinion about Feral already was rude, but this is... much technically acurate..

Well, it is not that they are outright bad for us. One can see it as some sort of symbiosis. But it is a big fallacy to think that we are obliged to them for our games.

Currently we are (to my delight) past the mark of "I can buy all of the Linux games" point so one must distribute resources.

Developers make games, not porters, so they should be our primary targets of persuasion and support.


Last edited by Alm888 on 27 October 2016 at 6:57 pm UTC
skinnyraf Oct 27, 2016
Quoting: Alm888What do you propose? To "eat what has been served", ignore sub-par quality and be thankful?

No, we shouldn't, but sub-par quality is not Feral's or Aspyr's fault. In most cases it's not "Feral's port or a game developed for Linux". In most cases it's "Feral's port or Wine or dual booting or no game".

Quoting: Alm888If you are strongly against "parasites" you can call them "middlemen", "mediators", "agents", "port providers", as I proposed. This won't change their role in the ecosystem.

We are supporting Linux gaming however we see fit. There are no enemies here, no sense in rubbing your opinion into others' minds and call them "self-righteous".

So you object to "self-righteous" and yet use "parasite"?

If Feral are parasites, then doctors are parasites, car mechanics are parasites, hell, even tailors are parasites, milking money from people's lack of experience in making clothes. All these people are "middlemen".

Feral is answering a need. Linux gamers want to play. Companies don't want to develop for Linux. Comes Feral, Linux gamers can play, companies don't have to develop for Linux, Feral makes money. Sure, if companies start developing for Linux, Feral and Aspyr will have no place in the market (or they'll be back to porting for Mac). But this will be their success, partially.

If Feral's Mad Max or Deus Ex sells despite 20% performance hit, sooner or later one or another developer studio will start developing for Linux, then another. If Feral flops, we'll be limited to playing pixelart games - not that they are bad, but in 2016 I'd expect some state-of-the-art games available for my platform of choice too. And Feral will flop if we don't buy their games because they're parasites, or because games are on Steam only, or because they use D3D->OGL translation.

Disclaimer: I don't suggest buying games to support Feral either. I am not going to buy Tomb Raider, it's not my game. If a port is truly poor, but I still want to play the game, like the Witcher 2, I'll buy it at a deeeeep discount and probably 2-3 years after release of the port. But if the game runs fine on my gear, why not buy it and thank Feral or Aspyr?


Last edited by skinnyraf on 27 October 2016 at 7:11 pm UTC
tuubi Oct 27, 2016
View PC info
  • Supporter
Quoting: liamdawe
Quoting: tuubiYour comment about multithreading is also basically true, but the implementation is different enough that an engine designed with D3D in mind won't be able to take advantage without some serious refactoring. It also requires equally serious OpenGL expertise, and that's pretty rare in the industry.
Curious, why has one of the major features of Vulkan been touted as multithreading, if OpenGL already had it? As far as I knew, OpenGL didn't really do it, which is why Vulkan can spread things across your cores nicely.

We've seen plenty of videos showing this, where OpenGL is locked down to one core.
While thought has been put into parallelism in the later OpenGL versions (I think 4.3+, maybe?) and some modern vendor extensions, it is certainly limited and hard to use. Also due to driver issues the result might or might not work or might be slower on some vendors' GPU's. You know how messy this is. But basically there's almost always some stuff the graphics engine could be doing on additional cores and if it isn't, threading in general being really hard to do is a more likely roadblock than the API itself.

In the end you need Vulkan/DX12/Metal to make optimal use of your CPU cores, with some (hardware) limitations still.
Alm888 Oct 27, 2016
Quoting: skinnyrafFeral is answering a need.

Yes. "Need"... How appropriate for the case! As greedy water traders selling spoiled water droplets to thristy people in the desert for a steep price. Beggars can not be choosers.

Quoting: skinnyrafIf Feral's Mad Max or Deus Ex sells despite 20% performance hit, sooner or later one or another developer studio will start developing for Linux, then another.

Why would they? If they can sell outdated products for extra amount of cach while virtually doing nothing (everything in the technical aspect is being handled by porters) then why would they break their workflow and hire extra dedicated Linux programmers or teach Linux existing ones, replace game engines or plugins, enlarge their QA department and burden themselves with support for another platform?

Quoting: skinnyrafAnd Feral will flop if we don't buy their games because they're parasites, or because games are on Steam only, or because they use D3D->OGL translation.

And if Feral flops that will be Feral's problem, not AAAAAAA-developer's. I believe, AAAAAAA-developers just grant the right to tinker with the game's code and release the port (and to gain some fraction of the money from the port's sales). Developers do not risk anything, do not spend anything and do not care about anything.
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.