Return to Level1Techs.com

Steam Play: Windows Games on Linux (Proton Discussion)

steam-play

#1

Proton testing thread here:

New information here, directly from Valve:

Today we are releasing the Beta of a new and improved version of Steam Play to all Linux users! It includes a modified distribution of Wine, called Proton, to provide compatibility with Windows game titles.

In addition to that, we’ve been supporting the development of DXVK[github.com], the Direct3D 11 implementation based on Vulkan; the nature of this support includes:

  • Employing the DXVK developer in our open-source graphics group since February 2018
  • Providing direct support from our open-source graphics group to fix Mesa driver issues affecting DXVK, and provide prototype implementations of brand new Vulkan features to improve DXVK functionality
  • Working with our partners over at Khronos, NVIDIA, Intel and AMD to coordinate Vulkan feature and driver support

Looks like they released a beta today as well?

GamingOnLinux article:

It currently has a limited set of games that are supported, but even so it’s quite an impressive list that they’re putting out there. Which includes DOOM, FINAL FANTASY VI, Into The Breach, NieR: Automata, S.T.A.L.K.E.R.: Shadow of Chernobyl, Star Wars: Battlefront 2 and more. They will enable many more titles as progress on it all continues.

To be clear, this is available right now. To get it, you need to be in the Steam Client Beta.

Update #1: I spoke to Valve earlier, about how buying Windows games to play with this system counts, they said this:

  • Hey Liam, the normal algorithm is in effect, so if at the end of the two weeks you have more playtime on Linux, it’ll be a Linux sale. Proton counts as Linux.

So if you buy a windows game and play it using Proton on Linux for two weeks, it will count as a Linux sale and add statistics to the developers/ publishers stating that there is a demand for said game on Linux.

Phoronix article:

https://www.phoronix.com/scan.php?page=news_item&px=Valve-Steam-Play-Proton-Linux

Reddit thread:

Old speculative information (no longer relevant):

It’s unclear if Valve is just forking a version of WINE for their own use, or if they are developing their own compatibility layer. But it looks like future versions of the Linux Steam client and SteamOS might have the ability to play Windows exclusive games on Linux without having to go through the hassle of using WINE. Really interesting news!

Another article from ARS Technica:

GamingonLinux:

This is some of the text found hidden in beta UI:

“Steam Play will automatically install compatibility tools that allow you to play games from your library that were built for other operating systems.”

If this is true, then perhaps they will also add this to the Steam client for OSX as well?

GITHUB link:

REDDIT speculation:


Steam Play Games Compatibility List
Linux Gaming: DXVK, Wine, and Lutris (Part 2 of 4) | Level One Techs
#2

Ill believe it when I see it


#3

It could very well be something that Valve is testing, just to see if it is a viable option to get more Windows titles on Linux. But, it is there in the Steam database, Valve does have some repositories up for testing selective games.


#4

I would guess they are either using wine or codeweavers thing (crossover?) due to commercial support.

I don’t think they would be starting a compatibility layer from scratch, because that would be a lot of pointless work that has already been done. I mean in the past what they did on Linux was mostly pushing for development of stuff that was already there, I see no reason why they wouldn’t continue that.

What’s nice about this is that developers may have a way then to get statistics on how many people are playing windows games on Linux via wine (or whatever compatibility layer) and may start a bit of optimisation.


#5

I definitely agree, but I was running with the headlines posted by other sites. There really is no point in re-inventing the wheel when it comes to Window’s compatibility layers. It’s possible that they could go with some sort of DXVK solution, as DXVK generally gets the best performance/ compatibility across different video drivers on Linux.

By the sounds of it, if there is a roll out, it seems like Valve would just release selected titles that are known to have good compatibility across the boards. Kind of like what Microsoft does with Xbox 360 compatibility on their current home consoles.

Though, given that this is Valve, and they love to find ways to get other developers to do work for them, I wonder if they will release an SDK of some kind for developers to tweak their own profiles for cross compatibility?

Overall, this sounds like a good move from valve to drive more of their library to SteamOS. There has been news lately that Valve has been hiring more Linux developers. They also have been ramping up development on SteamOS again and a 64bit client should be available soon. Nice to see them push forward.


#6

IMO i would rather valve put work into either getting proper 64bit support for steam, porting over the many windows only source tools needed to work on games, improving support for already existing games and the dependency hell.


#7

I bet this is going to be fasttracked when Windows 10 S becomes the default, and you won’t be able to install Windows 10 without a Microsoft Account. (The full rollover of “Windows as a service.”)


#8

Its what Linux gamers want. To good to be true maybe.


#9

Why is valve so incompetent when it comes to SteamOS? This should have been a day one feature


#10

“Hi, we’re Valve, and we’re going to re-implement a bunch of stuff peeps have been working on for ages so we can brand it as our own solution. Rather than helping a bunch of open-source projects already trying to achieve the same thing.”

I’m exaggerating, but only slightly I think.

Having said all that, if it works out then that’s freaking awesome.


#11

I’m glad that this is a thing and not something what gets ridiculed that whats the point

Ideally, I’d want that through Steam so that I just click that icon, and its working
Then it should have all settings what just can be altered, its most annoying when nothing can be done


#12

They’re pushing stuff upstream all the time. Besides we don’t even know how they’re going about it, but I see no reason why they shouldn’t be allowed to use wine (or crossover even). Even in the case they’re not directly contributing to wine (which, again, we don’t know yet), it’ll probably result in more people recognizing wine and bringing new developers, which also helps.


#13

They could be using wine, actually, and helping the open-source side of it.

However, Valve is also a business designed to make money. They need appeal in order for people to move to their product and buy into it. If they were to release it open source, even if other companies can’t just copy their code, it would be significantly easier to develop such a feature.


#14

fear of windows getting made at them for using “windows” related code


#15

I remember a few years ago they had their dx9 to OpenGL wrapper/converter and it worked at parity or faster. But after a few quick demonstrations it went quiet. There might have been a git hub for it.

I hope this new venture is better supported and has some kind of actual use/future.


#16

Could they have just badly worded it and by other OS it means compatibility with earlier versions of Windows or newer versions if your on an old version ?


#17

People on Reddit have been finding entries in the SteamDB going back to 2016 that hint at Valve starting this project back then. It is something that Valve has on the back burner. But I doubt it was a feature that they could have implemented well back in 2013 when Steam launched for Linux. The Steam Linux client was in pretty rough shape back then, and Wine still wasn’t the most viable option in 2013. Wine has evolved quite a bit since then, especially with the DXVK implementation. Also, things like the Steam runtime on Linux goes a long way in sorting out dependency issues for things like this.

Some of the bigger AAA game ports on Linux use DX wrappers for DirectX9/ 10 shaders. There are groups like Virtual Programing that specialize in porting windows games to Linux and Mac with this method. They are the group that ported The Witcher 2 to Linux for CDPR.

Also, the early Valve ports like L4D2 and HL2 used DX9 to OpenGL wrappers in a similar fashion for the shader draw calls.

But, you never know, maybe Valve does have their own implementation? But there was a story not long ago that the DXVK team got a large anonymous donation of money recently. Maybe it was Valve?

This is great news for consumers overall if true. There’s going to be a lot of games on Steam that will never see full native ports on Linux and this might be a good bandage for that. Also, it is very pro-consumer that I can buy games on Steam and not have them chained to a Microsoft OS. Even if the performance is lesser on Linux, it is still great that I have another option without resorting to using a third party application. Lutris is great and I use it quite often. But just having a ‘one click install’ in Steam would be nice. Especially for older titles.


#18

That is also quite possible. But looking at some of the discovered text files shows that there is going to be more at play here. It seems like they are taking a crapshoot approach and just letting users try to run unverified software.

I think this is something that they have planned for SteamOS.

"Steam_Settings_Compat"				"Steam Play"
"Steam_Settings_Compat_Title"			"Steam Play Settings"
"Steam_Settings_Compat_Info"			"Steam Play will automatically install compatibility tools that allow you to play games from your library that were built for other operating systems."
"Steam_Settings_Compat_Enable"			"Enable Steam Play for supported titles"
"Steam_Settings_Compat_Advanced_Title"		"Advanced"
"Steam_Settings_Compat_Forced_Info"		"You can use Steam Play to test games in your library that have not been verified with a supported compatibility tool."
"Steam_Settings_Compat_Forced_Enable"		"Enable Steam Play for all titles"
"Steam_Settings_Compat_Advanced_Info"		"You may select a compatibility tool to use with games that have not been tested or verified to work on this platform.\n\nThis may not work as expected, and can cause issues with your games, including crashes and breaking save games."
"Steam_Settings_Compat_Default_Tool"		"Compatibility tool:"
"Steam_Settings_Compat_Info_Link"		"SteamPlay FAQ"
"Steam_Settings_Compat_No_Default" "None selected"

#19

If it is Linux related then i wonder if the development of Winepak has anything to do with it. Bundle up a Winepak with DXVK enabled & other tweaks then have the script pull the windows game files from Valves cloud server.


#20

BTW wasn’t this found in an OSX binary ?

Seen as apple are removing support for OpenGL it might be to do with that.