
Rocket League left behind on macOS and Linux due to DirectX 11 shift - Impossible
https://www.gamasutra.com/view/news/357261/Rocket_League_left_behind_on_macOS_and_Linux_due_to_DirectX_11_shift.php
======
Jerry2
Epic is probably one of the biggest enemies of Linux since they're killing
Linux support of every game/product they buy [1]. And while games aren't as
important as some business/productivity applications, people do get lots of
enjoyment from playing an occasional game. It's a great stress relief. And now
even those little indulgences are being taken away.

Epic's CEO, Tim Sweeney, is extremely negative on Linux if you check out his
Twitter feed [2] and I get a feeling from reading his comments that he
despises Linux with passion.

[1]
[https://news.ycombinator.com/item?id=19844241](https://news.ycombinator.com/item?id=19844241)

[2]
[https://twitter.com/timsweeneyepic/status/964284402741149698...](https://twitter.com/timsweeneyepic/status/964284402741149698?lang=en)

~~~
bob1029
I honestly cannot blame someone in that business for hating linux. The number
of variables to test for if you only care about windows gamers is staggering.
Linux is 10x harder than windows if you care about supporting any arbitrary
distribution and driver stack. I think if users were willing to load a linux
VM for each game they'd like to play, this would be more manageable from a
game developer's perspective.

I understand SDL2 exists. I understand that Valve has "mostly" pulled off
linux/macos support. But, is it really worth it from a business perspective
for _all_ game developers to support linux? How big and wide do your margins
need to be before it makes financial sense to fully support both operating
systems? How many features (or even titles) will stay in the backlog because
your developers are busy chasing down the 5000th weird linux network/GPU/sound
bug that only occurs on this one kinda-old version of Ubuntu?

~~~
kgwxd
Supporting only a single distro of Linux would be fine. If it's not my
prefered distro, I'd be happy to dual boot into another to play a game. But I
don't want Windows on any of my machines, even as a secondary OS.

~~~
Jasper_
People always say this, but then post support comments saying stuff like
"nobody uses Ubuntu, everybody uses _insert distro here_ ". It's a big mess to
support.

~~~
grawprog
I'm still not sure.why game developers are aiming to support distros rather
than library versions. That tends to be the biggest problem with linux is the
huge number of versions of libraries each distro could have or not have and
the location of said libraries on the system. That's the issue crossplatform
developers should be aiming to tackle rather than trying to cater.to every
single linux distro. That's like trying to shoot at minnows in the ocean with
a BB gun.

~~~
BubRoss
I don't even understand why anyone bothers with targeting dynamic libraries.
Why not statically compile everything? The system calls aren't changing are
they?

~~~
nybble41
Even if you could statically link everything else you would still to
dynamically link to the system's native user-mode graphics drivers, which in
practice means that you also need to dynamically link to other libraries used
by your application and the drivers (like glibc & libllvm) in order to
maintain compatibility. Static linking against glibc isn't really recommended
in any case.

Nothing prevents you from providing your own preferred versions of _most_ of
the dynamic libraries along with the application, however. It should be
possible to limit external dependencies to libraries that actually care about
maintaining compatibility.

------
MFogleman
Rocket League's creator, Psyonix, was bought by Epic last year. The is
concern/belief that this move is a precursor to making Rocket League an Epic
Store exclusive, as the Epic store is Windows only.

Psyonix stated that they would offer refunds for Linux/ macOS users. In the
first few days post announcement, everyones' refund was being denied. It
appears that this has since been resolved. I received my refund yesterday.

~~~
m4rtink
This is one extra thing I don't like about Epic store - Valve has a Linux
client & hosts many Linux native games, is active in many open source projects
including GPU drivers and even actively works on improving Wine/Proton to get
Windows games run seamlessly on Linux.

Epic does nothing like that and even actively pushes games to be exclusive
this Windows only, using their Windows only client.

~~~
mikewhy
> Epic does nothing like that and even actively pushes games to be exclusive
> this Windows only

Don't Epic make Unreal Engine, which supports Linux? I'm not sure it's fair to
say they do nothing, if that's the case.

~~~
briffle
Epic also owns one of the largest "anti-cheat" software companies. That refuse
to support linux, or work with Valve on making it work on proton.

There are quite a few games that work great with proton, but can't be played
online because the anti-cheat won't run. Like Arma3. It runs great in linux,
but the binaries are always 3-6 months behind the windows ones. so your choice
is to find a server with 2-3 people on it, or run it on proton, see lots of
servers with hundreds of people, and can't connect.

Also the problem with fortnight, pubg, etc.

~~~
VectorLock
Their anti-cheat software might have a hard time getting any injected
shellcode to run under Linux.

------
kyriakos
If user base on those platforms is very small then it makes no sense for the
developers to spend resources to keep it updated. At the end of the day its
about demand and supply.

~~~
reaperducer
_If user base on those platforms is very small then it makes no sense for the
developers to spend resources to keep it updated. At the end of the day its
about demand and supply._

That's only if your business model only looks at the next quarter, and if you
don't care about your brand.

Amazon, and department stores before it, became huge because they made an
effort to cater to all needs. That allowed them to be the go-to brands for
people looking for things.

Imagine if in its early days Amazon ran the numbers and discovered that
textbooks were only a small portion of its sales, so it stopped selling
textbooks. Then it noticed that cookbooks were only a small part of sales, and
those were cut. Then it noticed that mysteries were only a small part of
sales, so they went out the window. Next thing you know, nobody shops at
Amazon because its focus on the big numbers turned it into a niche provider.

If a games publisher chooses to restrict its platforms, that's its business.
But I won't think of it for "games" in general when I want to find a game.

~~~
alxlaz
I love... well, ok, I _use_ Linux, and I've been using it for almost 20 years
now. A lot of the software I write to earn my living runs on embedded Linux
systems. And _still_ I'd rather poke my eyes out with a toothpick than port,
or write, a game for Linux, targeting general hardware. If I owned or managed
a game studio, I'd keep on using Linux, but I wouldn't publish a Linux game
for the life of me, not with things being the way they are now.

If Linux were just a niche platform, that would be fine. But supporting
_desktop_ Linux systems is disproportionately difficult -- it's a small niche,
but it's a lot of effort. Userland APIs break all the time. The constant churn
in the graphics and desktop space leads to a lot of instability and bug
reports. Between Wayland being default on some distributions, unstable
graphics drivers, and the umpteenth rewrite of God knows what other component
in Gnome or KDE, you get to deal with the sort of bug reports and crash dumps
that used to pop up fifteen years ago when a Longhorn beta was leaked and
everyone tried to run their games on it for shits and giggles. Linux desktop
is basically a neverending beta. People don't write games (or software) for it
for the same reason why you don't write games for a leaked Windows beta.

It's no coincidence that Linux is such a big player in the embedded and server
markets, but not in the desktop market. Writing desktop software for Linux in
2020 is about as enjoyable as chewing nails. It's an unstable and flimsy
platform to target, and not a very profitable one, either. I can't blame any
company for skipping it.

Edit: someone else posted this here and yep, it's spot on:
[https://twitter.com/bgolus/status/1080213166116597760](https://twitter.com/bgolus/status/1080213166116597760)
.

~~~
cosmiccatnap
It's nice that you have embedded experience but as long as you don't write in
directX there is no difference between game development among these platforms
except for the massive black box of strange stuff that is the windows API. I
would take the Linux API any day over that for basic I/O and most drivers are
baked in. There is a reason all consoles historically besides xbox are made in
top of a stripped Linux kernel.

~~~
alxlaz
That's absolutely not the case!

First of all, there's no "Linux API". The kernel does expose a stable
interface but you're not going to write a game just by issuing system calls.

But the kernel is pretty much the only piece of this tech stack that exposes a
stable interface. Pretty much everything else changes a lot. There are
exceptions -- SDL2, for example, is great to write against. But most things
aren't -- they change a lot, and they're undocumented. This tends to result in
duplicate code that goes out of date and results in all sorts of strange
quirks and bugs. phk has a good summary of this here:
[https://queue.acm.org/detail.cfm?id=2349257](https://queue.acm.org/detail.cfm?id=2349257)
.

As for drivers: there's one set of drivers that aren't baked in and they're
critical for games, namely nvidia drivers. Anyone who's done graphics
programming on Linux has their own horror stories about nvidia's stack. I
won't bore you with my own, suffice to say that things are never, ever as easy
as "you just write against the OpenGL API and you're set".

"Historically", I'm not aware of any major console that's built on top of a
stripped Linux kernel. Sony has been using their own franken-BSD since at
least the PS3. Don't know about Nintendo but given how much effort has gone
into the occasional port for Nintendo hardware, I doubt they're using Linux.

Linux has been only recently adopted by some console devices, and those are
basically embedded systems. You target a single hardware platform (with a
single, known set of quirks), a stable kernel, a stable driver, a stable set
of userland libs. It's not great -- backporting kernel fixes is notoriously
finicky, for example. But it's a scheme that, at the very least, allows you to
write code to implement whatever functionality you want to implement, instead
of wasting time impedance-matching between userland APIs.

------
notinventedhear
I was _so_ excited when Rocket League first came to Linux, but that was
several years before Proton[1] was released.

But according to [2] the game runs really well on Linux via Proton.
Personally, I don't see any problem using Proton to play the game on my Linux
gaming-rig.

[1]:
[https://github.com/ValveSoftware/Proton](https://github.com/ValveSoftware/Proton)

[2]:
[https://www.protondb.com/app/252950](https://www.protondb.com/app/252950)

~~~
kgwxd
The concern is that Epic will add EAC and that Proton is going to cause you to
get banned or they pull the game from Steam and move it to EGS which doesn't
run on Linux, and likely never will. So the question becomes why should I put
more effort into a game that's likely not going to be available to me in the
very near future?

------
kgwxd
This is what I hate about ever-changing games. If it's such a big change, just
make a new game, Rocket League 2. I'm sure people will still complain for some
other reason, but no one looses what they paid for.

~~~
sangnoir
They'll still not want to kill the servers for the old game and the net result
is the same - users stuck with an old game that can't go online.

~~~
nybble41
There's no reason they can't just let users run their own servers for older
games. We're not talking about a MMORPG here, where centralizing the servers
might make sense in order to give everyone a shared experience.

------
Operyl
I’d be normally more upset about this, but the last sentence is a biggie in
this situation. Psyonix is offering full refunds for the base game (which is
better than nothing, although I wish it included DLC etc) to anyone, even
outside of the two week window.

~~~
thethrowboat
Atleast I got dlc refunded. I had to make manual refund ticket, automatic one
was rejected because I had few hundred hours of game time.

------
ben1040
The refund process is a mess. I followed the directions on the Reddit page
last night and got an email from Steam saying they’re refusing the refund
because it’s been more than two weeks.

Other people on the comments have said similar things.

------
threatripper
SuperTuxKart ([https://supertuxkart.net](https://supertuxkart.net)) is a free
racing game similar to Mario Kart and it also has a "Soccer" mode where you
play in an arena with a ball and two goals like in Rocket League.

~~~
csande17
I love SuperTuxKart. It's the first game I install on any new computer, and
I've beaten the story mode several times. I usually focus on the racing modes,
but I've tried Soccer as well.

SuperTuxKart is not an alternative to Rocket League! If you go into it
expecting anything Rocket League has -- polished realistic-looking graphics,
physics that let you jump and tilt and drive up the walls of the stadium, a
thriving online play community, a matchmaking system -- you're going to be
disappointed.

~~~
threatripper
Your criticism is correct. It is similar in the gaming principle but way way
behind in user friendliness and polishing. That said, as far as I know, this
is the best alternative that we have right now on Linux. Having played it with
kids (who never played Rocket League before) I can say that it can be a fun
activity.

------
neura
It's both surprising and unsurprising to me how many comments here are focused
on EGS (which is not what the article is about) and almost nobody is talking
about how Rocket League's macOs and Linux players make up less than 0.3% of
the players, combined. SMH

~~~
user_50123890
^ developer time is worth crazy much, it's just irresponsible to waste lots on
it on a 0.3% of the users.

just go ask the actual playerbase if they'd prefer the devs working on
linux/macos ports or actual gameplay/issues affecting the average player and
see the answer.

~~~
isbjorn16
Seems more irresponsible to not refund the game and DLCs, though. What refunds
are happening seem sporadic and limited to base game only, which is pretty
reprehensible.

------
therealmarv
Wow, in the past it was 1 or 2 different 3D architectures. Now we have 3 of
them:

DirectX on Windows, Metal on macOS, Vulkan/OpenGL4 on Linux

~~~
carlosdp
Vulkan/OpenGL are multiplatform

~~~
Rusky
They are less multiplatform than you would like, though. MacOS is stuck on an
old version of OpenGL with no chance of updating since they deprecated it, and
it has no Vulkan support (ignoring translation layers like the one Rocket
League used, of course). On Windows, Vulkan is a second-class citizen that
isn't always available.

And beyond that, there's the age-old problem of driver quality- for a given
platform, using the native API tends to hit fewer bugs, perform better, and
support more features. This has been true for years with Direct3D vs OpenGL on
Windows, for example- browsers on Windows all wrap Direct3D to implement
WebGL.

~~~
out_of_protocol
So everyone except mac. And you have MoltenVK

------
aaron-santos
> Unfortunately, our macOS and Linux native clients depend on our DX9
> implementation for their OpenGL renderer to function.

I'm not a gamedev and just have some hobby xp in DX and OpenGL, but I don't
begin to understand why an OpenGL renderer would in any way depend on DX. Is
this just code for "we have such few Mac and Linux users that it isn't worth
our time to support OpenGL"?

~~~
Rannath
AFAIK: The way DX9 works for Windows software running under Wine, is that wine
has a layer that intercepts all DX9 calls and retranslates them into OpenGL.
There is no equivalent for DX11.

~~~
protanopia
Wine has supported DX11 for over 2 years at this point[1]. However, how is
that relevant? Did the Mac and Linux versions use Wine?

[1] [https://www.omgubuntu.co.uk/2018/01/wine-3-0-released-
direct...](https://www.omgubuntu.co.uk/2018/01/wine-3-0-released-
direct3d-11-support)

~~~
Rannath
No clue. I was making an educated guess. I was stuck with DX9 for a while
because I wanted some stuff to run under wine. I switched to opengl nearly...
6 years ago now? Didn't realize it had been that long.

------
thrower123
I'm always amazed by the longevity of DirectX 9. It was a truly excellent
graphics API. DirectX 11 had more features, and was in some ways better
designed, but it was always really painful to have to reimplement some of the
things that were stripped out of the D3DX utility libraries that formerly were
part of the SDK.

------
a13n
Honestly the game was not playable on macOS. If you wanted to play on your
MacBook you had to run Windows with bootcamp, which you can still do. So I
doubt this change will really impact anyone.

Can anyone talk about how it plays on Linux? I can’t imagine a huge playerbase
there.

~~~
thethrowboat
60 fps@1440p with gtx 1060 on linux, can't remember if it was limited to 60
fps, but that was good enough for me. Never tried in windows.

------
ch_123
Maybe I am missing some context here, but why would a game studio make a
backwards-compatibility-breaking change to the engine a five year old game? I
know that it's a popular game, but this sounds like an excuse to me.

~~~
Pfhreak
It's backwards compatible for 99.4% of their users. Maybe there is future
feature work they want to do, but are limited by DirectX9. Maybe they got
tired of working with a 20 year graphics library and it's cheaper in the long
term for them to update to the latest.

~~~
kevingadd
As someone currently maintaining code that targets Direct3D 9, it's really not
worth living with the constraints if the vast majority of your users can run
stuff targeted at newer APIs like D3D11. I don't blame them. Newer APIs
deliver better performance and useful features, and there are great new
debugging tools that don't work with D3D9.

------
Wowfunhappy
What I find a bit odd about this is the existence of the Switch version.

Surely the Switch's graphical power, presumably it's not going to get a bunch
of fancy new DX11-esque features. I imagine they'll do the minimum to keep the
Switch compatible with other clients in multiplayer.

But if they're keeping multiplayer compatible with an older Switch codebase,
why not keep it compatible with older Mac and Linux branches?

------
dang
The previous thread was
[https://news.ycombinator.com/item?id=22133431](https://news.ycombinator.com/item?id=22133431).

------
cwt137
The article makes it sound like they were running DX9 in Linux and MacOS. If
true, how is this so? Is there some type of X11 extension that implements DX9
or something?

~~~
gpderetta
They probably have their own abstarction layer that implements the subset of
DX9 they are using on top of opengl. This is very common on linux ports as it
is hard to justify the cost of a full rewrite of the graphic engine.

~~~
protanopia
Feral Interactive has managed to port many games to Vulkan. They even updated
their port of Mad Max to Vulkan after release.

~~~
gpderetta
Yes, and I own copies of many of their ports :)

------
jannes
Does anyone know why DirectX 11 is so much better than DirectX 9?

Looks like they were using some kind of translation layer that was translating
DX9 calls to OpenGL.

~~~
monocasa
DirectX9 is ancient, like somewhere between an original Xbox and an Xbox 360
in features. It's very difficult to use any modern graphics techniques with
it. DirectX 11 is the most recent version of that classic style of graphics
APIs, with DX12 being to DX11 sort of what Vulkan is to OpenGL. If I had a
legacy DX9 codebase and I wanted to use some features of newer GPUs than what
existed in 2002, I would convert over to DX11.

------
TazeTSchnitzel
Well… Linux and macOS users can try it under WINE, perhaps?

~~~
kgwxd
For how long? People train for this game like any real-world sport. Imagine if
a bill to make football illegal within a year seemed very likely to pass, do
you keep practicing?

~~~
xboxnolifes
If I played RL at a professional level (I do at a collegiate one), I would
make sure I have a windows partition. It's not a massive issue for this
scenario.

~~~
kgwxd
Most people don't play and practice sports truly expecting to become a paid
professional.

------
ErneX
The game ran pretty bad on macOS though. Same computer with a GTX 1080 runs
the game on win10 at hundreds of FPS with everything maxed vs barely able to
run the game on macOS with all the detail on minimum.

------
cycloptic
It's because of things like this that I won't play closed-source games
anymore. The modding community has demonstrated repeatedly that they are
willing to maintain ports of these things, but only as long as the source code
is open so they can actually, you know, do the port properly.

And before someone rails on me about anti-cheat, or about reduced profits
because of the whole game showing up on torrent sites, I'm not talking about
that stuff -- I'm talking about the bare minimum client code that is required
to run the game.

~~~
penagwin
Serious question - What open source games do you play? I'd consider myself a
"gamer" and I can't think of many recent successful games that are open
source. Indie games sure, modding support sure, games without any DRM sure.

But very few are "open source".

~~~
kaibee
Cataclysm: Dark Days Ahead is probably the best example of a "community
driven" open-source game.

[https://github.com/CleverRaven/Cataclysm-
DDA](https://github.com/CleverRaven/Cataclysm-DDA)

~~~
kgwxd
I absolutely love that game. I'd really like to see people play it live on
Twitch, I think it'd go really well with the live chatting dynamic. There has
been very few, but they always use tiles and I don't want tiles overwriting my
imaginary version of objects.

