Hacker News new | ask | show | jobs
by rkido 2724 days ago
Linux is the perpetual scapegoat.

They selected a middleware, Coherent UI, that didn't work properly on anything but Windows. They also didn't make proper use of the Steam runtime, a mistake that continues to cause issues. Most games don't make these mistakes, so this isn't really representative of the larger state of Linux gaming.

It's worth pointing out that the devs did make a legitimately good attempt at making Linux/Mac support first class, by making a purely OpenGL engine for the game. But it seems they weren't aware of some other best practices.

7 comments

Technically speaking I'm sure you're right. In practice it doesn't really matter though, if they did it that way it's either because it was easier or because that's the way they were used to doing it. The fact that "technically" it's not Linux's fault doesn't really matter, unless you're more interested in the moral concept of guilt rather that the practicalities of making a Linux port of a game.

Why should they change the way they develop games for 0.1% of their sales? So that they'd get kudo "clean code" points from people on HN? Most for-profit software cares very little about that, and for good reasons.

Gaming on Linux sucks because Linux is not popular for gaming. Linux is not popular for gaming because gaming on Linux sucks. That's the root of the issue.

> Technically speaking I'm sure you're right. In practice it doesn't really matter though

I think the details matter because they're relevant to how we as a developer / customer community move forward.

If the GP is correct, then the pain felt by these particular devs might not be a sign that targeting Linux is in general a bad idea. For example, we might help future projects be successful simply by spreading awareness of techniques known to make it easier to target Linux / SteamOS.

Regarding the 0.1% of sales issue, perhaps some of that number's smallness comes from a bootstrapping problem. I.e., there's a vicious cycle of: (bad drivers) --> (game is crashy) --> (poor sales) --> (gfx card vendors not motivated to improve drivers) --> (bad drivers) --> ...

I don't think there's much an individual game dev shop can do to break that cycle, but perhaps it's still useful to understand the problem.

Have you not seen Steam Play these last few months? Because of Proton the majority of the top 250 highest rated games now run fine on Linux.

I've been playing Skyrim, Witcher 3, Dark Souls 3, Castle Crashers, Overwatch, Heroes of the Storm, etc all of which are Windows-only but now WINE is so good it runs like it's native.

Linux gaming doesn't suck anymore and it's coming to eat Windows lunch. Check out ProtonDB to see compatibility with your favourite games and the Linux gaming subreddit for more news.

You know WINE exists 25 years though. During this time, Windows still has 95% market share ( https://store.steampowered.com/hwsurvey )

You could also think that, because of WINE, Windows is first class and then they check Linux with Wine.

Depends on the perspective.

PS. Yes, steam detects Wine

Sure, my point is though that it's only in the past few months when Proton was released that the compatibility was good enough it actually mattered to game developers and players.

By making Linux compatible with Windows games it gets rid of that objection "I'd move to Linux if it weren't for my games" which was the remaining objection for a LOT of people.

Because Steam tracks WINE that's a very good thing, so they can detect players who bought their games to play it on Linux.

This helps encourage Linux native gaming growth, because developers can see the chunk of Linux players rising as more get rid of Windows because they no longer have that remaining obstacle.

I'm not sure that this does encourage native Linux game development. Why bother putting in the porting work for 0.1% of potential users when someone else might do the work for me via Wine/Proton.
I used to think the same way about native first and forcing devs to adopt Linux. The whole "No Tux, no bucks" thing (which has had pretty much zero impact since it's not enough bucks). But, over the years, and especially with Proton being so good with Steam, I've completely switched. If Linux gaming is to be a thing, then there needs to be an adoption first perspective.

So, yeah... maybe that means most devs will just say "my Linux support is just it runs on Proton probably, good luck!" but the thing is... there are games on Linux now. Lots of them. Lots of good ones. I was playing The Witness last night by just pushing play on Steam. No winecfg or winetools or separate DriveC Steam installation. No messing with drivers. I pressed play, the game loaded, I played it. I've repeated this loop in the last few months with most of the games in my library. Endless Legend is back in my rotation again. All of the dumb anime Japanese games where they don't even know Linux is a thing that exists suddenly work. It's glorious.

Wine/Proton may be the lazy way to develop for Linux and might not give people the coveted title of Linux exclusive gamer, but it's working really well if all you care about is playing games and not installing Windows.

Compatibility is a stepping stone to increasing the 0.8% (actual numbers) Linux population on Steam to higher numbers. If 2% or even 10% of users were Linux-based then developers would have second thoughts about choosing DirectX over Vulkan for example when it makes it more difficult for them to reach those customers.

Also the "no tux no bucks" philosophy many Linux users take in avoiding paying for non-native games.

> Have you not seen Steam Play these last few months? Because of Proton the majority of the top 250 highest rated games now run fine on Linux.

Whilst this is cool I think it may also, sadly, be commercially irrelevant. Why bother worrying about Linux compatibility when only a tiny (i.e., somewhere between 0% and 1%) number of players/purchasers will run your game on Linux?

Perhaps because you will earn way way more money by making your game cross platform given the 3 consoles and 3 pc platforms that exist and once you have committed to such linux support might only take 1% of your effort.
Correct. If your game can't cope with Linux "fragmentation" (most of which is already abstracted away by Steam, so the remaining "fragmentation" is with hardware, which is the same problem you have with Windows), then you're in for a world of hurt if you try to port to a console with its far-from-ordinary hardware and programming APIs and such.
Porting to consoles is much easier than Linux, as each console is a very fixed platform. In my (limited) experience, middleware like Unity works better on consoles than it does on Linux.
Why should I get excited about decent compatibility when I can stick with perfect compatibility? Linux gaming doesn't suck compared to linux gaming 5 years ago. It's still crap compared to Windows.
You’re coming at this from the perspective of someone who wants to set up a PC primarily in order to play games, and probably wants to try out every game under the sun. Of course, you’ll install Windows.

Try instead coming at the question from the perspective of someone who already has a Linux workstation (e.g. for work) and wants to do as little as possible in order to play a few games—maybe the ones their friends are trying to get them to play as a member of a team. Windows isn’t worth it here: you wouldn’t use it for anything else (so every time you boot into it, you probably have to spend two hours installing updates), and booting into Windows would also prevent you from multitasking to the Linux apps you rely on. Compatibility shims, if decent, are far more interesting to this audience.

People who own a Linux workstation at home and just want to play a few games is vastly outnumbered by people who own a Windows desktop at hone and just want to play a few games. Probably at least 100 to 1. And the former group, with the “almost works” compatibility, will be a much bigger maintenance burden per customer.

Heck, I’d bet money that the Linux casual gaming crowd you described is also heavily outnumbered by people who have a dedicated Windows gaming PC (e.g. me, Mac user otherwise).

You're neglecting the crowd that have Windows at home and want to stop using it also. If gamers can have the exact same UX on Linux then that's one of the biggest obstacles to switching solved.
"People who own a Linux workstation at home and just want to play a few games" make up a disproportionately large amount of the developer-base for pretty much any software, though, including games. It doesn't matter if none of your users care about a particular feature, if a fair number of your own devs do.
In my case, it's because it removes the one thing left that tempts me back toward Windows. I'm significantly more productive on a proper Unix-like OS (like Linux), and it's wonderful to not have to dual-boot or maintain a second PC if I want to take a break and fire up some game or other. Between the native ports and the growing library of reasonably-Proton-compatible games, I feel that pull less and less.
> Have you not seen Steam Play these last few months? Because of Proton the majority of the top 250 highest rated games now run fine on Linux.

Put me in the skeptical camp, I've been hearing the same line with wine support for nearly 2 decades and never found it to be remotely true.

I've had enough trouble getting the actual linux supported games to work. Some work with gnome+wayland, others only work in gnome+xorg, some silently fail, some just freeze, open source AMD drivers still crash the whole machine, etc.

Proton only got announced in the past few months. You can view on ProtonDB reports from actual users and what drivers/hardware they use.
Linux Gaming might not suck anymore but all combinations of Linux the desktop operating system, that I tried certainly do. Both windows 10 and macOS are so much nicer, more stable and consistent that it is not even funny. Just the other day installing a pip package froze Firefox on Ubuntu for >30 seconds.

That is especially true if you are forced to use professionally maintained Linux without root access.

> Check out ProtonDB

You almost convinced me so I checked out ProtonDB, and found out you're overstating things.

Only 50% of games are rated "gold+", and most of those are native Linux versions. Most Windows-only games have issues.

https://www.protondb.com/

The moral concept of guilt is uninteresting here.

Developing for any platform requires a degree of competence and research. The fact that lots of engines are themselves cross platform doesn't in fact mean that linux support is a box you can tick with no further effort it means that it is a lot less effort.

I think the take away is that their life sucked because they were ill prepared and not just ill prepared to develop for Linux by all accounts. We could do well to maintain comprehensive and evolving info on the current best practices of developing on this platform and importantly pro mote them so as many as possible are educated.

Incidentally honestly I don't think gaming on linux sucks. There are an absolute ton of games available. I tend to buy humble bundles and steam sales and I presently have about 10 I haven't even played yet. Maybe I would feel differently if games were the primary use of my computer. I don't need every possible game to be ported to gave a good gaming experience on Linux. I just need there to be more games than I can possibly play.

> Technically speaking I'm sure you're right. In practice it doesn't really matter though, if they did it that way it's either because it was easier or because that's the way they were used to doing it.

Yes but then the question is, why did they even bother? If GP is right that they picked a middleware that is known to only work properly on Windows, that pretty much means they decided to fuck themselves right from the start. I agree that generally, properly targeting Linux is harder for multiple reasons, but if you want to go multiplatform, make sure you build on a solid foundation.

But it's very relevant. Steam provides a runtime so developers have a stable foundation across several distros.

If you fail to use their runtime properly, you're doomed to suffer from Linux fragmentation problems.

> In practice it doesn't really matter though

It does matter unless you just want linux to perfectly emulate windows APIs you will always have to do work to port to a different platform. Choosing the wrong tools for the job and then blaming the platform is just bad engineering.

I don't bitch about how hard it is to assembly my desk because it requires a socket wrench when my last piece of furniture only required a screwdriver and that's all I own.

Counterpoint: There's a reason IKEA packs Allen wrenches into everything it sells.
Shipping games as live DVDs is an elegant...ish... solution:)
FWIW I've been doing all my pc gaming from Linux the last few months. (Before that there was a bit back and forth - sometimes CSGO on my machine was best on Linux, other times on Windows bit now I haven't booted Windows for gaming since lste summer or something. And for me the convenience of KDE makes me stay for work as well.)
Any multimedia on Linux sucks these days. I honestly think it's regressed from the days of running mplayer in a terminal. I can't watch a video in a browser without horrible screen tearing or general performance issues. It seems the poor quality of graphic drivers and X interaction are the underlying problem.
> Why should they change the way they develop games for 0.1% of their sales?

Your last paragraph provides the most important reason.

By changing the way they develop, they will increase their customer base.

It is relevent in this context, because other developers know they can avoid the said issues if they do things a little bit differently.
> Why should they change the way they develop games for 0.1% of their sales?

Have you seen how tight the gaming market has become? You need a niche to get any attention. Coming out with a truly cross platform game that has Linux as a first class citizen would buy tremendous free publicity. It would be on the front page here a lone, a site with an enormous audience at minimum once a quarter. It would appear in countless tech related subreddits, twitter hacker-verse would take off. The “maker culture” would adopt it as its son or daughter.

Sounds like a tremendous opportunity.

We are not representative of the culture but we are hackers and developers and eventually one spark is all you need to start a fire. I have the perception that gamers are dying to get off of Windows, but I could be wrong, I certainly was when I was a gamer.

I've been in games and game middleware (including in many cases with Linux support) for fifteen years and I have never once seen this happen. Generally there is a tremendous amount of commentary like this from Linux folks and the port neither gets meaningful (or profitable) publicity nor sales that outstrip support. This comment is the stereotypical Linux game post.

When supporting a platform can mean debugging and submitting patches for a users graphics drivers in exchange for a shockingly low conversion rate, it's an easy no for me.

PS I built and maintain an Enterprise AWS GPU app on Ubuntu and the platform is great. But it was very non trivial to get working.

PPS if you spend less than $150/yr combined on all software purchases (including mobile/console) please don't make a case for Linux gaming. TuxRacer is your apotheosis.

> This comment is the stereotypical Linux game post.

I have absolutely no affinity for linux. My times spent twiddling with settings, packages, and getting drivers to work are long behind me. I have been exclusively Mac for almost a decade now, so I am in no way shape or form a "linux gaming homer" I could care less, but I am an opportunist, and I do see an opportunity now (and not 15 years ago)

> I've been in games and game middleware (including in many cases with Linux support) for fifteen years and I have never once seen this happen.

Yes, 15 years ago, Windows 10, with all it's privacy intrusions basically being a spyware OS didn't exist. A Steve Job-less Apple, doubling down on it's disdain for OpenGL and gaming in general at Apple didn't exist (see relevant John Carmack posts). And forgive me, but I would be willing to bet we didn't hear about it your game because I was specific when saying "first class citizen" meaning the game worked just as well on Linux as it did Windows. If you achieved that and still got no publicity I would be shocked. All you would need is one popular twitch streamer streaming Fornite (which also didn't exist 15 years ago, and wasn't pervasive until recently) on Linux or some similar big title and you would have a spark.

I have seen this claim many times, but wonder about it's validity.

It's easy to think that a truly cross platform game that has Linux as a first class citizen would make a lot of stir. But I used to play Heroes of Newerth years ago when Linux support were way worse than today. I also read HN then.

I never saw any special treatment for that even tho I loved the game and it worked really, really good on linux.

Searching on algolia just proves my point: https://hn.algolia.com/?query=heroes%20of%20newerth&sort=byP...

I simply do not buy the story that just because you release it on Linux, have good linux support etc it will spread like wildfire.

S2Games, which made HoN, made a superior MOBA imo but none of my friends play it anymore. They play Dota2 tho. I think the reality of the situation is that no one cares about if a game run on linux or not except extreme nerds that would never use Windows and go through the daily struggle that is desktop Linux.

I used to be one of them, nowadays I only use Windows.

Unreal Tournament 2004 was cross-platform Windows/Mac/Linux in 2004. But like this post indicates, the tech support headache isn’t worth it, so these days you can only get the Windows version on Steam despite the cross-platform binaries existing somewhere in Epic’s (back then still Epic MegaGames) vault.
Can you still run UT2004 on the current version of, say, Ubuntu?
>daily struggle that is desktop Linux

lol what year is this? 1999?

but I agree with the rest of your points

Every time someone mentions not using Linux Desktop because they had a lot of issues, someone like you comes out of the woodwork and pretends that Linux doesn't have issues anymore.

Maybe that's yet another reason people don't switch to Linux: the evangelists are annoying and untrustworthy.

> Every time someone mentions not using Linux Desktop because they had a lot of issues, someone like you comes out of the woodwork and pretends that Linux doesn't have issues anymore.

Did someone call me? Jokes aside, as a person using Linux (95% of the time, for ~15 years or so), I can honestly tell that Linux has its fair share of problems. However, for some time, the problems I experience are not more frequent than Macs that I have or the Windows PCs of my family members.

Is Linux perfect? No way. Did it improve over the years? Yes, tremendously. Also, I can say that advanced desktops like KDE can do very nice things for automation and productivity. I'm currently happy about the state of Linux, but it doesn't mean its perfect or the very very best.

No, it is 2019 and my Linux Netbook still lacks hardware accelerated video decoding and OpenGL 4.0 support, although the card is a DirectX 11 compatible one.
Well yeah, it is of course much better today I believe. But I wouldn't be surprised if you still have to spend hours in trying to configure stuff if you have the wrong hardware.

Misunderstand me right, it's still mostly on laptops I have experienced issues. On a stationary computer you just get a performance drop, at least for most graphics cards.

I think it's great that it has improved so much and I hope it will continue to improve so that sometime in the future I can return to the promised land.

Tried installing Linux on MBP last month. Ran away screaming after 30+ hours of dealing with drivers issues. I do this every couple of years, hoping that finally THIS time I can get off Windows. Next attempt will be circa about 2021 probably.
Try this is an exercise instead pick a random dell. Attempt to install OSX on it. Post about how huge a hassle this was and how the end result was a non functioning brick and OSX still isn't ready.

If you google computer model linux. If the result is 17 pages of results about how it didn't work you may want to try a different model.

Generally how well your machine is supported is a function of how hostile your oem is towards openness, how different from existing hardware your machine is, how common it is, and how much time people have had to add support.

Current macs aren't well supported. Supporting all hardware under the sun is a Sisyphean task and ultimately an unimportant one. For Linux to be useful it doesn't have to support all possible machines just a good range of hardware.

> Linux on MBP

Well there's your problem. The companies that make the custom hardware that Apple uses in their laptops refuse to release driver support for Linux for basically the same reasons as the writer of this Tweet. Whether the fault for this is on Apple or the manufacturers is up for debate, but driver compatibility with Apple's laptops and anything but macOS has always been a crapshoot and only became decent for Windows in the last few years.

Note: This is coming from an Apple fan who has been wanting to try out dual booting a Linux distro or one of the BSDs but has watched support tickets get answered with "testing MBP drivers on Linux isn't worth our time" from multiple OEMs.

Installing linux on a Mac is your problem. Macs are notoriously a huge pain when it comes to linux compatibility. Tbh even windows isn't that great on a Mac...I'd just stick to OSX on a mac.

When it came time to replace my old macbook air, I got a dell xps 13 and linux works great on that. All of the hardware works out of the box without having to do anything with drivers.

Why not use OS X on an MBP, or Linux on a generic x86 machine? I'm not clear on why this is the only route to get you off of Windows.
Running Linux on new hardware is usually a bad idea, due to the nature of the process you have to expect at least a year before divers for new hardware have settled into distributions.

Then things should be pretty sweet for quite a while. Unless your hardware is really poplar, things will bitrot away eventually, but expect a 5-10 year sweet spot where everything should just work out of the box.

dota 2 works on linux though. ;)
> Coming out with a truly cross platform game that has Linux as a first class citizen would buy tremendous free publicity

It does not. Take a look at the Steam games supporting Linux. There's thousands of them, it's not special.

> would buy tremendous free publicity.

That would not buy food on the table. Most money comes from Windows and what games should be optimized for.

See r/choosingbeggars for more entertaining stories on the "value" of "publicity".

Choosing beggars literally think that publicity is payment enough. Linux gamers PAY.

Really a big difference.

> Coming out with a truly cross platform game that has Linux as a first class citizen would buy tremendous free publicity.

This particular game (Planetary Annihilation) was designed with Linux support in mind from the very beginning; as the person who wrote the tweets notes, he and numerous others within the company were huge proponents of supporting Linux. As events proved, it didn't work out for them.

They later admitted they overstated this issue and that their problems were self caused.
You're either underestimating revenue from Windows purchases or overvaluing that publicity bonus. There are already a lot of indie games with Linux support, and triple A developments already sell millions of copies. If that added publicity made another 1000 people buy the game, it still won't be a financially sounds decision.

Heck, I'm mostly on Linux but boot into Windows for gaming... I'd probably continue to do so, even if the games were released for Linux just for that extra performance and significantly less chance too run into an obscure issue with my setup.

win10 really messed things up with the SAAS and telemetry, and integrated update rollups.

the thing is microsoft really painted themselves into a corner. ya see windows was made for all sorts of skullduggery to occur , this was supposed to be a boon for MS but they punched so many holes in W32 that it was secure as a sieve, I know this first hand as i have spent a major amount of time decompiling and snooping through the binaries. the file structures in a windows OS has big voids of zeros for padding, leaves lots of room to insert malcode and fix the file headers, Thread Local Storage is neat, a thread can move data packets through its kernel objects to other objects or static files on swap. And the alternate data paging that win executable files may have is just mindblowing. a file {any W32/W64 file} that every one expects to do one thing can be trojaned by the system as a feature using alternate data streams in a file! IT GOES ON AND ON this and win10 is why i left windows and gave linux a serious try and never looked back. Linux runs games and keeps getting better at it with no cat and mouse game of you modding system files so things work and having MS updates demodd them and then prevent you from making thing workable without major klugeing around.

Literally nobody cares about Linux gaming. It's not even press-worthy because of SteamOS. Anyone who games on Linux does it for the adventure of the process, not because it's convenient.

If you ported your game to the Atari ST or the Amiga you'd get more press and probably more sales.

There's nothing adventurous about using your preferred operating system and enjoying being able to have a working game experience. I've spent significant time in all 3 major OS options over the last few decades, and came to the conclusion that Linux is the one I prefer. A few years ago, I resigned myself to either rebooting to Windows or running Windows in a VM when I wanted to do any modern gaming. The significant advancements over the last year in terms of video driver functionality (both on Nvidia and AMD sides), binary compatibility (WINE/Proton), and more developers releasing native games have been a huge boon and very welcomed. I use Linux full time because it's what I enjoy and feel comfortable with as a primary OS, and I absolutely care about the gaming landscape improving. I'm only one person, but many others won't speak up.
It's like Mac gaming. It sucks. Unless it's a for-Mac native title, which is exceedingly rare these days, it's going to be trash because the publisher invariably uses some crappy DirectX to OpenGL wrapper that cripples performance and crashes constantly.

Developer kits like Unreal and Unity have helped a lot here, but those are far from flawless. Even those struggle with Linux because there's just way too many distributions and way too few standards.

I used to reboot into Windows to run games. Thanks to Proton I don't bother anymore. In fact I dread booting into Windows now because I know it's going to spend 30 minutes patching itself and then reboot on me.
Rhetoric like this is less than effective. Some of us do game in Linux because we don't want a Windows box. So, literally is demonstrably false.

Now, statistically, I realize we don't exist. But at absolute levels, we do.

You've got to recognize you're an outlier.

In practical terms nobody plays games on Linux unless they're using something like SteamOS or, technically, Android.

Given how ridiculously hard it is to get a simple application to run across all the various distributions of Linux that exist, expecting something as complicated as a game to run at all is asking way too much.

Windows is ridiculously hard to support, but at least it has sales volume to justify the work necessary to get a game launched. Linux doesn't.

>adventure of the process, not because it's convenient

There's no need for adventure for me. I prefer to code on Linux and not need to reboot into Windows. Playing games on Linux IS the convenient way for me.

Most people just get a game console or play games on their phone. A very tiny group of people do what you do on Linux.
Most games don't make these mistakes...it seems they weren't aware of some other best practices.

I see this time and time again. Game developer runs into one of the difficult subjects in computer science/programming. Dismisses the difficulty. Gets themselves into trouble. Blames the library/product/platform.

The last time I was at a game jam, I found myself explaining generational garbage collection to a game dev. He then proceeded to "solve" all of his problems by writing a 5 minute hack to ensure all of his objects would be collected as quickly as possible. Which didn't work, because the lifespan of his objects is dependent on gameplay, so he can't ensure all of his objects will die in Eden. I kept trying to explain that he should actually hold onto his objects (especially bullets in his bullet hell game) and recycle them as much as possible, so that he would reduce memory pressure and have those objects promoted to old space, so they are looked at less often.

I see this sort of thing time and time again.

> I see this time and time again. Game developer runs into one of the difficult subjects in computer science/programming. Dismisses the difficulty. Gets themselves into trouble. Blames the library/product/platform.

Members of this particular team worked on the highly acclaimed Total Annihilation (1997) and Supreme Commander (2007) so inexperience or lack of technical expertise seems unlikely to be the cause here.

Parts of PA are brilliant, absolutely brilliant. The team pulled off some incredible feats:

- In a 16-player game, each player can operate thousands of units across multiple planets orbiting a star, and afterwards, you can replay the match exactly within your own copy of the game.

- The planets themselves were mobile battlefields which could be destroyed, moved, and weaponized.

- The path-finding for those thousands of units crashing into an opposing army of thousands of units is smooth and there isn't total chaos on the field.

But the team also made some really questionable bets that ultimately doomed the title.

- Then, for some reason, they used an out-of-proc UI compositor to draw the 2D elements that would fork one process per layer IIRC and drop interaction events, and broke the tool that the players use to interact with the wonderful simulation.

- Then, for some worse reason, they launched it like this, and reaped the terrible early reviews that doomed the title. Even after patches resolved the issues, the long-term damage was done.

So they have no excuse for missing out on those other best practices.
What on earth has a generational gc and can't handle a little bullet spam?
Nearly any per-frame instancing tends to hit generational boundary cases due to ambiguity over lifetimes that the VM can't account for. They usually don't result in GC pauses that are large enough or frequent enough to make the game unplayable, but they do prevent the desired "solid 60hz". It's actually a huge thorn in the side of fast gameplay code. Recommendations always turn towards engineering a static allocation(value types if you can do them, object pools if not). However it takes enough effort to build the latter that quite a few games running on GCs ship without doing it in all cases, and some runtimes make it borderline impossible(string processing).
OP was at a game jam, though. They were building a prototype. If they were going for a smooth 60hz, they were doing it wrong.

If there were pauses causing significant gameplay issues, it's doubtful GC was the specific cause. There was probably something very wrong being done - my guess would be instantiation of a managed resource like a texture or 3d model.

I doubt generational GC came in to it, and feel like the OP is prematurely celebrating his own insight in to what was causing the issue.

(Then again, maybe it was a VR game and pauseless 120hz was the goal.)

Saw "Coherent UI" in your comment and thought, "I bet it's Planetary Annihilation" and was not disappointed.

The dev team struggled to get Coherent UI working on Windows, to say nothing of Linux. They switched to Coherent UI late in the development cycle and the beta/launch was constantly glitched out. The problem with trying to run an out-of-proc UI renderer within a game loop were so numerous -- the game would frequently lock up in full screen with multiple instances of the Coherent UI render process running if you managed to escape.

... in Windows, not in Linux.

For fans of TA and SupCom, early PA was terrible. Later, the team worked through a lot of the issues, but the damages to their finances (and reviews) were done and PA never got the e-sports league it deserved.

Truth be told I don't think PA ever had a chance to truly be big. So few people wanted the Supcom style gameplay. Forged Alliance Forever only has a couple thousand people and the best or second best commentator/stream of games (Gyle) gets only a few thousand views per video. I think the gameplay style just doesn't appeal to as many people
He points out that a very large percentage of the crashes were graphics driver related, not dependency issues that would be solved by the Steam runtime.
I mention the Steam runtime because this affects the Linux version to this day: I am unable to launch the game (on a fully supported system and OS, mind you) without deleting some files from their install.

> He points out that a very large percentage of the crashes were graphics driver related

This was still largely related to the Coherent UI middleware and the strange way it was being used, as other posts have noted.

My gaming box is still Xenial while all my work machines are at least bionic. While btrfs and my personal system setup practices make it easy to test and also port setups from machine to machine, I'm not relishing the moment when I'll have to bite the bullet and upgrade.
From the article:

> "We eventually laid out a guide with known good versions of Linux and graphics drivers, but it didn't matter. Part of the allure of Linux is the customizability, so few actually stuck to it, and generally wanted to run the game on older hardware we didn't support."

It seems that it's because Linux users are unwilling to upgrade their hardware. From a philosophical standpoint, I agree with them, we shouldn't need to buy a new computer every 3-5 years, it's very wasteful and I am very against planned obsolescence and perceived obsolescence. That said, I can see the benefits of writing code to work on the machine you have in front of you, and not doubling your QA work by testing it on older machines that no longer even receive OS upgrades.

I bought PA early, and tried playing it on a low end 2007 laptop, and it was almost playable. The same machine could only barely handle supcom on lowest settings anyway. Meaning, if your hardware could handle supcom well, then it could probably handle the basics of PA (at least that's my bet)

They should not be expected to support systems that could only kind of handle the previous game anyway

But if the set of best practices that works for your target hardware platform is narrow-band, that set itself can severely constrain the set of game houses that can develop for that platform.
I think you're in denial.

If developers need to get this, that and the other thing right specifically for Linux, but it's still only 0.1% of sales, then it's just not worth doing - even if there aren't any bugs.

100% this.

source: - am a business person - am a developer - am a linux users - am a linux gamer

I love the idea of being able to game and work/dev on the same machine. But its not the current reality and its not the reality of the near future. Ive recently settled for macos because even though it doesn't offer optimal solutions for anything, it offers the really nice solutions for everything.

I tried linux gaming for years, and Steam really really gave it a strong push. But the truth is, gaming on linux is complicated and doesn't offer the same experience as on Windows or even macos. I'd rather my favorite studios and developers dedicate its linux resources to customers that pay instead.

I keep a dualboot system because of the current situation.

Linux for "real work"

Windows for gaming (no-frills setup) and music production (much easier and less clunky low latency setup, way more availability of free synths etc)

I absolutely adore Linux for everything it has done to my career but I cannot drop my Windows system yet.

I likewise run and prefer a Linux desktop and boot into Windows for the occasional gaming foray. Also, to run stuff like Fusion 360.

I have to say that even on Windows, driver stability leaves much to be desired (for Nvidia in my case).

The thing is, if you only boot into Windows occasionally, you'll have to wait for updates about every time you use it. That's pretty annoying and has actually stopped me from doing it at some point.
I don't think I realized it until you mentioned it, but I think I'm in the same boat with my dual-boot box. Doubly so because it's a laptop and half of the time I only have phone-teathered internet.
> I have to say that even on Windows, driver stability leaves much to be desired (for Nvidia in my case).

I agree. That is why I tend to leave my Windows box really bare. It has Steam with some 4-5 games on it and my Music Production Software. Every other endeavor is tackled in Linux.

Take a look at cloud9 for your real work :)
> I love the idea of being able to game and work/dev on the same machine.

For what it's worth, I used to have that, and I am happy I don't anymore. Having two separate computers for gaming and work has been very positive to both my work and gaming experiences. I recommend this to anyone who can afford it.. even if you work on Windows.

Settled on MacOs for gaming? I built a Windows PC (for gaming only) because I was tired of every title I wanted to play being exclusive to Windows. Plus graphics card support is much better on Windows than everything else.
i travel a lot, so unless i want to two laptops, I had to compromise.
I agree with you that it is definitely not commercially worth it. But I guess you missed his point. He is not saying that "it was worth it for this game if well implemented", but that this game is actually a really bad example of how gaming on Linux is. It is like analyzing PC gaming by looking at Devil May Cry 3 or Resident Evil 4...
This is a question of margins, so you're neither right nor wrong.

It normally isn't just 0.1% of sales when developers do get everything right, although whether or not the usual 1-5% of sales is worth it depends on the particular game, budget, and sales numbers. Linux support clearly wasn't worth it for Planetary Annihilation due to its low sales numbers, but a game with (1) high sales and (2) easy porting process would be leaving money on the table not to support Linux.

In general you are actually looking at 2% of your potential user base not 0.1%.