Hacker News new | ask | show | jobs
by simias 2724 days ago
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.

11 comments

> 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.

People keep forgetting that game consoles have their own 3D APIs.

Contrary to FOSS folks, professional game studios aren't religious about APIs, as long as there is money to be made.

> 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.
Like me. I will hug windows 7 goodbye on my way to Neon OSville, with redoubled hope my sim City 3k and rct2 may now work without having to be in a VM
"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.
There are lots of developers pretty happy with macOS and Windows at home.
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.

Don't get me wrong, I agree that progress has been made. Sound, unless you need low latency, is pretty much a solved problem now, for one.

But there are a lot of reasons that Linux's particular brand of issues are actually still a deal breaker for people, and refusing to acknowledge that will never attract anyone to the platform.

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.

I've installed Ubuntu 18.10 on an XPS 13, which everyone tells me is well supported by Linux, Dell even sell it with Ubuntu. It won't come out of sleep. Googling suggests other have this problem.
> 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.
Macs have good hardware. Or you might also want to dual boot.

Sad to say, but some Macbook models work great, and others are fucking terrible. I have two models - my older model where the only thing that has ever consistently worked is bluetooth, and a slightly newer one where nothing has ever broken.

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.

THIS is the problem. Windows drivers start working on day 1 and continue working. The breaks are when we went to 32-bit drivers in NT and when we disabled real-time hardware interrupts in Vista.

Linux needs a driver compatibility story this strong to even start.

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.