Feral Cites Proton for Cancelling Linux Ports

Feral Interactive has a long history of bringing games to Linux and macOS, ironically Feral often (if not always?) use an abstraction layer to bring the games over, basically plugging some level of Windows emulation into the finished product. Yesterday, Feral announced ports for A Total War Saga: TROY and MYTHOS DLC for macOS and then confirmed these wouldn’t come to Linux due to Valve’s Proton Windows emulation compatibility layer:

I don’t think this should be surprising, but it’s sad to see Valve destroy native Linux gaming.

Ethan “flibitijibibo” Lee May Retire from Programming Due to Valve’s Proton

Earlier today I spoke with Ryan C. Gordon, the internet’s #1 icculus, to get his opinions on Valve’s new seemingly anti-native Linux gaming stance. The long and the short of it is that Gordon is seeing the bright side. If the Steam Deck is successful, it will give thousands of people playing games their first desktop Linux experience and they might become the argument for native ports once that platform takes off.

True, too, is that the option to plug in a keyboard, a mouse, and a monitor, using a USB-C dock, and start using Linux. That could be many people’s first experience with Linux on the desktop. It could be good if Valve does a good job with SteamOS 3.0.

However, I remained incredibly skeptical that this is necessarily going to end up going well for Linux users. Valve has not only stated explicitly that game developers do not need native ports, but according to developer Ethan “flibitijibibo” Lee, Valve may also be reaching out to developers and asking them to use Proton instead of native ports:

Lee is perhaps the person with the second longest career bringing games to Linux and working on gaming technologies that make that easier. Lee’s FNA utilities have enabled at least 83 games to be ported away from Microsoft’s deprecated XNA SDK to the more modern FNA SDK and then onto platforms like the Nintendo Switch, Linux, modern versions of macOS and Windows, Xbox One, iOS, tvOS, and Google’s Stadia.

Here is my conversation with Lee, which occurred over email. Names and my questions are in bold. The only edits I’ve made to Lee’s responses are to italicize product names as well as to italicize whenever Lee used underscores to indicate italics.

Jack Slater: How do you feel about the Windows API Compatability Layers like WINE and Valve’s fork using Proton?

Ethan Lee: It’s an essential preservation project, one that I actually worked on for about a year! It helps get access to dead Windows games which I think is really important, just as it has been for FNA and equally-dead XNA games.

Slater: What kind of experience do you think people will have playing games on the Steam Deck using Valve’s Proton?

Lee: The same as those on Linux, honestly – I don’t suspect the experience will magically be any different than what we see on the issue tracker, which is huge and has tons of loose ends and titles yet to be investigated (big surprise, there’s only 20,000 of them and this only covers ~10% of them):

Slater: You have said that Valve is reaching out to game developers and asking them to consider switching from native Linux ports of games to Proton’s compatibility layer, do you know or could you speculate as to why they’re doing this instead of encouraging native ports?

Lee: To be clear: The issue is primarily situations where developers have historically shipped native, and may not have shipped their next title as native yet. This is common, as much of my portfolio will show. I suspect there’s a disconnect here where only one title is examined without looking deeper into it, and so an unintentional partnership comes out of it. The one that seemed to get mixed in with this is, from what my partners have told me, is an e-mail sent to those requesting kits that, much like the developer documentation, prominently features Proton and makes no mention of why you want to care about native. This is probably a case of just not thinking about the wording and the communication, or worse, not thinking about the consequences of obscuring the information until it’s too late.

I don’t know if there is any intent to erase native games on purpose, but consider that the only reason I’m aware of these communications is specifically because of my partners, whom I make Linux games for.

Slater: Do you know if Valve is offering any incentives in return for developers who are willing to switch their games from native Linux to Proton?

Lee: I mean, do they really have to? That’s the beauty of a loss leader, just sink money into it and undercut everyone else to get what you want.

Slater: How will this change your plans for Linux game ports going forward?

Lee: I have my remaining contractual obligations, but short of a complete 180 from Valve that is very very loud I have to walk away and go do other things for a living. A course correction is unlikely, as they seem abnormally confident that developers will just magically come to me after the device’s inevitable success, which is basically asking me to just casually accept that I’m going to endure even bigger losses than I already have with an empty promise that my business will turn around based on a third party’s big risk that they think anyone can endure. It feels very like much I built my own casket having worked on Proton, and as they’re shoveling dirt onto me they’re going “don’t worry, you’ll be fine when someone else finds you!”

Slater: Will this change your FNA development plans?

Lee: I’m currently talking to the other maintainers about transfer of administration roles. I suspect things will change a little since I was super involved in day-to-day maintenance even when I stepped away from working on FNA all the time a couple years ago, but I trust that they’ll do a good job even long after I’ve stopped programming.

Slater: Even Valve’s website for the Steam Deck says “no porting necessary.” What could Valve do to repair this situation with people who handle porting games to Linux?

Lee: So in my most recent conversation with Valve I mentioned 2 things:
1. The developer docs absolutely need to include native somewhere. If your plan is to migrate to native you can’t hide this stuff forever, if you try it’s going to feel like a bait-and-switch and developers will just walk away the second you start to ask for the investment that you repeatedly insisted was not necessary to begin with.

2. If you’re going to intentionally tank businesses who work on native, the least you could do is subsidize work on stuff that native specifically cares about. I and every other specialist could name a million things that would fit this bill, just in the last week the FNA team has been talking about Wayland support, which includes drafting numerous new EGL extensions and Wayland protocols, and other things like Linux high-resolution timer precision, which we’ve discovered is actually a big pain in the ass to track vs. Windows where you can just set the timer resolution and know that your sleeps will be at a certain level of precision. These are tough problems that need people looking at them, and native cares about this stuff! Instead the money’s just getting dumped into crap like the Synchronization Primitive of the Month that basically nobody making production-quality software can ship.

Slater: Early rumored reservation numbers for the Steam Deck seem to be going well for Valve with the figures for the larger NVMe storage tiers. Do you have anything else you’d like to say to people considering a reservation or who are on the fence about keeping their reservation?

Lee: Buy it if you want, lord knows this interview’s not going to stop you, just don’t be surprised if the AAA and “indie” businesses produce the most cynical outcome imaginable if the operating system is what makes the device interesting to you. Were Valve’s attitude different I probably would have ordered one, knowing that incoming business would allow me to do so. But that business isn’t coming, so I can’t and won’t.

Slater: Is there anything else you’d like to discuss that we haven’t yet?

Lee: I guess follow https://music.flibitijibibo.com/ if it turns out I still know how to be a music producer?

Slater: John Carpenter has so many incredible movies. They Live, The Thing, Big Trouble in Little China, and Escape from New York & L.A just to name a few. Which is your favorite and do you feel like The Thing made it’s way to Washington and has taken over Valve?

Lee: It’s between The Thing and Halloween – though I guess I like Halloween mostly based on Carpenter’s attitude toward scoring and soundtracks, which up until watching and researching it I hadn’t thought of scoring the way he does.
Tell you what, if you (yes you, the reader!) read this and hated me for it, I’m actually the Thing and the real me died a long time ago. That’ll preserve my reputation, right?

Before Valve brought a native Steam client to Linux, the only games Linux users had were from a very small cottage industry coming from indies who developed for Linux and developers like Ryan Gordon and Ethan Lee. When the other writers at LinuxGames.com and I heard rumors about Steam coming to Linux, we were incredibly happy for that news and then it finally happened. Linux gaming was back, and 2014’s Steam Dev Days launch with Steam Machines and SteamOS truly seemed like a moment where Valve was championing the native port.

Then SteamOS & Steam Machines floundered, and now here we are again with the Steam Deck except this time Valve has changed the focus to their Proton Windows compatibility layer. Although we had hints in 2018 never would I have expected Valve to potentially end native Linux gaming along with the careers of prolific developers like Ethan “flibitijibibo” Lee.

I am very disappointed to learn that the long and incredibly successful career of a fantastic developer who has been responsible for so many games coming to Linux and other platforms may be over due to Valve’s takeover of this corner of game and platform development suddenly discarding native games for Linux with the launch of the Steam Deck. I wish Lee well whichever way this turns out, but I suspect that once Valve has made up their mind about the path for Linux development this is just how it will be.

Valve’s profit motive may have both been the reason for the resurgence and, depending on your perspective, now the death of native Linux gaming.

I have reached out to Valve for comment and will update this post if I hear back from them. If other news surfaces regarding native games on Linux, it will get posted here.

If you’re a developer who wants to speak about the issue of native ports on Linux, or a Valve employee who wants to speak on or off the record, please get in touch.

Native Linux Games vs Windows API Compatibility Layers on the Steam Deck

I spoke with Ryan C. Gordon, a renowned Linux developer for the past 22 years, today over a text chat to get his thoughts on the Steam Deck and native Linux ports in the light of Valve’s call for developers not to port games to Linux and instead rely on their Proton fork of WINE and other tools.

I’ve been writing with skepticism on the subject of Windows API compatibility layers for about 19 of those years. Originally I wrote about WINE and it’s successors on the precursor to this site, and then professionally for LinuxGames.com.

Gordon is also a personal friend, and we’ve worked together on open-source projects like ioquake3 so take that as a caveat though our views differ strongly on the outcomes of Windows API compatibility layers in terms of how they help or hurt Linux as a desktop operating system.

The new handheld Steam Deck computer runs Valve’s SteamOS 3.0 when it ships later this year, and is backordered already into 2022. Rumored reservation figures for the first hours of the Steam Deck’s sales are a little above 100,000, not including numbers for the cheapest 64GB model, but that’s before users are asked for more than the refundable $5 and before a wider swath of new users had access to pre-order the device yesterday. Please note that Gordon had not seen these rumored sales figures when we had this conversation.

Here’s Gordon’s response to my question about the situation with Valve asking developers not to port games to Linux, names and my follow-up questions are in bold. The italic emphasis are Gordon’s except for where I’ve italicized product names.

Ryan Gordon: I get why Valve did this; their biggest strength is the massive Steam catalog and millions of users that have accumulated a big personal library, so it would be silly to launch a device that can’t access it.

But this can be a positive thing.

We are no longer talking about people running Linux as their primary desktop to compete here. We are no longer talking about how many people found a machine to install SteamOS on.

We’re now talking about concrete sales numbers for a game console.

And maybe someday down the road, if this is wildly successful, we tell people that it’s a no-brainer to target 18 bazillion Linux users that aren’t Linux users so much as customers reliably running a Linux-based game console. The end result for you and me—clicking “install” in our desktop Steam client—is the same, even if it took millions of unaware and uninterested other people to get us there.

In that sense, it’s a better outcome than Nintendo building their next thing on Linux but requiring you to play on a Switch 2, or whatever.

Not to mention the thing encourages side loading. You want your itch.io games on the hardware. Easy. You want to emulate other consoles? Cool. You want to plug in a keyboard and write a Linux game? Do it! A wildly-popular Steam Deck opens up more Linux gaming options even if everything Valve supplies runs on Proton.

Even in the short term, one can always make the argument: okay, sure, your Windows game runs here, but you want more performance, more control, and no worries that Proton didn’t quite paper over some Windows thing weirdly? Then stop letting Valve treat your game like some RetroPie target and do a real Linux port. That choice is available to you now, almost six months before anyone will hold a Steam Deck.

I don’t know what the future holds, but this is the time to hustle more at this potential opportunity, not have a funeral for Linux gaming.

Jack Slater: I feel like we had this enthusiasm before for console-like Steam Machines and our hopes were dashed but we don’t know exactly what the failure was there. OEMs got burned in the end, and Valve has completely given up on those Debian-based foundations of SteamOS and moved to Arch Linux. Their game library is portable by Proton and even native games are unlikely to need any help to run on the new SteamOS 3.0 (excepting any new features both Valve and the developers want to support save syncing is one example here) so the move doesn’t really seem to affect game developers. Do you believe that we won’t see a repeat of Valve’s failures here with the Steam Machines and the other now discontinued hardware products (Controller, Link…)?

Gordon: These are good questions that I don’t know the answer to.

The optimistic view is that obviously Valve couldn’t wave a magic wand and make everyone ship Linux games no matter how much we wanted it to work that way, but it’s possible we look back at this history and see they chipped away at the resistance to the market over time.

First the Steam client, then SteamOS and Steam Machines, then the Steam Deck, over time it just might become an inevitability.

But also maybe not. I really don’t know.

That was the end of our discussion about the situation for now.

I am personally still very disturbed by the idea of Proton keeping Linux as a weird layer in a chain that doesn’t really matter to the end user at all. It’s not as bad to me as Streaming platforms like Stadia that “run Linux” but the end-user would never know. The Steam Deck at least lets users access the Linux desktop and do what they want at that point.

To be fair, I’m not sure most people playing games on Windows care about Windows except to get annoyed when something changes or breaks. More and more work for fun or for pay is also being done on mobile devices. There are people who do all of that on an iPad and then only use a computer running Windows to play games and I’m not sure they would care very much if the operating system underneath were running Linux except if it caused them any hassle. Clearly I’m in the same camp, at the end of the day. As I’m another person who put down $5 on a Steam Deck even though the entire process of gaming on it will involve the Windows layer I think ruins Linux. I pre-ordered because it does something I want in playing these games portably, the device is also perfect for emulating older game consoles and cheaper than its competitors (The Ava Neo, One XPlayer, GPD Win, etc).

Gordon’s pitch here is that there still will be a use for native Linux games, and that is also his work. Gordon is typically contracted by game developers and publishers and platforms to port games to Linux. Gordon’s resume most likely has the most years in porting games to Linux and now he also runs a successful Patreon crowdfunding campaign.

Can Every Game Run on the Steam Deck?

Reader Sketch has pointed to this developer-focused video where Valve says “Our goal is for every game to work by the time we ship Steam Deck.” I think that’s a great goal, but I am also vehemently against the “compatibility layer” emulation solution because it devalues the Linux platform.

People who play games don’t care or need to care about the distinction between native and emulated platforms until they run into the limitations of emulation and that’s OK. I just do not expect Valve to be able to emulate “every game” as well as playing it natively. To be fair, they only said that their goal is for the games “…to work” which isn’t a guarantee of perfection.

Valve has also said they’re talking with anti-cheat developers to get multiplayer games like Destiny 2 and PUBG working with their emulation layer:

For Deck, we’re vastly improving Proton’s game compatibility and support for anti-cheat solutions by working directly with the vendors.

My old colleague from Atomic Gamer, Foffers. has written up his impressions of the Steam Deck announcement and is also concerned about the compatibility:

But this also means that if you want to use any Windows-based tools to assist with your games – like Wabbajack, for example, to install a Skyrim modlist – that’s out of the question as well, and this is not to mention any games running outside of Steam. So Overwatch over in the Battle.net launcher? A game that has some timed exclusivity on Epic Games Store? Something classic from GOG? None of that is happening on the Steam Deck, not how it’s currently set up. Yes, you can link those games to launch from Steam over on a Windows-based Steam install, but that won’t be happening on the Steam Deck unless Valve partners with those companies to work with Proton via a new solution.

Foffers has a lot of experience with other handheld computers, like the GPD Win series and the One XPlayer. I highly recommend reading his impressions of the Steam Deck.

For what it’s worth, I put in a $5 deposit on the Steam Deck. It should be perfect for what I want to use it for, but I am very disappointed that Valve seems to have given up on porting games to Linux. They seemed very serious about it 7 years ago at Steam Dev Days when they gave out a free development box

Cheese’s Thoughts on Steam Play (Proton)

Josh “Cheese” has a ton of thoughts on the latest developments with Valve’s Proton Windows pretendulation software for Linux gaming through Steam. Cheese is always good reading, but he provides some especially useful historical context for this conversation.

I am still extremely concerned for where Linux gaming is going with Valve-controlled pretendulation as the default mode for new and old games, instead of native ports. It isn’t something many people playing those games will care about, if the pretendulation is good enough for them.