
Game dev: Linux users were only 0.1% of sales but 20% of crashes and tickets - belltaco
https://twitter.com/bgolus/status/1080213166116597760
======
rkido
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.

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

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

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

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

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

------
FigBug
I work for a small company that produces a DAW and VST plugins. Supporting
Linux is a huge amount of work compared to Windows and Mac.

The main issue is that 'Linux' is not a thing you can support. You have to
pick the distros you want to support, and then once you've picked a distro,
what versions you want to support.

And you need to use the C++ version that ships with that distro, so if you
want to support old versions then the entire project is held back from using
latest C++.

And distos aren't backwards compatible. ie when libcurl4 is released, they
remove libcurl3. So you can't have one binary for Ubuntu 18.04 and 16.04.

So it means for every product, have a build for every distro / version
combination you want to support.

So now the solution is AppImages where you bundle up your app with all
dependencies like a container. Haven't investigated this yet, not sure it will
work for plugins.

~~~
plq
> And distos aren't backwards compatible. ie when libcurl4 is released, they
> remove libcurl3. So you can't have one binary for Ubuntu 18.04 and 16.04.

If you don't want to depend on the libcurl provided by the OS, ship your own.

If you don't want to depend on the glibc provided by the OS, ship your own,
with your own dynamic linker.

readelf -n <your binary> will tell you the oldest kernel that will run your
stuff. Put that in the requirements document. Write a bash script that sets
LD_LIBRARY_PATH correctly and make sure that's the main entry point to your
application during deployment.

You're set.

~~~
_wmd
Your suggestion to ship glibc caused coffee to end up over my keyboard :) This
is the road to hell, but you'd only know that if you had the slightest clue of
the ABI interactions involved in swapping out a core library like that -
starting with the reality that parts of the (probably binary-only) graphics
stack must be linked and loaded in-process, and they naturally depend on at a
minimum glibc. Your suggestion is to effectively ship the game in the form of
its own Linux distro, which is of course complete nonsense.

Snap and Flatpack will hopefully help with the dependency aging problem, but
they're brand new, and they both still suck one way or another.

To give you an idea of what swapping out glibc would involve, here is the list
of shared libraries loaded by 'glxgears' on my machine, arguably the simplest
possible OpenGL program:

    
    
        /lib/x86_64-linux-gnu/ld-2.28.so
        /lib/x86_64-linux-gnu/libbsd.so.0.9.1
        /lib/x86_64-linux-gnu/libc-2.28.so
        /lib/x86_64-linux-gnu/libdl-2.28.so
        /lib/x86_64-linux-gnu/libexpat.so.1.6.8
        /lib/x86_64-linux-gnu/libgcc_s.so.1
        /lib/x86_64-linux-gnu/libm-2.28.so
        /lib/x86_64-linux-gnu/libnsl-2.28.so
        /lib/x86_64-linux-gnu/libnss_compat-2.28.so
        /lib/x86_64-linux-gnu/libnss_files-2.28.so
        /lib/x86_64-linux-gnu/libnss_nis-2.28.so
        /lib/x86_64-linux-gnu/libpthread-2.28.so
        /lib/x86_64-linux-gnu/librt-2.28.so
        /lib/x86_64-linux-gnu/libz.so.1.2.11
        /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
        /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1.0.0
        /usr/lib/x86_64-linux-gnu/libdrm_nouveau.so.2.0.0
        /usr/lib/x86_64-linux-gnu/libdrm_radeon.so.1.0.1
        /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
        /usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0
        /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0
        /usr/lib/x86_64-linux-gnu/libGL.so.1.7.0
        /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0
        /usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0
        /usr/lib/x86_64-linux-gnu/libpciaccess.so.0.11.1
        /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
        /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
        /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0
        /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
        /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0.0.0
        /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0.0.0
        /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0.0.0
        /usr/lib/x86_64-linux-gnu/libxcb-present.so.0.0.0
        /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
        /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1.0.0
        /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0  
        /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0 
        /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
        /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
        /usr/lib/x86_64-linux-gnu/libxshmfence.so.1.0.0
        /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0

~~~
plq
Ignoring your personal attacks, you and I are on the same page.

I do agree that shipping your glibc is "the road to hell" and shipping with
the glibc could be qualified as "shipping in the form of its own Linux
distro", as amusing as that sounds :) But that's the price of freedom you pay
if you want to draw your platform boundary at the kernel -- you need to ship
the whole userland! Where's the surprise in that? That means you need to
understand the interactions between different version of
/usr/lib64/opengl/nvidia/lib/libGLX_nvidia.so.0 (that you need to ship) and
nvidia.ko (that is nvidia's binary driver loaded by the kernel, that you do
NOT ship)

That's what people mean when they say they "are targeting Linux", even when
they don't really understand the kind of work that that statement entails :)

Linux is an OS kernel. I'd wager it's the most popular one by far, in terms of
the number of platforms that uses it.

Saying that "Linux is fragmented" is the wrong way to look at the problem. One
should rather realize that Linux is just and OS kernel that is used by
countless platforms. It's up to the developer to draw platform boundaries and
focus engineering effort on the chosen ones.

If you need to support GNU/Linux with glibc-2.25, then you need to set up your
testing bench to accommodate that. If you need to have native look and feeling
in ubuntu, kubuntu and lubuntu, you already have 3 platforms with at least 2
LTS versions that you need to test with.

Each platform has its own quirks. Linux distros are the ones with the least
amount of quirks, but in exchange we get many many platforms, because it's so
easy to create them.

I guess that's life :)

~~~
xenadu02
Why would you want to take on that massive burden for such a tiny percentage
of sales - most of which you'd have gotten anyway?

------
ShakataGaNai
While I love Linux, I think this is a totally fair "state of the union". At
the end of the day, gaming or kickstarters or similar... are a business. You
need to figure out your ROI (Return On Investment). It doesn't many any
logical sense to spend a huge amount of time on a platform that nets you tiny
amounts of sales (and gains you a huge amount of support costs).

This is why gaming on the Mac is only now starting to be a real thing. Not a
decade or so ago, there were still relatively small numbers of people using a
Mac. It cost a lot to develop for a new platform and didn't make much money.
Now it makes more sense.

Of course Linux fragmentation will probably hold it back for significantly
longer.

~~~
zanny
Is it really fragmented? You support Ubuntu (in either its flatpak runtime or
the Steam runtime) and you let everyone else figure it out on their own.
Distros like Arch have been very good about providing the Steam Native Runtime
and Ubuntu flatpak runtime in its own package system for just that reason.

The support burden for developers is proportional to the operating systems you
officially say you support. If you support "Linux" you are supporting
thousands of completely dissimilar execution environments. If you support
Ubuntu, or Steam, or a Flatpak target you are only supporting that one
operating system.

And thats _fine_. Thats all Linux users really want anyway. If it breaks on
your distro its your responsibility to fix it so long as it works on its
officially supported target OS.

~~~
hannasanarion
> You support Ubuntu (in either its flatpak runtime or the Steam runtime) and
> you let everyone else figure it out on their own.

And isn't that already how it is? Pretty sure Steam only supports Ubuntu LTS,
steam on every other OS else is an unsupported hack.

~~~
tokai
I think what is what zanny is saying. The fragmentation argument is fud.

------
mrspeaker
This is just an out-of-context tweet (well, the context is there - it's a
reply to another tweet, which is out of context)... so perhaps it was just
auto-crash reports, but I wonder if you get more tickets from Linux users,
because Linux users are more likely to file tickets?

When something crashes on my partner's computer she yells at it and restarts
it. When something crashes on my computer I spend an hour trying to figure out
WHY. If I can't figure it out, I log a ticket thinking I'm being a good
citizen!

~~~
kosievdmerwe
They still represent a vastly disproportionate amount of work for how much
extra money they get you.

They get you 0.1% extra sales, but they cost you 25% (= 20/80*100) extra
support work. And this is nevermind the extra time spent during development.

Your point would hold if the issues reported by Linux users would also fix
issues on Windows. Some issues would occur on both systems, but I bet the vast
majority is weird Linux and setup specific bugs.

~~~
rusk
_> I bet the vast majority_

This is the crux of your assertion and requires substantiation.

On the other hands, all these Linux user might be doing you "a favour" taking
the time to log these tickets that less conscientious users on other systems
would.

Of course that does depend on the classification of the tickets but coming
from that community I wouldn't expect them to be trivial issues ...

~~~
Jach
It's even more of a favor if the bugs aren't just linux-only. But if they're
in gfx drivers like the tweet implies and auto-reported, the only thing you'd
really care about is "newest drivers?" Same as the parade of crashes in
Windows for the same reason, you want to just tell people to update.

~~~
bluedino
Which is why chromium pulled support for certain drivers on linux

~~~
r3bl
They didn't pull the support at all.

They've _added_ another driver to a long list of blocklisted drivers that
cause issues with the hardware acceleration. Nothing about that list is Linux-
specific, as it includes a bunch of macOS and Windows drivers as well:
[https://src.chromium.org/viewvc/chrome/trunk/src/gpu/config/...](https://src.chromium.org/viewvc/chrome/trunk/src/gpu/config/software_rendering_list_json.cc)

Firefox does that too:
[https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drive...](https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drivers)

Between a crashy browser thanks to a crappy driver and a stable browser
without hardware acceleration, browsers will always just take the latter
route. Don't like it? Run it with a flag and expect it to be a little less
stable. That's it. You absolutely can't blame neither the browser nor the
platform for that, only the vendor of the driver (or in this specific case
NVidia, since it's actively hostile to the vendor).

------
diffeomorphism
[https://twitter.com/bgolus/status/1080544133238800384](https://twitter.com/bgolus/status/1080544133238800384)

Follow-up tweet by the same author:

> As a follow up to this, I've been told by those actually involved with Linux
> stuff that this wasn't true. I probably just stopped paying attention to
> Linux issues at a time when everything was broken.

Just so the discussion does not overly focus on the (apparently wrong?)
numbers.

~~~
TremendousJudge
This is a follow up to another tweet though

------
60654
This is a pretty well-known effect in gamedev. The specific numbers change,
but Linux sales are only a small percentage of total, while generating much
more development and support work.

At least dev work can be drastically simplified with middleware like Unity,
which is how small studios can even consider Linux. But support difficulties
are real. Players have so many possible distros, configurations, and drivers -
actually supporting all of them would require a level of Linux expertise that
gamedevs simply don't have (being typically Windows or OSX based themselves).
Limiting yourself to something like Ubuntu LTS helps a bit, but there are
still plenty of gotchas.

So it becomes a simple matter of numbers: given relatively small amount of
extra sales, is it worth the extra work, and spending the time to learn Linux
development and administration in sufficient depth? Sadly usually it is not.

~~~
huhtenberg
But for a game that is built on Unity, wouldn't these support issues be
Unity's responsibility? Assuming the issues are triggered by their glue layer.

What's the arrangement there, does anyone know?

~~~
kevingadd
Unity does not do your customer service for you. Also, bug fixes might only go
into a future release of Unity (months out) and updating to the new release to
get the bug fixes might break your game. Unity games that spend a few years in
development often ship on a very old version of Unity.

------
SteveNuts
Gaming is the #1 reason I haven't fully switched to Linux on the desktop at
home (at work I exclusively run Linux).

A lot of my Steam games work flawlessly with Linux but others will just
silently fail to launch and it takes hours to properly diagnose and fix, which
isn't what I'm after when I get some time to play games.

~~~
jenscow
Your comment is the perfect example of how there's an "invisible" demand
demand for gaming on Linux.

Nobody can see it, because those who want it will mostly make do with Windows.

~~~
p0nce
Invisible demand is undistinguishable from no demand, as far as B2C is
concerned.

~~~
kurtisc
I agree that they can't distinguish it but there was no visible demand for an
iPhone before the iPhone.

~~~
pjmlp
Only if we forget about the work done by Symbian, Psion, Microsoft, Compaq,
Dell in portable Touch devices.

~~~
kurtisc
How did the demand work out for Symbian, Psion, and Microsoft phones?

~~~
pjmlp
Pretty well in Europe and Asia, until a certain company in Mountain View
decided to screw Sun and offer a mobile OS for free to OEMs., in exchange for
user data.

------
tpush
The situation seems to be similar for Mac:
[https://twitter.com/bgolus/status/1080327518983315457](https://twitter.com/bgolus/status/1080327518983315457)

> Yeah, I didn't want to touch on Mac support in the original post, but Mac
> support also cost way more than it made in sales.

~~~
andai
Innumerate person here, does that mean that supporting Mac is a net loss for a
business?

~~~
ken
It's impossible to say for sure, without knowing people's behavior and
motivations.

In the past, I've certainly been more likely to buy software if I see it's
cross-platform, even if I know I'll never use it on those other platforms. Or
it might be a corporate requirement. There are many possible reasons.

For example, if a restaurant serves only steak, is it a net loss for them to
put a pasta option on the menu, if they know they'll never sell enough to make
up the cost of ingredients and preparation? Maybe not -- it could mean a party
of 10 (with 1 vegetarian) is willing to eat there, when they otherwise
wouldn't have been.

~~~
jenscow
A "loss leader"

------
hawski
Please mark it with (2014):

[https://twitter.com/bgolus/status/1080380532108619776](https://twitter.com/bgolus/status/1080380532108619776)

> The world of 2014 Linux graphics drivers was not a friendly place. We
> absolutely encountered issues where some driver revisions only worked on
> certain distros, and AFAIK we did not use anything specific to a Linux
> distro.

------
sz4kerto
"I didn't want to touch on Mac support in the original post, but Mac support
also cost way more than it made in sales."

------
AnIdiotOnTheNet
> Issues specific to Linux were almost entirely graphics driver related, and
> unique to the platform.

Just want to point this out before this discussion starts blaming the devs for
'not writing with portability in mind' or other such nonsense like the twitter
thread did.

------
bryanlarsen
Part of the problem in 2019 is that the vendor with the best drivers on
Windows is the vendor with the worst drivers on Linux. (aka Nvidia).

~~~
wtracy
Care to elaborate?

Nvidia used to be the only discrete GPU manufacturer that had Linux support
worth mentioning. I know that AMD/ATi has made a _lot_ of progress, but is
Nvidia really the worst at this point?

~~~
deathanatos
I just went through the process of getting NVIDIA drivers working on my
brother's dual-boot Ubuntu. Here's the issues we hit:

1\. You don't don't get drivers out of the box. The NVIDIA driver is non-free,
so Ubuntu's (and other Linux distros') hands are tied here: they're not
permitted to distribute it. Getting it is relatively easy (check a box,
install a package), but you need to know that you need it, and then figure out
how to get it.

2\. (For laptops) You need to install optimus/primus/bumblebee, s.t. the
system isn't using the integrated GPU. This is another package that you need
to know you need, and install. Ubuntu here is particularly bad: it apparently
installs the drivers in the wrong spot, so even with everything correctly
installed, you have to find a config in /etc, edit it to what a couple of
comment on a GitHub issue that you found after Googling the error indicate.
(Other distros, in particular Arch, do not have this issue.)

3\. (For laptops) You need to configure the game in Steam to take advantage of
primusrun. Steam does not do this automatically.

~~~
wtracy
Last time I checked, both AMD and Nvidia expect you to download manufacturer
drivers for Windows. I'm willing to jump through similar hoops for Linux.
(Incidentally, when someone complains about how hard it is to install Linux,
that person has usually never tried installing Windows without using the OEM
disc from the manufacturer. Take that away, and Windows becomes a lot harder.)

Linux support for Optimus and friends is abysmal, I agree. When I say good
things about Nvidia's Linux support, I am referring to their discrete desktop
and workstation cards.

~~~
jenscow
Recently I tried to install Windows on some HP Elitebook, a few weeks back.

It didn't have drivers for the graphics card, nor both network interfaces (and
several other internal devices). How am I supposed to download the network
drivers without a working NIC?? (same machine, like many others, have no
troubles with Ubuntu, out-the-box)

It was only so my wife (honest) could play The Sims 4. Fortunately, thanks to
the hard work of the WINE developers, it runs flawlessly on Linux (small
amount of trickery required for Origin).

~~~
Evidlo
USB tethering long enough to download drivers has been a reliable way for me
to get around this problem.

------
Glyptodon
I don't think the Linux situation is good per se, but I haven't heard anything
this negative from the devs of other multi-platform Kickstarter games, like
Obsidian and their Pillars of Eternity games.

(Not that they were terribly positive about it.)

To paraphrase the Obsidian take:

Supporting Linux for the first time was much much more work than they
expected, but it was mostly coming to grips with everything, learning all the
gotchas, and integrating that into their build system and software dev
practices. Once they got over that hump it was much easier/not so bad and
worthwhile enough to continue. But at the same time, if they'd known what they
were getting into the first time they think they'd probably not have promised
Linux support. So first game it had a huge marginal cost to support, but once
the tooling and experience was there that marginal cost to support was much
much lower.

Of course Pillars was a Unity game and probably not as demanding performance-
wise as PA.

------
bluescarni
> We started working on the game in 2012

> Issues specific to Linux were almost entirely graphics driver related, and
> unique to the platform.

So this is essentially a rant about linux graphics drivers circa 2012?

~~~
izacus
Are they any better in 2019? Last I checked the anything beyond desktop
compositing features is still a tyre fire of lying capabilities, broken
functionality and wishful thinking. nVidia being by far the most stable while
lacking integration with modern Linux APIs.

~~~
bluescarni
As a full-time linux user and occasional gamer, I have been using the AMD open
drivers since circa 2010. The improvements have been _massive_ , both in
stability and performance. Since the availability of steam, I have been doing
all my gaming exclusively on linux, logging a probably unhealthy number of
hours on various games (Dota, various iterations of Civilization, City
Skylines, Stellaris, etc.).

Not to say the situation is perfect by any means, but the difference from
2012/2014 is night and day.

------
madez
I'll take the step and say that most developers do the mistake to treat linux
like any other proprietary system which they can target with stable interfaces
and call it a day.

Free software changes more often, but when it does, it is not that big of a
problem because you have both control over code and the code that your code
interacts with, because all code is accessible.

If game developers opened up, and here I don't demand the optimum, which would
be open sourcing their game[0], but just to get people involved that actually
are active in both their code and the free software community, they could deal
with the eco system much better and make their code actually work even on most
of the many configurations that exist.

Of course, the usual argument is that game developers don't have to care about
this on other systems, but in fact they did have to gather experience and
training on the other platforms, and with free systems, once you are involved
in it, you can deal with it much more efficiently than what it seems at the
start. There is nothing magic about filing a bug against mesa.

I am one of the persons that contacted Uber about PA not working on my linux
system. It was a recent Debian stable without modifications. They didn't offer
meaningful support. I just asked them to install a debian stable with free
mesa drivers on a computer with a recent AMD gpu, and try to build and run PA,
and see why it doesn't work (there were obvious, easy to reproduce issues).
That is not a lot of engineering time, and I bet solving those problem would
have solved many problems in linux systems.

[0] This starts to become a cultural problem that seems to need laws to deal
with. As a society, we shouldn't accept to never have our cultural heritage,
which games are part of, in the public domain in a usable form (source code
and documentation).

Edit 1: Writing closed programs for a free software community is difficult. I
think that it should be difficult. That pain is a constant reminder that
you're doing it wrong.

Edit 2: Steam counts unsuccessful launches of a game where the game is
laughibly broken as playing time, so after some extenstive testing, you can't
even refund a game on Steam because it says you've played more than 2 hours
-.-

~~~
Kapura
> "Free software changes more often, but when it does, it is not that big of a
> problem because you have both control over code and the code that your code
> interacts with, because all code is accessible."

This is akin to saying "When you're bleeding internally it's not that bad
because all of your blood is still on the inside."

Games are a hit-driven industry. In most cases, it is strictly better to be
working on a new game than to improve incredibly niche support for existing
products. It would be one thing if fixing Linux bugs effectively future-
proofed it from more bugs down the line, but that does not seem to be the case
for most of the devs I know who've shipped on Linux.

~~~
madez
> it is strictly better to be working on a new game than to improve incredibly
> niche support for existing products

I'm not sure about this one. Compare Ferals and Ubers approach as two data
points.

~~~
wtracy
AAA games rely on a single purchase fee for revenue. Once sales taper off
because the game isn't hot and new anymore, there's nothing to be gained from
further investment. (Ever notice how games steadily decrease in price the
first few years after release?)

Uber gets recurring revenue from their app, so expecting them to provide
updates is like expecting a rental property owner to maintain the property--
entirely reasonable. Expecting a game developer to release patches years later
is like a homeowner calling up the original real estate developer and
demanding improvements. Not gonna happen.

(With the obvious caveat that homeowners are allowed to do the work themselves
without the original developer's permission, but this about economics, not the
absurdities of software licensing.)

~~~
madez
If their one shot release isn't good enough, they deserve all the flak they
are getting. I do have empathy with them getting frustrated, but the root
cause is their approach.

~~~
wtracy
The original post in the thread basically said that Linux support is easy if
you just make a new release every time the libraries you depend on make a
breaking change. (Or a GCC update breaks binary compatibility for
_everything_.)

Even if an initial release of a Linux game is flawless, it tends to stop
working with the next major distro release. (Unless it's statically linked to
_everything_ , or uses something like Flatpack to distribute all its own
dependencies. Both options have their own disadvantages.)

You also have to understand that, from a business perspective, game companies
have much more in common with a Hollywood studio than a normal software
company.

Movies don't get patches. Occasionally they get re-releases for new formats,
but at that point consumers are expected to go pay for it again.

None of that applies to today's slot machine^H^H mobile game companies that
rely on in-app purchases, or MMOs that rely on monthly subscriptions. The
former would never survive in the Linux world anyway, and the latter are often
quite successful on Linux, even if it's only in the form of official support
for Wine/Cedega.

~~~
madez
I understand the business aspect that the Hollywood model is possibly
incompatible with games in free software systems (i.e. "Linux"). There are
other business models to make games, though.

The problems are real and I think it is natural that they are there, because
the movie model is suboptimal. I see similar pains with Android device
manufacturers and updates to released devices. That pain is because they are
doing it wrong (i.e. not mainlining and doing things binary). That pain is a
feature, not a bug. It is a constant reminder that the approach is wrong.

------
schaefer
The flip side of this is: I only game on Linux. If your game doesn't run well
on Linux, chances are, I'll never play it.

There's already a back-log of games on my wish list that I'll get to as soon
as i find the time.

~~~
zanny
I've been Linux only since 2012, which coincidentally was when RadeonSI came
out and I "took the bet" on AMD drivers getting good with a 7870 purchase.

Its 100% no tux, no bux at this point. My last Windows title was Darksiders 2.
Darksiders 3 came out in 2018, I was totally hype for it, but it was Windows /
Xbox / PS4, so no deal there. Not like I have a shortage of dozens of other
games to still get around to, my library is overflowing with titles I need to
finish like Tomb Raider and Metro.

The worst part was that Nordic was apparently intent to rerelease the
remasters of Darksiders on Linux but just dropped it at some point. If they
did the math and said it wasn't worth the time fine by them.

------
dejaime
I was one of those who for every problem I had I would go out of my way to
reliably reproduce the problem, then I would create a detailed description of
it, with full system specs, terminal output (on both Windows and Linux) and
all log files I could find.

Today, I still do that on Linux. But if it excludes Linux as a platform, it
must be rock solid on windows, right? If it isn't, all it gets is a negative
review going about the "crashes all the time", "glitchy" and "is unplayable".
That saved me a lot of time.

Being an indie GameDev myself, I personally love well written tickets. But the
passive aggressive responses I often receive from big devs makes me wonder if
I'm actually the only one.

------
stratosmacker
Why don't we just support the Steam version of Debian and be done with it?
Anyone running custom things should be ready to make their custom fixes...

Oh well, this guys sounds full of hubris. Just because something isn't
immediately profitable doesn't mean the community as a whole doesn't benefit
from you ironing out bugs.

~~~
ThrowawayR2
> _Oh well, this guys sounds full of hubris._

From a later tweet by the same person: _Linux support was a passion for many
on the project, and I was a proponent in favor of that support._

If the Linux community is going to bite the hand that feeds them, don't be
surprised when other developers aren't anxious to support Linux in the future.

------
dcbadacd
This sounds like complaining about users being able to report bugs.

~~~
brianwawok
Do you run a business, say software? Or even a non-technical business like
window washing or pet walking?

If .1% of your pet walking clients made 20% of the complaints, what would you
do?

~~~
rightbyte
Wait what? What if only 0.5% of your costumers complain?

Or that 0.1% of the pet you walk are cats and 99.9 dogs, and you get
complaints that you are bad at walking with cats and bad at walking with dogs.
Is it good use of the metric to conclude that the cats are the problem?

~~~
noselasd
The conclusion here is stated in the article as

"Issues specific to Linux were almost entirely graphics driver related, and
unique to the platform."

So somewhat similar to having 0.5% of your pet walking customers complaining
about issues you can't do much about, or have to do extra work to make them
happy - their doghouse at home is too small, their car has an issue so they
can't come and pick up the cat - basically a subset of your customers giving
you a whole lot of extra work for very little gain.

~~~
rightbyte
Ye, well I agree it's probably not worth the fuzz support Mac or Linux for
gaming.

But I mean, without numbers on how much extra dev time the linux port demanded
it's hard to reason about what a 0.1% revenue increase means. 0.1% is still
0.1% and could have been more if it didn't crash at that rate and discouraged
buyers.

Since they released for Mac the game must have been programmed with cross
platform functionality in mind.

------
Tehchops
Too bad Planetary Annihilation was a poorly optimized, buggy, under-delivered
piece of shit on Windows too.

------
antoineMoPa
I almost stopped playing games when I switched to Linux and I think it
contributed to free time in my life for learning, side projects, sports, etc.
I can always go back to OpenTTD if I crave gaming.

------
zelon88
I'd say us Linux folk are probably more likely to identify an issue and report
it as well. It takes a special determination to run Linux, and I'd wager that
Linux users have a keep eye for undefined behavior, feature requests, and
wonky workarounds.

Once time I updated a Linux box and the Nvidia drivers downloaded and started
to build like usual, but there were tons of errors. After the graphics drivers
failed GCC updated and rebuilt itself. Switching kernels fixed the problem. It
took me a week to submit a ticket to Nvidia and then another 3 days of working
with support before we realized that the Nvidia drivers were built with an
outdated GCC and then GCC was updated afterwards. So when we checked GCC
version it was the proper version, but the drivers were already built with the
old version.

If it was a Windows box I would have formatted it after 12 hours and called it
a day.

------
projectramo
The conclusion I draw is that we should raise linux game prices by 200x

~~~
NelsonMinar
Except Linux users want all their software to be free.

~~~
mikekchar
I'm a Linux user and supporter of free software and I certainly want source
code for my software. I'm quite happy to pay for it, though (and I _do_
believe it or not). Not a lot of games offer source code, though, which is a
shame. I've bought several games simply because they offer source code and I
want to encourage it. I've bought a few games that don't offer source code as
well (the only such software on my computer).

It's a bit frustrating seeing facile comments like these both conflating the
"free as in beer" vs "free as in freedom" as well as implying that those who
care about "free as in freedom" are just a bunch of deadbeat freeloaders. You
can imagine how insulting it must feel to be tarred with such a brush when it
is completely untrue (at least in your specific case). If you want to make a
statement about a population, at least back it up with some evidence. Do you
have access to any studies showing that people using free operating systems
are unwilling to pay for software?

~~~
kaybe
I'd be happy with code escrow too, which would mean we can keep the game
forever _and_ the company gets to protect their secret as long as they exist.

I think we should talk more about code escrow, in general.

------
CodeArtisan
It may be better to solely target SteamOS, Valve's GNU+Linux distribution, and
to not support the other distributions who shall adapt/follow SteamOS.

------
self_awareness
Seems to me there is no sales on Linux because the game barely works on Linux?
Maybe you'd have bigger sales ratio if you'd fix those 20%?

------
qudat
Anybody competent enough to use linux is competent enough to dual-boot into
Windows. I would love first-class support for Linux gaming, but dual-booting
is such an easy fix for me that I frankly don't care that much about linux
support.

I totally get there are other potential issues revolving around having to use
windows, but for me at least, I don't really have any issue with using windows
for games.

------
thibran
I was one of the PA Kickstarter supporters and played the game on Linux. It
never worked flawlessly (graphical glitches). Today however I can play the
latest DOOM (through Steam) on Linux using Vulkan without problems using an
AMD card and open-source drivers. There is no reason not to build games for
Linux, just use Vulkan and graphic problems are a thing of the past.

------
tokai
As I recall the development of Planetary Annihilation was a clusterfunk of
bugs and really bad performance. I kickstarted it, and remember getting it to
work on linux. Put even though it ran, it did so 15 frames a second, even on a
powerful machine. I actually just gave up on the game as the developers
released it, even though it was still unplayable for me - and going by steam
reviews - numerous others (mostly windows users I would guess).

I guess it makes sense now that they 1.0'ed a barely working game, with such
an animosity towards users reporting issues.

~~~
politician
It barely worked on Windows. I don't know what he's trying to pin on Linux.

------
bryanlarsen
How do they measure the 0.1%? Many times I've purchased games because of the
promised Linux support, and played it on Windows until the promised Linux
support arrives.

~~~
jermaustin1
I'm sure it is measured by number of installs or downloads. Either way the
statistic is still very telling. If 0.1% of installs/downloads/purchases
created 20% of the bug reports, I can understand the developer's frustration.

~~~
jgtrosh
The stats might be measured differently: Steam might not report a Linux user
as such if they played on Windows at first (or something like that), while the
tickets might be correctly labeled as Linux-specific by the user.

~~~
jermaustin1
For sure, it's harder to understand what platform people WANT to play it on
based on an action they performed at checkout.

I know personally, when it comes to purchases on Steam, I've bought ~200
games/applications, and I've probably only installed a third of them.

------
axaxs
Most of the people I've met over the years who are tech literate say they have
some flavor of linux installed, love it, but keep windows around because
'gaming.' I would venture the number of folks who had linux installed but
didn't buy it for that platform because of instability to be much higher than
0.1%. It's a chicken/egg problem.

------
aidenn0
Considering my graphics driver is buggy enough to cause the KDE panel to
crash, I'm not at all surprised games on linux have issues.

------
mfoy_
Well if the game crashes a lot on Linux then those players would likely switch
to an alternative platform. This becomes a self-fulfilling prophecy where
games don't run well on Linux and game developers don't see Linux gamers as a
large demographic.

If most games ran smoothly on Linux, you can expect the % of Linux sales to
rise... no?

------
wil421
>There is no denying that there are plenty of issues with some parts of Linux,
but still I believe it will become predominant gaming platform, especially in
the more "appliance" space. It is worth investing in the know-how early.

Bold claim to make. I doubt Linux will ever be a predominant gaming platform.

~~~
antris
Umm... Phone games? All Android devices are based on Linux. Android is a major
player in the mobile gaming industry.

~~~
detaro
What skills/tech you use for Android games is "Linux" specific and would
transfer from/to a desktop Linux system or other Linux platform? (instead of
being Android-specific, or specific to an engine etc)

~~~
antris
Anything from Android can be forked into any number of Linux distros you want
to make. So none of it is Android-specific, really.

For example Android software worked on Jolla's Sailfish OS.

~~~
zeroname
Sailfish has a crappy Android simulation layer. You don't really want that on
the Desktop. Android and Desktop Linux are completely different platforms,
except maybe for the graphics APIs (Vulkan/OpenGL).

~~~
antris
I'm not saying I would want that. My original point was that the person I was
replying to said that they won't believe Linux gaming would ever be
predominant. I'm saying it already is.

~~~
detaro
Would you say the same about FreeBSD gaming then, given the PS4 runs FreeBSD?

~~~
antris
You can easily fork Android and create an OS on top of it that connects with
the Android ecosystem. Can't do that with PS4 and its OS and ecosystem.

------
monksy
Steam and the work that Valve has done on the linux side seems to show that's
not the case. (They've managed to port quite a lot of linux games).

This sounds like a case where a platform wasn't a priority for their business
was showing that it had bugs.

------
Riverheart
I game on Windows because of the momentum behind it but Linux support is a
selling point that goes into every purchase, because the day I migrate I will
still have my purchases.

------
everyone
2007s 'Supreme commander' is still _by far_ the best game in that series, and
the best RTS ever imo. It's still going strong, and has an awesome community-
built matchmaking service, that effortlessly supports mods and maps, called
'Forged Alliance Forever' or 'FAF'
[https://www.faforever.com/](https://www.faforever.com/)

Imo the idea of projecting an epic RTS onto a sphere is just, bafflingly bad.
In supreme commander, you zoom out the view to get a strategic overview of the
entire map.. You cant ever do that with a sphere. I am just bemused by this
game.

------
solidrake
I'm aware that if you buy a game on Windows and play it on Linux, it might be
tagged as a Windows game purchase. Wonder if this 0.1% truly tells the whole
story.

------
Ologn
I should note Android runs with a Linux kernel. It has been estimated that
games like Pokemon Go have made over $1 billion on revenue from Android
devices - larger than its revenue from iOS. Candy Crush Saga, Clash of Clans,
Dragon Ball Z etc. do well on Android as well. So the "would totally skip
Linux" advice is not heeded by every company for every platform.

~~~
pjmlp
This comes up all the time by people that usually lack Android developer
experience, specially with the NDK.

Nothing on the Android app stack exposes the underlying Linux kernel to app
developers.

Yes it is possible to access certain paths or syscalls, however none of them
are part of the public API nor guarantee to work across devices.

Only OEMs have direct contact with the underlying Linux kernel, which could be
replaced tomorrow without any issues for app developers, e.g. Fuchsia.

------
vectorEQ
it would be nice if companies could ship to linux and just say ' yeah good
luck on that' and do some fixes where they feel the time is well spent. but
unfortunately that's also not acceptable in the market, so it's either full on
or nothing for many.

------
kuon
While I am a Linux user, I boot my workstation under windows for gaming. So I
would not even be accounted as a linux gamer by the stats.

While rebooting is a bit cumbersome, I don't really mind now. I also wouldn't
trust all the games I play to run as my user on my workstation. And it would
take a bit of efforts to properly sandbox them.

------
someguy1234567
Pretty much every game runs fine on my linux box. You guys are just doing it
wrong. ;)

------
StreamBright
And these number are flipped for Mac users.

------
Deathcrow
I'm sure those statistics are entirely real and not pulled out of his ass at
all.

Also didn't Planetary Annihilation have that awful chromium based UI?

------
gpderetta
So, free beta testing?

------
throwaway2021
> In the end they accounted for <0.1% of sales but >20% of auto reported
> crashes and support tickets (most gfx driver related). Would totally skip
> Linux.

OK. So just another dumb developer being wrong. Nothing to see here move
along.

------
linuxlizard
Developing software for Linux is like painting a moving train.

~~~
zanny
SDL is binary compatible on its major release (2.0) and will probably be
forever at this point. libc++ only broke its ABI once when C++11 required it.

What else do you need to make games for Linux? If you are using Unity or
Unreal its going to statically link all its dependencies anyway. Don't use
libraries that break semver.

~~~
izacus
SDL is a 2D library. Any modern game will use 3D APIs and there you'll quickly
hit the insane minefield of OpenGL bugs that are graphics drivers on Linux.
Those are pretty much optimized for driving the desktop compositors with
everything else being a stroke of luck if it works as defined in the spec.

~~~
zanny
Any modern game should be using Vulkan for just that reason.

------
HugoDaniel
But wasn't this supposed to be the year of linux on the desktop ?

------
warmwaffles
Also I wonder how many of those crashes would have happened in windows or mac.
I suspect the code is shared and would have happened.

~~~
swish_bob
"gfx driver related" code is unlikely to be shared between Windows, Linux and
OSX ...

~~~
chme
Then redirecting those issues to the right mailing list could still be very
welcome by someone.

IMO issues does not need to be fixed by the game developers and drv developers
might be happy to have them and some code that reproduces them. Not sure why
the game dev complains here.

~~~
swish_bob
Because dealing with the users who experience the problems costs more than
they make in sales? If every additional Linux sale costs you more than it
makes?

There's being a good citizen. There's wanting to offer support to a small set
of customers. Then there's losing money. At some point, you just can't afford
to service the long tail.

~~~
chme
If the issue the user has found is in the driver, then redirecting them there
or maybe sending an automatic email for each unique issue to the driver
mailing list might help fix the issue without much effort on the game dev
side.

