Support us on Patreon to keep GamingOnLinux alive. This ensures we have no timed articles and no paywalls. Just good, fresh content! Alternatively, you can donate through Paypal, Flattr and Liberapay!

What even more developers think of Valve's Steam Play

Posted by , | Views: 22,666

You think we were done writing about Steam Play? Wrong. Here's what Godot Engine's Rémi Verschelde and Marc Di Luzio (previously Feral Interactive, now at Unity) think about it.

First up, a few reminders on things we've already covered: our interview with the creator of DXVK, one of the projects that makes up Steam Play; our little chat with Linux game porter Ethan Lee; what Subset Games thought about it and my own personal thoughts can be found here.

For those really not up to speed: Steam Play's "Proton" (a modified version of Wine) allows you to play Windows games on Linux directly through the Steam client. See Valve's original announcement for more details.

When thinking about Steam Play and Proton, it's important not to end up stuck in the box speaking to the same types of developers. I wanted to ensure we got a broad range of thoughts here, since it will affect game engine developers, as well as developers of the actual games.

With that in mind, here's what Rémi Verschelde, the Project Manager of the impressive open source game engine Godot Engine had to say.

 

RV: “Linux as first class citizen in game engines

First point, the risk to see less native Linux ports if Proton is a no/low-cost option for decent Linux support. I do think there is a risk, and one way to reduce it is for game engines to really make Linux support a first class citizen.

That's what we do in Godot, where a high proportion of engine devs work from Linux directly (probably a comfortable majority, though I don't have stats), and we have a very high proportion of Linux users (download stats for 2018 so far are roughly 65% Windows, 23% Linux, 8% macOS and 4% miscellaneous).

First class support means that the engine should behave the same on all desktop platforms (at least as close as possible), so that devs can develop their game on their favourite platform, and then export it to all supported platforms with little to no platform-specific changes needed. That impacts the kind of graphics API that can be used (OpenGL, Vulkan), the platform-specific APIs that can be exposed or not, workaround case insensitivity on Windows, etc.

As Godot cares about all this and makes it relatively painless, I'm often surprised to see devs publish Godot games only on Windows. I also asked Twitter a while ago why developers using Unity or Unreal did not bother with Linux, and got quite interesting answers. The main reason beyond "market too tiny/don't care" is the cost of support for such a tiny market. Even if the engine supports easy export to Linux, but then your game has Linux-specific bugs, you may incur significant support costs that may outweigh the Linux sales.

That's where Proton offers a great alternative to such developers, as Valve basically takes the support upon themselves. So if you're lucky and the game works "out of the box" on Proton, you get (part of) the Linux market with little to no specific costs (according to Valve - time will tell if that's true).

That's why I think that for native games to stay competitive, we need game engine developers (looking at you Epic and Unity Technologies) to make it painless and low-risk to ship games on Linux (and macOS). For Godot games, if you have your QA done on Windows, and then have 3 persons to test the game successfully on different Linux distros, you should be good to ship basically. That's not the case yet with other big engines where Linux is an afterthought (editor support on Linux is yet another topic - but that's also important to ensure good export quality).

Proton's positive impact on FOSS and cross-platform tech

Valve's involvement in FOSS and cross-platform tech has been impressive recently, and the Proton announcement gave it all a lot of sense. Of course the advances in WINE and related technologies like DXVK are huge and benefit the Linux ecosystem as a whole. From Godot's perspective, they're not the most interesting though.

What's great for Godot is Valve's involvement in drivers and graphics APIs, which benefit cross-platform game engines directly. Their contributions to MESA mean that we get better compatibility and performance out of Intel and AMD GPUs on Linux. Their help with FAudio means that a great cross-platform audio library is becoming available also for engines like Godot to use (there are no plans/need for it right now, but it could be interesting to assess).

And most importantly in my opinion is Valve's involvement in the Vulkan stack (again, probably all done to prepare Proton's release). As seen on GitHub, Proton includes MoltenVK, the compatibility layer to run Vulkan code on Metal, and thus Vulkan applications on macOS. SteamPlay doesn't include Proton for macOS yet, but we see that it might be planned. And Valve had a direct role in getting MoltenVK open sourced, which led us to change our roadmap to focus on Vulkan support as soon as Godot 3.1 will be released.

This is *huge* for us, as it means that we can implement a Vulkan renderer and use it not only for Linux, Windows and Android, but also macOS and iOS! So there is little reason to keep our OpenGL 3.3/OpenGL ES 3.0 backend which causes so much pain on Android (terrible GPUs), Windows (terrible OpenGL 3 drivers on Intel IGPs) and macOS (terrible OpenGL 3 drivers for any GPU...).

Valve is also involved with Khronos in shaping Vulkan, and their Proton announcement specifically encourages developers to focus on Vulkan, as it's what will provide the best Proton compatibility. More Vulkan games and industry support will mean better Vulkan drivers, and should really help establish it as *the* cross-platform graphics API to rule them all. With compatibility layers like MoltenVK, gfx-rs, DXVK, etc., we can really focus on building outstanding cross-platform rendering technology based on Vulkan alone. For Godot, that's a dream come true.”

 

Has your coffee gone cold yet? Well, we also have some thoughts from Marc Di Luzio who previously worked to port games to Linux at Feral Interactive and has since moved to Unity. To be clear though, this is their personal thoughts. You can see Marc's full thoughts in this article on Medium, I will only quote (with permission) some truly relevant parts.

 

MD: "One thing that’s always struck me as curious in this community is that big-old Wine debate. Many of us are willing to throw Wine gaming under the bus, or embrace it outright, and duel with word-swords on the internet about whether to use Wine or not, but I’ve rarely seen someone get to the real meat of it — the question few seem willing to ask:

“What are you willing to sacrifice to get more games, and more people, on Linux?”

Would you sacrifice the overall quality of your games? Would you sacrifice your rights as a consumer for direct customer support on your platform? Would you sacrifice the safety of not getting banned by anti-cheat? Would you sacrifice the number of native Linux games and developers?

The way I see it, that’s been the truth of the matter for a while now. Something was always going to be sacrificed, it was simple physics, Newton’s first law. I think Valve has now brought us to that sacrificial altar and made the choices for us, but to be honest, that was always going to happen one way or another. To me, however, it seems that Proton is the lesser of a bunch of evils we could have faced. It’s minimised those sacrifices, and that’s all we could have hoped for, really."

Marc also made this sweet video to showcase some native Linux games.

 

I'm still waiting to hear back from Valve, Canonical and plenty of others so more on this may be a little while away. If you're a developer and you want to chat on or off the record about Steam Play, do get in touch any time.

53 Likes, Who?
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG and Humble Store. See more information here.
31 comments
Page: «2/4»
  Go to:

sterky 24 September 2018 at 3:30 pm UTC
Eike
ElvanexI was so annoyed, I didn't even let it run the update. I just powered off, and nuked it from my system, never to touch it again.

Rage quitting the OS. :-D

If the OS takes me that far... i will done it at... lets see when did my windows 8 reboot loop (to be honest it was a dual boot system for about 5 years before that)
$ cat /var/log/pacman.log [2013-08-12 14:38] [PACMAN] Running 'pacman -r /mnt -Sy --cachedir=/mnt/var/cache/pacman/pkg --noconfirm base base-devel'
scaine 24 September 2018 at 3:44 pm UTC
View PC info
  • Contributing Editor
  • Supporter
ElvanexVery well said. The thing that pushed me over the edge was when windows literally decided to reboot itself while I was in the middle of an intense gaming session. I'd been getting ready to switch anyway, but at that point, I was so annoyed, I didn't even let it run the update. I just powered off, and nuked it from my system, never to touch it again.

Haha! Love this - because it's almost exactly what I did. When the "Windows is Updating - 0%" appeared, I gave it a minute to tell me how long it would take. When it estimated an hour, I held the power button down, dual-boot to Ubuntu and wiped the Windows partition. That was June or July 2013. Very, very cathartic!
Comandante Ñoñardo 24 September 2018 at 4:06 pm UTC
Is weird that there aren't new Proton updates when DXVK and Wine had several updates in the last days.
scaine 24 September 2018 at 5:17 pm UTC
View PC info
  • Contributing Editor
  • Supporter
Presumably just a different QA process. They'll need to check it doesn't break any of the whitelisted titles. I suppose it's weird that it hasn't hit the beta channel though.
Werner 24 September 2018 at 5:51 pm UTC
or they make a bigger update to wine 3.16 also?
Eike 24 September 2018 at 6:23 pm UTC
scainePresumably just a different QA process. They'll need to check it doesn't break any of the whitelisted titles. I suppose it's weird that it hasn't hit the beta channel though.

I don't know if this already has been discussed, but the option page seems to suggest that Steam is keeping different versions for different games (a bit like PlayOnLinux)...
scaine 24 September 2018 at 6:52 pm UTC
View PC info
  • Contributing Editor
  • Supporter
Eike
scainePresumably just a different QA process. They'll need to check it doesn't break any of the whitelisted titles. I suppose it's weird that it hasn't hit the beta channel though.

I don't know if this already has been discussed, but the option page seems to suggest that Steam is keeping different versions for different games (a bit like PlayOnLinux)...

Huh - I wasn't aware of that. Makes sense though - once they get something "right", they don't want future versions breaking it. That whole regressions angle is the main thing that I think kills Wine for me. I've lost count of times where previously perfectly working games suddenly stopped working after an update.
elmapul 24 September 2018 at 6:59 pm UTC
" Their contributions to MESA mean that we get better compatibility and performance out of Intel and AMD GPUs on Linux. "
he mean AMD GPU, APU or both?
robvv 24 September 2018 at 7:12 pm UTC
Best to let uncle GabeN do the thinking :-)
1xok 24 September 2018 at 8:55 pm UTC
Interesting insights. Thanks for this article series.
  Go to:
While you're here, please consider supporting GamingOnLinux on Patreon, Liberapay or Paypal. We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!

Due to spam you need to Register and Login to comment.


Or login with...

Livestreams & Videos
Community Livestreams
See more!
Popular this week
View by Category
Contact
Latest Comments
Latest Forum Posts