Linux was 20% of issues, but 0.1% of sales


I think it’s funny how people want even more detailed control over the low levels on their PC, as Linux provides, and yet here in the real world of business they’re taking away all that stuff from everyone they can because they’re deathly afraid of hackers, viruses and just every day folks touching something they shouldn’t. Obscuring hardware even farther from the user is the modern way, not giving you even more control.

From a game developer point of view in 2019, I’d be developing for Windows PC first and then porting to consoles if I was doing anything that’s not AAA where I’d go backwards from console to Windows PC. That’s just common sense.


I beg to differ. I’ve never had more problems than I’ve had with my macbook pro. I had GPU issues for which I had to go back to Apple 4 times. After the last GPU issue they refused to help (despite promising to do so ahead of time) and I vowed never to go back to macs.

They have the worst peripherals in the world. I’ve never had issues with chargers before encountering the Macbook Pro charger. The stupid thing is built to die as fast as possible, and to possibly take its owner with it, since it can cause a fire. And each new charger sets you back $80.

And their latest laptops? Horrendous keyboard design that they’re not willing to abandon, and you can’t even upgrade the SSD, let alone the RAM.


Jonathan Blow weighs in.

Chain formatting below:

There’s a Hacker News thread about this tweet, and the amount of denial and wishful thinking in that thread is not any less than it would have been 10 years ago. So I predict that game development won’t ever get better on Linux barring some asteroid-strike kind of event.

But it got me thinking about what it would take to ship reliable software on Linux. My understanding is that Linus understands the importance of interface stability and that the kernel itself is pretty stable; the problem is the giant mound of userspace garbage that is all dynamically whimmed.

If you can make an exe that doesn’t use libc, and that talks to the kernel itself, you could probably ship something that works everywhere. Certain tasks like opening a window would be much more annoying, but you could certainly program the minimal amount of functionality you need, and after that it’s probably nicer than using the actual libraries you’re supposed to use.

I have no idea how to talk to a hardware-accelerated 3D graphics driver under these conditions, but maybe that just means software rendering is the thing on Linux.

All of this seems super hard / annoying, but if you are making a new programming language, the least you can do is keep these things in mind and not build your structure on the currently-existing userspace shantytown.

On my programming livestreams, once in a while people ask what I would do if I made a new operating system, and I don’t totally know, but I did say you could do a lot of good with a relatively small amount of work just by using the Linux kernel and deleting all of userspace and starting over, no compatibility whatsoever, to build a system that makes sense in 2020 and minimizes complexity in an appropriately hygienic way.

“Makes sense in 2020” probably means you can run a binary without “containers” or whatever else the kids are inventing these days in order to overcomplicate the job that static linking already did in the 1960s.

The other thing I should mention … for people who think “Linux just had an especially buggy couple of years, it just needs more time in its now-stable state and it will take over on the desktop and everyone will love it,” look, that is what people have been saying since 1992; for a long time the reason Linux didn’t take over was supposedly because evil Microsoft was pulling dirty tricks to prevent it.

But Microsoft just spent TEN YEARS seemingly doing everything they could to make their desktop OS unusable, and hostile for shipping software, and many other bad things, and Linux is still in the same relative position it was before that time (probably declining, actually?)

What you see today is the end-state of what shipping software looks like on an ecosystem built the way Linux userspace is built. It ain’t going to improve unless the system itself changes its philosophy in a fundamental way.

I know I am going to get tons of mild Twitter harassment from Linux fans for saying this stuff, but look … I want to switch to Linux or something like it. …

The Windows train is obviously going to a bad place. But, you know, I need to be able to write software that I can ship to people. I need to be able to work on a stable machine, and so forth. Make that possible and I will happily switch, and quickly.


Linux yah…but Apple can go straight to hell. I went through so much grief with them, with both a G5 and a macbook pro. They turned my macbook pro, top of the line, really expensive laptop into a boat anchor with one update. The macbook couldn’t use that version of the OS, and nothing would run on it anymore because everything was updated to the OS. This was on a laptop that was maybe 5 years old. Absolutely inexcusable. My second runin with them, was trying to get my G5 set up to run pro tools (music software). I had to put as much ram as I could in it. This was at a time when 2 g of ram for PC cost about 50 bucks, for Mac??? Well, it’s proprietary, and it will cost you 700$ PER 2 g ram stick. They can go fuck themselves for all eternity. I will actively try and dissuade anyone and everyone I know from ever using their products. I also make it a point in every interview that I can to mention this.

Count me in on the “I really fucking hate apple” bandwagon.


When I started my current job five years ago (the above “linux administrator” position), they handed me a… Mac. I was the new guy. I wanted to fit in. I wanted to be a team player. What was I supposed to do? So I took the Mac. I worked really, really hard trying to get this piece of shit to work for me. I googled all the byzantine keyboard short cuts. All the best apps. All the command-line short cuts and tweaks. I worked really hard to make this thing work for me.

But in the end, I couldn’t do it. After a month I went crawling back to my (new) boss and said I couldn’t do it and I needed a PC.

So he put a PC in to the req system – which, wonderfully, I had no say over what I got. Some shitty Lenovo, but, hey, it was a PC. Two weeks later when I saw that the CIO had cancelled the req I nearly quit on the spot.

Fortunately the CIO had just mis-clicked so I did eventually get my shitty Lenovo. It took another four years before I finally was able to get a real PC laptop with my own specs.


That has always been Linux’s problem. It was what made me ultimately give up on it the first time I switched when Windows 98 was leaking like a sieve so bad I had to reboot every twelve hours. I’ve had occasion to work with it again for game servers and while it wasn’t quite so bad (albeit with no windowing system or graphics to worry about…) I still got to experience the “what tree of packages do I need to update to make this damn thing work” minigame that it’s been forcing on people for decades.

Let’s not even talk about what happens if you try to turn to the Internet for support with compatibility issues.


Oh yeah, doesn’t everyone love those? The most similar question posted to the one in 2015 that you want an answer to is on some partially archived mailing list from 2003 and the edit is usually “nvm guys, solved it”, with no further explanation on how it was done.

Fuck me, I will never work with bleeding edge and undocumented software again.


This thread is making my heart cry, even if I know most of it is correct (I could do without the generalizations, though). I ain’t holding my breath that this time it’ll get X and Y, I’m not demanding devs cater to me, but I’m still going to (personally) love the Plasma Linux desktop over anything else by a wide margin.
I can snicker privately at issues people have with Apple and Windows, but I’m fully aware I shouldn’t recommend what I use to anyone. If anyone asks I’ll talk about it, otherwise I won’t bother people.


There’s hope with things like linuxbrew, which is homebrew from mac ported to linux, and with nix. You have to have the main package manager sit in user space for linux to succeed on the desktop. The root package manager should only be touched for security updates and such.


It would be interesting if you’d show which part of that post you find untrue. I read over it, and every single sentence is perfectly true.

They had a TERRIBLE Linux port, and that was known. That’s why their Linux sales were so low. Besides giving no believable source to that 0.1% claim (the guy didn’t work there in three years and was not involved in sales when he did, either, so… ) - if your port sucks, people won’t buy it.
Is that surprising to anyone? I find that rather logical…

Many good arguments here, though, pointing out the biggest problem of Linux: Fragmentation.
I’ve been saying for years that linux distributions should come together and develop one good distribution to rule them all, including all the flexibilities so everyone can still have exactly what they need. All these hundreds of distros is do is to fragment the developers, which are then not working on one goal, but each on their own, benefitting not many, but only extremely few.


There are a lot less than 5% linux gamers on PC, even discounting the China factor. No one is going “Linux first”, they do it because they think they can or they just like doing so. I have a really hard time believing “nobody goes back to Windows”, with examples in this very thread.
Secondly, you aren’t helping with your aggressiveness, and neither are the couple of Twits I caught calling the devs incompetent. We don’t matter, deal with it accordingly.

Well, let’s create a distro to solve it! Realistically, it would be easier to keep putting effort into interoperability tools like dbus, systemd and pulseaudio that allow stuff to just work - yes, they all have bad flaws, tough shit, so does Windows and OSX. The problem is that isn’t fun, especially because no one will include it unless you are Red Hat forcing down everyone’s throats. How many variations of Zeroconf are we on, now?
So, yes, they should sit down and have a nice, very long conversation about to make the experience acceptable, inviting and easy to fix in case of issues.


I don’t see what the problem is folks. Never had a problem with emacs in 20+ years :p


I am no expert on Linux, but I think this comic is on topic.


Pretty much. Until someone puts the work in like Red Hat has done on the enterprise side it will stay that way. Even then there will always be people that want things a different way.


Everyone has seen this, right?


And people thought that UNIX fragmentation was bad.


I disagree. Before Steam went “online” in China, Linux had a share of about 2-3%. And that was with Steam’s notoriously weird stat gathering. Seriously, that “regular” Steam popup asking for your stats: I think I got it once when I was actually on Linux. Every single other time I had it on Windows - and I play wayyy more often on Linux than on Windows. And pretty much everyone reports the same thing happening.

So, in the West, going for 2-3% would be pessimistic, 5% realistic, much more would be optimistic.

Of course, with China included, all bets are off, as Linux devs are only beginning to discover that part of the world and Linux doesn’t really exist in China outside of scientific circles. It might see a new rise if someone finally creates an actually usable pinyin implementation, or a decline if not. Interesting times, either way.

I don’t understand what you’re trying to say here.
Yes, there are developers going “Linux first”, there’s no way of denying that. Of course they do it because they think they can or like doing so. Why else would they? Obviously not for maximum amounts of money ;)

Well, if you do an incompetent port, then be prepared for being called out for your incompetent port. There’s no reason for sugarcoating anything here.

Well-made ports have been done by people with a much smaller team on a much smaller budget. Including RTS games.
Btw… afaik, the port is now in a very good state, so what I say refers to the original release of the game, not today.

I also don’t think I’m aggressive. I’m just not backing down when I know I’m not wrong. Why should I?


Likely true. But one can always hope for a miracle ;)


To back up the Mac gamers, in addition to macOS being better than Windows 10 :P, Apple got their equivalent of Vulkan out a couple years before Vulkan released and is already on version 2. It’s a strong low level graphics API and as Unity, etc., have added support, it’s made it a lot easier to do performant ports (and an increasing amount of originals) on the Mac. The GPU situation still isn’t ideal, but it’s quite a different scene than 5-10 years ago.

(I’ll always also be a PC builder, though.)


I spent a ton of time last year (and money) to get my system fully set up so I could use Linux on a daily basis and still game (via a virtual machine). After 8 months I ended up giving up and going back to Windows. At the end of the day I honestly don’t miss it at all and it’s nice to not have to fiddle with things every other day.

The only thing I miss is i3wm (a great tiling window manager that made it soooooo easy to efficiently use space on my monitors).