this post was submitted on 13 Dec 2023
668 points (97.9% liked)

Linux Gaming

15753 readers
224 users here now

Gaming on the GNU/Linux operating system.

Recommended news sources:

Related chat:

Related Communities:

Please be nice to other members. Anyone not being nice will be banned. Keep it fun, respectful and just be awesome to each other.

founded 4 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 48 points 10 months ago* (last edited 10 months ago) (13 children)

I think, people here look at it from the wrong side.

The code changes required for Linux support aren't the issue.

But if they support Linux, they have to support Linux. This is not some student's first indie game, but instead a massive game with up to 290 million monthly active users. That's 3.7% of the whole world's population! (And it's also more than the number of total Linux users.)

So supporting Linux means they need to test on at least all currently maintained versions of maybe the top 20 or so distros on all sorts of hardware configurations. That would increase their testing costs by around a factor of 20.

They also need to support customers if they have problems. Considering the variability of Linux configurations, chances are high that this comparatively small segment of players will consume an aproportional amount of difficult support requests.

And lastly, if the Linux version of the game has some serious bugs on some setup, it might likely be that all these Linux users think the game is shit and start talking badly about it.

So it's just a simple cost calculation: Does Linux support increase or decrease the total profit?

And if the variables change, the calculation changes with it. Exactly as Sweeny said in his post. People like Sweeny don't care about ideals or about which OS they prefer. They only care about money.

And the revelation that a CEO likes money and dislikes risk isn't exactly hard to figure out.

I'm not saying that it's good, but top capitalists tend to be capitalists.

And in the end, I'm pretty sure someone who has all the business figures and frequently has to defend those in front of the shareholders probably knows much better what makes business sense than any of us. Someone like him goes where the money flows.

[–] [email protected] 36 points 10 months ago (2 children)

So supporting Linux means they need to test on at least all currently maintained versions of maybe the top 20 or so distros

It absolutely does not mean that.

Pick a steam deck, support a steam deck, 3 major releases. If the SD runs on enterprise Linux that's a 10 year support window.

That's a perfectly viable plan - much like "releasing on x box" - and with an understandable market clearly delineated. Everything else can be "hey try, but don't call us" and we'd all still try.

[–] [email protected] 10 points 10 months ago

This is a really good idea--they officially support the steam deck, and that means it's unofficially supported on other Linux distros. The community gets what it wants without a huge extra load on Epic.

[–] [email protected] 1 points 10 months ago

Honestly, I'd just test on Steam Deck (performance, recent libs) and Debian (desktop experience, older libs) and that's it.

They also need to fix any exploits they find, which means they probably need Linux devs.

[–] [email protected] 33 points 10 months ago (2 children)

You don't have to support all distros anymore. Just take whatever windows build and test it with Proton.

[–] [email protected] 1 points 10 months ago

Sure, but things work differently under the hood on Linux vs Windows, so they still need to validate every build. That means QA resources every release (and they release often), as well as development efforts to patch any Linux-specific exploits.

If supporting Linux doesn't bring in more money than other dev efforts, it's not worth it.

[–] [email protected] 28 points 10 months ago (1 children)

I've tried running fortnite on Linux . It installed fine started to play and then I get booted out because of the anti cheat . I believe the game would run fine if the anti cheat supported Linux .

[–] [email protected] 11 points 10 months ago (2 children)

That's the fun part, the anti cheat does support Linux. Apex Legends also uses easyanticheat and it's compatible with the Steam Deck, with a Gold rating on protondb.

[–] [email protected] 7 points 10 months ago

Yeah. Fortnite's implementation of EAC literally sabotages itself on Linux mainly because Tim Sweeney doesn't want it to run on Linux

[–] [email protected] 1 points 10 months ago

That's even more annoying because the game will run . It just boots you out before you touch the ground. I was thinking about playing it again lately but I can't build with controller like I can with a keyboard and mouse.

[–] [email protected] 27 points 10 months ago* (last edited 10 months ago) (1 children)

Most games that work on Steam Deck aren't technically Linux-compatible and therefore have no "Linux support" needed. Proton has come very very far, and most games are running the Windows exe through Steam using Proton.

In fact, I've played several games that do have native Linux support, and they still play better using the Windows version through Proton. On my Steam Deck, and on my shitty non-gaming laptop.

So no, they don't have to support anything new.

[–] [email protected] 17 points 10 months ago* (last edited 10 months ago)

Exactly. Making the game WINE-compatible is not the same thing as committing to support. In reality, the only thing stopping WINE from working is Epic Anti-Cheat and the absurd thing about this is that Epic already gave EAC a WINE-compatibility mode -- they're just actively choosing not to turn it on.

What Tim's really saying is this:

I don't want our flagship game to be used as a way to highlight Steam's better Linux support, so the game won't come to Linux until EGS on Linux is at parity. Unfortunately, it doesn't make sense for us to bother doing that right now because the Linux usershare is too small to matter.

[–] [email protected] 21 points 10 months ago

Just release it as an unsupported "beta". The Linux users will figure out any issues and give higher quality bug reports.

[–] [email protected] 20 points 10 months ago (1 children)

The only thing stopping Fortnite from running on Linux is the anticheat. The anticheat it uses it made by Epic, and has a specific option for WINE compatibility.

[–] [email protected] 2 points 10 months ago (1 children)

If I remember correctly it actually uses two separate anti-cheat, and the second one not made by Epic doesn't have Linux or Wine support.

But it's still a weak excuse that they could just make a Linux version without that redundant second anti-cheat.

[–] [email protected] 7 points 10 months ago

Unless they changed it, the other one is Battle eye which also has Linux support

[–] [email protected] 12 points 10 months ago (1 children)

I'm going to do a hard disagree here - they don't have to support Linux, just add compatibility in terms of anti-cheat for Linux. Proton is likely good enough to run the game itself but the anti-cheat sees Linux and just craps itself.

They don't even have to provide support - League of Legends runs on Linux if you install the game using community scripts and custom proton, and while the client runs poorly nobody spams the Riot Games support about how the "Linux version" client doesn't work the well because people understand that it's a community effort. Riot themselves have only made a statement saying how they'll try not to break the game for Linux users, and that's pretty much it.

League of Legends is a massively popular game as well, yet Riot barely has to do anything to maintain it on Linux, let community fix issues that come up, let community provide support as it's their tools.

And while I do understand that porting an anti-cheat to be more friendly to another operating system isn't an easy task (such as for Rust, where they tried to make the anti-cheat compatible with Linux but it introduced other issues so it got shelved), I think you're vastly overstating the amount of areas a company has to cover for a game to be playable on Linux.

[–] [email protected] 2 points 10 months ago (2 children)

There's a difference though.

If the game doesn't work for (some or all) Linux users, that's not a big problem from Epic's POV. They'll lose a couple users that wouldn't have been able to play the game without Linux support anyway.

But if the Anticheat faills on Linux, that is a completely different story. Then cheaters would all dual boot over to Linux to cheat all they want. That's now a problem for the whole game's user base and consequently for the publisher as well.

Something as low-level as an Anticheat would have to be rewritten almost from scratch to work on Linux and this one really needs to be tested with every possible permutation of installed relevant software. Because if one combination is found where it doesn't work, you can be sure that the day after every cheater will be running this config.

(Just to check, do you have a background in game development and/or low-level Windows/Linux programming? I got all of that and I can tell you, nothing that looks easy from the outside is actually easy. I think you are vastly underestimating how much work goes into something until it "just works as expected")

[–] [email protected] 5 points 10 months ago (1 children)

Speaking as a former game cheater...

Cheaters are going to cheat. Booting into Linux isn't going to change that.

Anti-cheats just keep the filthy casuals from cheating. A broken anti-cheat on Linux would be fixed pretty quickly.

[–] [email protected] 1 points 10 months ago

Sure, but that's dev resources they need to spend on a small market, and they'd suggest need to hire Linux devs or pull from other projects. It's quite likely the math just doesn't add up given the likelihood for profit for other uses of those resources.

I doubt Epic would lose money in it, but they probably wouldn't make as much as other options.

[–] [email protected] 2 points 10 months ago

EAC has a check box for Proton compatibility. Battleeye is linux native. All they have to do is check a box, and test to see if they can break it. If they let it out in the works and there's some influx of cheaters, they can check the box again. Halo Infinite, Apex Legends, Smite, Battlebit etc etc were all capable of checking the box and testing.

I suspect Sweenys hesitation over support is caused by a lack of control.

Upgrading EAC in an unreal engine game is trivial, it's basically baked into the engine. They update EAC all the time.

[–] [email protected] 12 points 10 months ago (2 children)

Dude, steam ships with a bunch of libraries enabling cross distro support. It ain't that complicated https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/container-runtime.md

[–] [email protected] 9 points 10 months ago (2 children)

To be honest.... Yes it's that complicated. I've read that, Apparently valve had to spent massive ressource to figure out the load order of librairies and what to include for the steam runtime.

Granted, all they made is open source iirc. But it was a massive pita

[–] [email protected] 3 points 10 months ago

Yes, their first attempt used load order overrides and search patch patching. Now, it uses linux containers to ship an isolated environment. Think of it as more similar to docker (or LXC/LXD). That said, I haven't used it myself to so cannot comment on how difficult it is to use. Most people here are advocating for them permitting proton use without necessarily supporting it officially though. Which can easily be done by changing an option in EAC.

[–] [email protected] -1 points 10 months ago* (last edited 10 months ago) (1 children)

Did you read the second line of my post?

The code changes aren't the issue.

[–] [email protected] 0 points 9 months ago (1 children)

Did you read my comment? They ship with libraries to unify distribution across distros

[–] [email protected] 1 points 9 months ago* (last edited 9 months ago)

I said: Code changes are easy, all the other things in regards to supporting playing on Linux (anticheat, support requests, testing, ...) is hard.

You said: But code changes are easy because steam has libraries to unify distribution.

Do you see the problem here?

What are you going to tell me next? That code changes are easy?

[–] [email protected] 11 points 10 months ago

It's more that epic have a competing store and Tim doesn't want to do anything that might help steam gain more traction.

[–] [email protected] 7 points 10 months ago (1 children)

If it can be made to run via Steam, then they only need to support it as far as getting it installed in Steam. Either Proton or native, it can be made an invisible issue from the user perspective. They have made a choice not to do so.

[–] [email protected] 2 points 10 months ago (1 children)

Right, no need to support 20 distros. One distro, known hardware. Anything else, you're on your own.

[–] [email protected] 4 points 10 months ago

If Steam can install on it, then it's done. The distro doesn't matter in this case. If Steam'll install, then you're done.

[–] [email protected] 5 points 10 months ago* (last edited 10 months ago) (1 children)

EA/Respawn somehow haven't had a problem with doing that with Apex legends.

[–] [email protected] 1 points 10 months ago

Does it have to support every permutation or just a standard one like SteamOS?

[–] [email protected] -3 points 10 months ago (2 children)

It feels like none of the replies to you actually read your comment. I appreciate you taking the time to offer up possible explanations with examples. Thank you!

[–] [email protected] 2 points 10 months ago* (last edited 10 months ago)

Except he's completely wrong because containers work specifically to solve the problem of deploying across different configurations. Valve already figured this out a decade ago with the steam runtime. That's why I can run a relatively obscure OS like Bazzite and nearly my entire library of AAA just works like it would on any other distro. You can run a container across hundreds of thousands of different configurations, it doesn't matter.