You can sign up to get a daily email of our articles, see the Mailing List page!

Why The Porting Method Doesn't Matter For Linux Games

Posted by , | Views: 18,702
So, I've already talked at length about "bad ports" and why I thought the toolkit used to port games to Linux matters. Now I'm here again to talk about why it actually doesn't matter and why we need to accept that in the end.

The first thing to note is that I feel like my mind has done a complete turn-around on games being ported to Linux that aren't "native". Native ports are great yes that's true of course, but I doubt we will ever have every developer and publisher on board with that. Publishers & Developers are in it for the money, no matter what they say if they didn't sell well they would be in trouble and wouldn't be able to continue, time is also money and time-saving for a tiny platform where they are likely to see ~5% of their sales from will probably look appealing.
So, for those developers & publishers what would be so bad about them using something like Wine?

If they used an open source technology like Wine and contributed a bug-fix here and there to make sure their game works then surly that's better for the Linux gaming ecosystem as a whole than not having a game at all? We then have a game and a less-buggy version Wine for everyone.

The problem with The Witcher 2 is that the toolkit it used is very new on Linux and untested by the masses. Once it gets fixed up somewhat (and I am hoping it does) then it will become more useful and the games using it will get better performance thus making way for more games using it. It certainly looks like Virtual Programming are working on it as since the Linux release there has been a few new builds of the "vp_beta" branch, so patches will come soon hopefully. If they can suddenly make me go from 10FPS to a reasonable amount and it becomes playable, then will it bother me any more? Probably not.

If the game is using eON, Wine, DosBox, and it works for you, why does it matter? It doesn't since it works and isn't a working game what you want? If it doesn't work then report the bugs, don't get up-in-arms about it as bugs just happen and treat it as you would any other software.

I recently guest talked on Jupiter Broadcasting's LINUX Unplugged Episode 42, if you listen to it be mindful that was my first live cast ever!

I think Alan Pope from Canonical said it best after I had my section:
QuoteI don't care what technology enables it, so long as it works and it depresses me that the Linux community is happy to file a bug like their keyboard or mouse not working to their distro, but when a developer of a game comes along and uses a 3rd party enabler to make their game work on Linux rather than file a bug and say "your game doesn't work very well on my platform" they go full-bore hassling the person on Steam, and I think that's the wrong way.


Those are some really wise words and they sunk into me that's for sure. I've seen reports from people actually stating Windows games ran in Wine have at times worked better for them on Linux than they did in Windows and hearing that has actually become more common.

If you are on the thought process of "wine is often buggy and unreliable", well that's thinking from the point of view that you have purchased a Windows game and have to tweak everything about Wine to fit it. This is the developer doing all that work for you so that the game works without an issue.

When GOG.com comes along and brings with it games using DosBox will anyone get annoyed about that? I doubt it if I remember correctly masses of people were excited about that, and I feel the same applies here really. If it works, it works. If it doesn't file bugs, don't be rude and don't carry on the bad reputation Linux gamers already seem to have.

I will always support developers who go the native route more of course, but if it works using something else and sets a precedent for that developer & publisher to go native in the future then that's bloody fantastic.

If you still feel that strongly about refusing ports that aren't "100% native" then vote with your wallet and not a loud mouth that attacks developers and shuns them for even trying, they might never return to our platform keeping us in the limbo of "but x game isn't on Linux!".

The situation is going to improve over time, Source engine 2 from Valve is going OpenGL native, Unreal Engine 4+ is native and more. It's a time to be happy to be a Linux gamer and support those who try rather than ignore our platform don't you think? Article taken from GamingOnLinux.com.
0 Likes
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG, Humble Store and Paradox Interactive. See more information here.
The comments on this article are closed.
45 comments
Page: 1/5»
  Go to:

Maquis196 28 May 2014 at 2:00 pm UTC
I think performance and reliability matter more to the end user. Many of us would want 100% native, of course we would.

I recall playing Transgaming version of the Sims when that came out and that played pretty darn well imho, and that was wrapped around winex iirc, when you dont have problems, you dont focus on whats under the bonnet so to speak.

If the Witcher 2 played as well on Linux as the Valve games do then this article probably wouldn't exist.

Bottom line, lets get as many games as possible now, once we hit a certain threshold, all new games should be cross platfrom from the word go. Then we can enjoy a better future.

Next up, how to convince EA to release the source code for Linux version of Alpha Centauri so we can make it better
liamdawe 28 May 2014 at 2:02 pm UTC
It's also the matter of convenience of not having two Steam installs for example, one in wine and one not. So many good reason to have developers use it over having no port.
Morgawr 28 May 2014 at 2:08 pm UTC
I like companies that support Wine as a Linux alternative, for example GGG with Path of Exile. Path of Exile works excellently on Wine aside from the problem of hlsl -> glsl shaders causing a lot of stuttering on non-nvidia cards (because AMD/intel cards apparently can't deal with on-the-fly translation well). And yet, the developers have an official wine thread on their forums and answer questions and fix bugs when their updates break Wine. They don't actively spend resources on a Wine port (regrettably), but yet recognize Wine as an almost first-class platform.

Better this way than no game whatsoever... although a native port is always great.
Guest 28 May 2014 at 2:10 pm UTC
Using wrappers like Mono and Valves DX to GL calls is a far superior way of dealing with ports than using Wine.

Wine is reverse engineering of closed source libraries. If you rely on that for your game to run, you are going to have a bad time.Not to mention Wine, even in "bottle" format, requires a much larger overhead than almost any other compatibility layer. You are saying, "I need all of the Windows compatibility to run this one library which I'm using".

QuoteI've seen reports from people actually stating Windows games ran in Wine have at times worked better for them on Linux than they did in Windows and hearing that has actually become more common.

Source? With a properly configured Windows XP or Windows 7 install (on the exact same hardware) I have *never* had this. Many games run okay in Wine now, thanks to the countless number of man hours invested in the Wine project from individuals, for free (and some not for free, but companies paying people to develop open source projects is a different matter entirely).

The issue isn't with the intended implementation, but with the attitude surrounding it.

If developers to continue to use closed source products like Direct X, you are essentially allowing companies like Microsoft to continue to control who can and can't access said products. This conflicts (not completely though, of course) with the general principals behind Linux and has potential to cause serious abandonment of alternative open source projects. If a developer can cop out and use DX, why wouldn't they?

This issue seems to be almost entirely driven by two groups of people, gamers and those like Canocial.

I don't know about anyone else, but I didn't switch to Linux just because I have a tight wallet. I come from a gaming heavy background, and this has moved to Linux. But I would rather keep my principles and never play a (computer) game again than give them up to play the latest CoD.

For the sake of programming slack, I don't see any reason to say this is acceptable; though berating a developer because they do not want to support your platform of choice is equally not acceptable.
liamdawe 28 May 2014 at 2:12 pm UTC
There isn't a single source for that wine performance note, it is something I have observed from a fair few people. To me personally I ran Starcraft 2 under Wine for many months and played it to death without a single issue and performance as far as I could tell was exactly the same as Windows 7.
Guest 28 May 2014 at 2:17 pm UTC
liamdaweThere isn't a single source for that wine performance note, it is something I have observed from a fair few people. To me personally I ran Starcraft 2 under Wine for many months and played it to death without a single issue and performance as far as I could tell was exactly the same as Windows 7.

Don't get me wrong, I'm not saying there aren't games that run fine -- I have been playing EvE Online for over 7 years and most of that has been via Wine. The Linux port was a crappy Wine wrapper and they eventually said it was to much hassle and it ran better in straight Wine anyway. (Edit: Although captains quarters is *still* broken due to the Aurora engine libraries being neigh on impenetrable and the developers not caring).

However, this is not the case in the vast majority of cases and it's unlikely to ever be because of the nature of Wine. Reverse engineering is never going to hit spot on and developers need to realise what they are relying on when they do this.

I'd much rather 10 games were ported to Linux properly (either using cross platform libraries and just recompiling, or using translation layers like Mono) than 1000 ported terribly using substandard methods and poor attitudes.
Cheeseness 28 May 2014 at 2:33 pm UTC
Really nice to see this turnaround, Liam!


One comment regarding Wine - it contains a lot of workarounds which are designed to replicate particular behaviours of particular Windows versions or to enable a particular game to do a particular thing.

The end result is a hugely impressive piece of work that allows us to run most Windows apps, but from the perspective of providing support for one game, there's a fair bit of non-relevant cruft in there. Stuff like eON has the potential to be more targeted, more streamlined and more performant (that it isn't at the moment is disappointing, but not so relevant).

It also seems like a huge balancing act to keep regressions out and Wine as a platform stable, and it's not guaranteed that modifications to Wine made by developers to benefit their own application will necessarily be mergeable. Though there are submission guidelines, coding practice guidelines, unit tests and automated test services to make that easier, not all devs/porters (although this sort of thing is more packaging than porting IMO) will be in a position to focus on them if they also have a game to ship.


It's OK to be disappointed by a bad port, and it's OK to want a refund, but there's no reason or value in being rude about that. Make sure that what's wrong is being communicated back to developers so that they can make fixes and/or avoid making the same mistakes in the future. If they choose not to, then they'll eventually wind up not being able to make money. If we choose to not give proper feedback, then there's no chance that they'll receive it.

The alternative is that comments like, "let this be your one, and only venture into the world of Linux," end up being the only voice out there (in the context of The Witcher 2, that would probably also mean no Linux support from GOG).
FutureSuture 28 May 2014 at 2:40 pm UTC
View PC info
  • Contributing Editor
edgleyUsing wrappers like Mono and Valves DX to GL calls is a far superior way of dealing with ports than using Wine.

Wine is reverse engineering of closed source libraries. If you rely on that for your game to run, you are going to have a bad time.Not to mention Wine, even in "bottle" format, requires a much larger overhead than almost any other compatibility layer. You are saying, "I need all of the Windows compatibility to run this one library which I'm using".
QuoteI've seen reports from people actually stating Windows games ran in Wine have at times worked better for them on Linux than they did in Windows and hearing that has actually become more common.

Source? With a properly configured Windows XP or Windows 7 install (on the exact same hardware) I have *never* had this. Many games run okay in Wine now, thanks to the countless number of man hours invested in the Wine project from individuals, for free (and some not for free, but companies paying people to develop open source projects is a different matter entirely).

The issue isn't with the intended implementation, but with the attitude surrounding it.

If developers to continue to use closed source products like Direct X, you are essentially allowing companies like Microsoft to continue to control who can and can't access said products. This conflicts (not completely though, of course) with the general principals behind Linux and has potential to cause serious abandonment of alternative open source projects. If a developer can cop out and use DX, why wouldn't they?

This issue seems to be almost entirely driven by two groups of people, gamers and those like Canocial.

I don't know about anyone else, but I didn't switch to Linux just because I have a tight wallet. I come from a gaming heavy background, and this has moved to Linux. But I would rather keep my principles and never play a (computer) game again than give them up to play the latest CoD.

For the sake of programming slack, I don't see any reason to say this is acceptable; though berating a developer because they do not want to support your platform of choice is equally not acceptable.
I do hope that whoever GOG hires can make that clear to GOG as well.
Skully 28 May 2014 at 2:43 pm UTC
There is a MASSIVE difference between accepting games that use dosbox, and games that use a wrapper.

Without dosbox, no one can play those games any more at all. Everyone gets the same deal for their money. The games are also crazy old and performance is non-issue.

With wrappers tho, windows users are clearly getting a better deal for their money. First class support/optimization ending in clearly a better overall experience. Maybe, just maybe it would be acceptable if they sell it that way for 75% off the windows price, since at best we would get 75% the experience. Wine devs themselves state that you can expect 50% performance in wine.

LINK - http://www.phoronix.com/scan.php?page=news_item&px=MTU5MjA

Stefan Dösinger is one of the CodeWeavers employees largely responsible for the graphics work in Wine.
QUOTE - In general on a dual-core machine running Wine you can expect about 50% performance under Linux with Wine compared to directly running Windows, but it's largely dependent on the actual game and driver. When using the NVIDIA binary Linux driver you can more likely expect around 60% the performance of Windows or if using the open-source Radeon driver there is a 30~40% performance expectation. - QUOTE

Soo should you pay full price for that???????????????????????? really???????????

At least no one has managed to make a wrapper for dx10 or dx11. So newer games ain't gunna get wrapped.

EDIT: Don't get sucked in Liam, or your site will end up slideshowgamingonlinux.com

All this does is undermine all we have gained in the last year or so, you really want to go back in time where we winemulate everything again, but just don't have to set the wine bottle up ourselves??
Anonymous 28 May 2014 at 3:00 pm UTC
Good article and fine addition to the discussion.

Let us be grateful for the contributions to our platform. Wither 2 looks like a great contribution.

Publishers should not release too buggy games, for whatever reason. People will be annoyed if they buy something that does not work, or performes under par.

We should ask for native versions of good games. But lets be polite. We should also ask for rewrites of good old(er) games for the sake of utilizing new and better hardware for better experiences.

Question. I have a system. Linux 3.14, hd6970 running catalyst driver 14.10, opengl 4.4. Should I buy Witcher 2 or wait?
  Go to:
While you're here, please consider supporting GamingOnLinux on Patreon, Liberapay or Paypal. We have no adverts, no paywalls, no timed exclusive articles. Just 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!
Livestreams & Videos
Community Livestreams
See more!
Popular this week
View by Category
Contact
Latest Comments
Latest Forum Posts