
Valve Breaks the Shackles of Proton - ekianjo
https://boilingsteam.com/valve-breaks-the-shackles-of-proton/
======
coldpie
Hi, I'm involved in this project. If anyone here is a skilled C programmer
interested in getting paid to improve Wine and Proton, please throw me an
email (see profile or use your detective skills to find my work email).

~~~
sandGorgon
Quick question if you don't mind - what do the valve guys think of Windows
Subsystem for Linux ? It's tempting even for me (who has used only Linux for
20 years now).

[https://www.phoronix.com/scan.php?page=article&item=wlinux-w...](https://www.phoronix.com/scan.php?page=article&item=wlinux-
windows10-wsl&num=3)

 _In most tests, WLinux and WLinux Enterprise simply performed inline with the
other Linux distributions benchmarked._

Performance is pretty much at par (and in some cases better than Linux).

Do you guys envision a long term disruption in this space ?

~~~
ghostly_s
How is WSL relevant to the needs of Linux gamers?

~~~
sangnoir
Or Windows gamers for that matter - it's not like there are a bunch of closed-
source linux games that need WSL to run on Windows. I am puzzled by the
assumption that Valve engineers somehow have a (professional) opinion on WSL

------
kurtisc
I look forward to my Steam friends being notified I'm playing Office
Professional 2019.

I've been very impressed with what I've used so far. Most recently I've had an
unofficially supported game (Skyrim) successfully query my hardware and
accurately set the graphics settings.

~~~
alpaca128
Same here. Skyrim already runs perfectly for quite a while, and now the
ability to circumvent native clients changes a lot again.

In my case there's a game where the Linux version always crashes after about
30 minutes, and I hope it'll run smooth enough with Proton.

~~~
stevehawk
Damn. I can't even get the game to run right in Windows. It's got that physics
glitch where it can't make it past the gate in the intro.

~~~
blattimwind
There are several mods that address this issue (last but not least LAL).

~~~
stevehawk
LAL?

I feel like the last time I tried to fix this I discovered the mod to fix it
was only for the 'Special Edition' or something which I didn't have.

------
dgellow
For people who don't know what Proton is:
[https://github.com/ValveSoftware/Proton](https://github.com/ValveSoftware/Proton)

> Compatibility tool for Steam Play based on Wine and additional components

> Proton is a tool for use with the Steam client which allows games which are
> exclusive to Windows to run on the Linux operating system. It uses Wine to
> facilitate this.

> Most users will prefer to use Proton provided by the Steam client itself.
> The source code is provided to enable advanced users the ability to alter
> Proton. For example, some users may wish to use a different version of Wine
> with a particular title.

~~~
agumonkey
I thought it was a physics discovery u_u

------
AdmiralAsshat
Linux user here. Great news overall, but I do have some concerns:

1) The changes seem to be designed to help _shoddy_ Linux ports--e.g. those
that haven't been updated in awhile or that have very poor performance. I
worry that developers will see this as an alternative to native Linux ports,
and instead of getting awesome games that work on Linux without WINE (see:
Beamdog's awesome Enhanced Editions of classic Interplay/Bioware/Black Isle
RPGs), we'll simply see all Linux games running in WINE containers. WINE is
great, but it's not perfect. When Proton was first enabled, I tried running
System Shock Enhanced Edition and it crashes immediately. System Shock
Classic, on the other hand, is certified for OSX and Linux and runs properly
(although for all I know SSC might just be a tweaked WINE container).

2) Not all games work with WINE. That's why there's the WINE compatibility
list, along with community forums dedicated to making tweaks to get the games
running. I fear that throwing everything at WINE effectively puts the onus of
getting the game working onto the WINE community, rather than the game's
developers. I suppose in Best Case scenario (after native Linux builds, of
course), game developers could contract out the CrossWeavers guys to help get
their specific game working within WINE and that might still be cheaper than
the resources required to build the game natively. But whether they'll
actually do that remains to be seen.

~~~
cptskippy
Those are legitimate concerns however the reality is that platform support is
dictated by demand and Linux is a distant 8th behind PS4, Xbox 1, Switch, iOS,
Android, PC, and Mac.

We've already seen users shift from Windows to Mac, iOS and Android. It's
unclear how the landscape might change in the future so rather than
encouraging developers to split their efforts between a myriad of platforms or
API, maybe we establish an abstracted platform that they target and then each
respective platform can support that?

Obviously Microsoft, Sony, and Nintendo aren't going to get behind that but
since the Xbox already shares an API layer with Windows 10, and Microsoft is
committed to maintaining compatibility longer, then perhaps that's the target
going forward?

~~~
zozbot123
> maybe we establish an abstracted platform that they target and then each
> respective platform can support that?

WebAssembly is this, basically.

~~~
webdevatlurk
I eagerly await the day when all my games are electron apps that break because
they can't load an old version of libnode.

~~~
Vinnl
WebAssembly and Electron are different things. If games were delivered over
the web in WebAssembly, not being able to load an old version should not be a
problem - the web is largeyl forwards-compatible, and browser vendors take
care to Not Break The Web.

------
fouronnes3
It is amazing how far linux gaming has come in a few years. It's true that in
tech "a few years" is an eternity, but "linux graphics drivers" have always
been an exception to that rule...

~~~
michaelt
In negotiating theory there's an idea called 'BATNA' [1] which says:

1\. If A is negotiating with B, but they have an alternative option which is
C, then A will never accept B giving them a worse deal than C; and B will know
that, and realise they have to do better than C.

2\. For this reason, if A wants a better deal from B, they have to improve on
C - and that's true _even if they don 't plan to rely on C_.

For example, an employee (A) who wants to be paid more by their current
employer (B) might interview with another company (C) and use the offer from C
to negotiate a higher salary from B.

Likewise, Valve fears that Microsoft will eat their cake. MS could lock down
their platform, and force all software sales through a store where they take a
30% cut, just like iOS and Android do already.

Investing in Linux gaming is Valve's BATNA: If Microsoft makes Windows worse
for Valve than steam boxes are, Valve can start pushing steam boxes hard; and
the better steam boxes are, the more effective and credible this alternative
is, and hence the more leverage Valve has over MS.

[1]
[https://en.wikipedia.org/wiki/Best_alternative_to_a_negotiat...](https://en.wikipedia.org/wiki/Best_alternative_to_a_negotiated_agreement)

~~~
wyldfire
> Likewise, Valve fears that Microsoft will eat their cake. MS could lock down
> their platform, and force all software sales through a store where they take
> a 30% cut, just like iOS and Android do already.

This isn't theoretical, right? It was stated upfront as a plan for Windows 10
and it inspired Valve to invest in Linux/SteamOS/Steam Box ecosystem.

~~~
kbenson
There are (were?) specific versions of windows that only allow software to be
installed from the Microsoft store. Generally, the come on really low-end
cheap laptops, with the note that it's for improved security (and I'm sure
there's a discount on the cost of Windows, which is what makes it attractive
to manufacturers).

~~~
Phrodo_00
Wasn't that only for RT (ARM) versions?

~~~
int_19h
It's also Windows 10 S.

However, the switch to restrict installation to Store only is now also
available in other versions of Windows.

------
hannasanarion
The new feature to use proton with arbitrary executables is a godsend. No more
struggling with wine prefixes, we can let Steam handle it.

I intend to use it with ebook DRM crackers, mod managers for Beat Saber and
ESO, maybe even non-Steam VR titles, like the Vive store. Maybe some of the
crappy desktop clients for enterprise webapps that I need for work too.

~~~
woodrowbarlow
> ebook DRM crackers

please don't, not through steam. i'm sure steam collects some statistics on
how people are using proton, and if they start seeing stuff like this show up
they might start locking it down again.

you might be able to run proton stand-alone for stuff like this if you really
want to.
[https://github.com/ValveSoftware/Proton](https://github.com/ValveSoftware/Proton)

~~~
kristofferR
They don't care at all. They haven't done anything about SteamEmus or
SteamWorks fixes ever.

------
swebs
>Ark is much better in its Proton version (the native client looks like a game
from 10 years ago)

Huh, I never considered the possibility that an Unreal engine game would have
such a difference depending on the operating system. Does anyone know why this
is a problem for Ark, but not other games? I know Ark is particularly janky in
general.

~~~
nerflad
I'm guessing Ark on Windows uses a lot of shaders that only work with D3D.

~~~
ekianjo
I am not 100% sure but I think they stopped updating the version they had for
Linux a long time ago (at least in terms of graphics) while they could have
gone for OpenGL 4.5 and have it look just like D3D.

------
cptskippy
Windows' greatest strengths are also it's greatest weakness. Having a massive
back catalog keeps those who need it form entirely abandoning the platform,
and it also draws away talented resources needed to maintain that backward
compatibility.

Supporting Proton/Wine or offering up something more official would allow them
to offload that work to the community, and those who need or value that
backward compatibility.

------
oliwarner
As ever, our problem going forward is sustainability. Compat layers are
forever playing catch-up, and it's hard to take a platform seriously when it
does things worse.

I'm rather disappointed in the industry's reluctance to engage with Vulkan.
DX12 certainly hasn't been a runaway success either, with many devs sticking
on DX11, but it seems more inevitable.

Maybe Sony can shift the balance, following Nintendo's lead by finally picking
an open API (no they didn't support OpenGL on the PS3, it was a proprietary
subset)... But I'd never put money on it happening.

~~~
pjmlp
It is easy to understand.

Vulkan is stuck on C API levels, requires an expertise level that many devs
aren't willing to deep dive into, it is an extension fest, with Android and
GNU/Linux being the major deployment targets.

On Android it is actually an optional API since version 7, so an OEM can even
release an Android 9 device without Vulkan support if they so wish and the
version fragmentation is all over the board.

[https://vulkan.gpuinfo.org/vulkansupport.php#android_devices](https://vulkan.gpuinfo.org/vulkansupport.php#android_devices)

Nintendo also has their own API, NVN.

------
CodeArtisan
Adoption of Vulkan by games targeting Microsoft Windows seems (much) more
important than having _native_ ports.

~~~
cevn
Certainly, but Vulkan games aren't perfect either. I get significantly
chunkier FPS playing OW on linux via Vulkan for some reason so I prefer native
ports wherever possible...

~~~
tapoxi
OW doesn't use Vulkan natively, you have dxvk sitting in the middle.

~~~
cevn
Ahh, that explains why then.

------
Jeaye
For months, I've had an issue with the native Rocket League client (which is
otherwise superb), where workshop maps show up as entirely black, as described
here:
[https://steamcommunity.com/app/252950/discussions/3/17343364...](https://steamcommunity.com/app/252950/discussions/3/1734336452593799783/)

I've even tried running Steam in a Debian-based Docker container (planning a
write up on this for [https://blog.jeaye.com/](https://blog.jeaye.com/)), to
see if having libtxc-dxtn-s2tc0 around would fix the problem. Alas, though I
got everything running through Docker, the problem persisted (thus helping
confirm it's more likely related to my nvidia driver).

Now with the latest Steam, I was able to just uninstall Rocket League, install
it again with Proton enabled, and jump right in. The workshop maps render
properly, the game still plays at 120 FPS, and apparently controller vibration
wasn't working before, since now it rumbles every time I boost. Thank you,
Valve!

------
beezischillin
I'm really happy to see so much development around multi-platform game support
on PCs. I use Macs for work and almost all personal computing but I still have
to keep a Windows 10 PC around just for gaming. The moment that PC can be
upgraded to some variety of desktop Linux while keeping all my games playable
is the moment I truly become happy in life! :)

------
drngdds
I wonder why Valve is bothering with this. People who use Linux exclusively
are probably too small of a market right now for this to be a profitable
endeavor. Maybe they're gearing up to revitalize SteamOS and Steam Machines?

~~~
peshooo
My guess - They don't want to depend so much on Microsoft. It's a plan B in
case something bad happens in the Windows ecosystem.

~~~
seabrookmx
Why hasn't Microsoft just _bought_ Valve? Promote cross-play between xbox and
PC, give developers incentives to put out games on both platforms, and nuke
the games section of the Windows store in favour of a link to Steam?

Other than legacy enterprise stuff, gaming is the one area where consumers
continue to be tied to Windows. It seems like a no brainer for Microsoft to
lock down that market. The average Joe/Jane that needs to do write some
emails, pay bills etc. is fine nowadays with an iPad, Chromebook, etc.

~~~
baq
because valve isn't for sale. i wouldn't be surprised if gaben once got a
sweeter deal than notch for mojang but turned it down.

~~~
junaru
If im not mistaken Gabe worked for Microsoft before he found Valve.

------
schnevets
Always nice to hear progress on this front. It does feel like ages ago that
the Windows 8 Marketplace debacle caused Valve to explore Linux gaming more
seriously.

I am curious if game studios share Valve's desire for a free and open Desktop
Gaming OS. I understand Valve is concerned about M$ demanding a 30% cut or
locking them out of the walled garden, but game developers still just see
Linux gaming as a curiosity. Proton may improve the market share, but it also
kills any incentive to develop a Linux-native version.

~~~
zanny
SteamOS isn't a free and open gaming OS. It would take a tremendous amount of
design effort and integration to make a seamless interface for multiple stores
to intermix. Remember Valve is in this to protect its 30% cut of sales. Its
why companies with their own stores that want to rent seek on game sales have
shown zero interest in supporting Linux - EA, Activision, Ubisoft, etc all
have their own stores they want to push. GOG took forever to adopt Linux and
even still have kept it a second class citizen by not releasing Galaxy on it.

Publishers release on Steam for Windows because they have to, not because they
want to. To them, their "opponent" isn't Microsoft locking down the platform
in the future but Valve controlling a lions share of that rent seeking profit
from game sales today.

We can rant about how they should just distribute flatpaks of their games and
use that as the runtime but at this point Valve has "claimed" the Linux space
where widespread hardware adoption would probably come with SteamOS where they
can never ship a game from their own store.

------
ajlity
Does anyone have any insight into how proton and wine are effected by the
Oracle vs. Google lawsuit?

~~~
sangnoir
Offtopic: I wonder if IBM - now that they acquired Red Hat - can leverage
Oracle v. Google precedent over Oracle Linux...

------
ansible
That's great news and all. And I salute all the people who have put tremendous
time and effort into getting Windows games to run on Linux.

Sadly, I gave up, and installed Windows on my PC, entirely replacing Linux.

I think I gave Linux gaming a good try. Some of the titles in my catalog had
native ports, which generally worked well.

Some Windows titles ran under Proton (or Wine) and worked well. (Dear Ester,
Valve titles obviously)

Other Windows titles had issues, ranging from the minor (glitches: The Witcher
1, GTA IV) to significant (no controller support: BioShock 1).

In some cases, as with Elder Scrolls: Skyrim, the original release runs under
Proton (no controller support though), but the Special Edition currently has
game-breaking issues. And installing mods for Skyrim was going to be even more
of a challenge than usual.

I was spending more time trying to get things running than actually playing
games, so I gave up and switched.

Sorry...

~~~
dleslie
Ironically, I find that the older a game gets the more likely it is that I'll
get it working on Linux with greater ease than it would be to run it on
Windows 10.

~~~
kirion25
This has been my experience as well. Quite a few old games have become buggy
or simply unplayable under recent Windows versions, but play fine under Wine.
The most common symptom is the game becoming extremely slow on more modern
DirectX iterations, which can ironically often be solved by using Wine DLLs.

~~~
int_19h
There was one very ironic case with an old (1999) game that has been having
issues on Win10. A long time ago, I used to run this game on Linux with Wine,
and ran into a very similar issue back then, so I made a patch for the game.
So I figured I'd try the same patch on Win10, and what do you know - it works.

The amusing part is that I don't remember what the patch actually does. I
mean, it replaces a bunch of opcodes with NOP, but I have no idea what. I
vaguely recall spending a day in IDA Pro to find those bytes, but nothing
about the details.

The really amusing part is that game developers haven't figured out what the
problem is, either, and so my who-knows-what-it-does patch is a semi-
officially blessed solution for now:

[https://steamcommunity.com/app/61500/discussions/0/215439774...](https://steamcommunity.com/app/61500/discussions/0/215439774855125498/?ctp=2#c1319961868328546321)

~~~
dleslie
Such a good series. I didn't really _feel_ it with the third, though.

------
Waterluvian
Do games like Witcher 3 actually run well enough to be practically useful for
general audiences? Or is this more for novelty?

~~~
randNumptyGen
Accoring to the user reports on
[https://www.protondb.com/app/292030](https://www.protondb.com/app/292030) it
seems to run very well.

~~~
gpderetta
Fun fact: the Kronos group added an optional Vulkan extension to simplify the
implementation DX11 transform feedback.

This was requested by the DXVK developers specifically because it's was the
last piece required to completely support Witcher 3.

Mesa and Nvidia had drivers support on the day (or shortly after) the
extension was published.

------
msie
Confusing title. I thought Proton was a negative thing.

------
rgomez
Valve please release a 64 bit Linux client!

------
qvh
I am looking forward to a standalone version of Proton that I can run without
having to use Steam. First, most of my games are pirated, and second, Steam is
slow and clunky and I avoid using it whenever I can, even on Windows.

On the flipside, many of the games I run are from the DX9 era, and I've been
using wine-d3d9[] with a high degree of success.

[][https://packages.gentoo.org/packages/app-
emulation/wine-d3d9](https://packages.gentoo.org/packages/app-
emulation/wine-d3d9)

~~~
sigi45
I don't get how people have no problem at all stating that most of there games
are pirated.

~~~
kiriakasis
A good part is that you feel like you are not actually hurting the producer
and actually you might be a net positive, as most of those people would have
not spent 60$ for a game but still contribute to a lively community.

In my case many moons ago not pirating movies and games would have just meant
reading more books.

Also the total disconnect between quality and price play a role sometimes.

~~~
onlydeadheroes
> A good part is that you feel like you are not actually hurting the producer
> and actually you might be a net positive, as most of those people would have
> not spent 60$ for a game but still contribute to a lively community.

Even as someone who abhors copyright as it stands, I can tell you this is
bullshit thinking.

~~~
kiriakasis
(Just to be clear I am not interest in giving a moral justification for
piracy)

Game sallers profit from piracy the same way Microsoft and Mathworks would
profit from a small population of pirated copies.

you could say the same for mods, If I can mod any game in skyrim why bother
having any other game on steam.

Also for most markets the number of people that buy a game after piracy is
greater than the number of pirates that would have bought the game anyway (no
source on this) especially if mods are hard to impossible to pirate.

Also in addition to the extremely weak arguments I have provided something
similar happens in movies: [https://gizmodo.com/the-eu-suppressed-a-300-page-
study-that-...](https://gizmodo.com/the-eu-suppressed-a-300-page-study-that-
found-piracy-do-1818629537)

UPDATE: I won't claim this is an absolute, I imagine that at least a few
(indie)games were deeply damaged by piracy, especially if they were hard to
buy legally or not on steam. As I said my intention is not to justify piracy,
just to understand its context and consequences

------
posterboy
People up-voting this only to read later and find out what Proton is. I
thought WINE was _the_ Windows Emulation Layer on Linux. Although, of course,
Wine Is Not an Emulator.

~~~
stuxnet79
WINE abstracts away the operating system kernel so it is essentially a process
or application VM, which is an emulator. Don't wanna argue semantics but I
never understood the recursive acronym. WINE _is_ an emulator.

~~~
msla
> WINE abstracts away the operating system kernel

WINE is an emulator to the same extent libc is an emulator, then.

~~~
gpderetta
It is a bit more than a library because it has a significant Runtime
component, but a bit less than a full blown VM.

You could also call a drop in libc replacement that not only implements the
standard but also the quirks and extensions of a specific implementation, an
emulator.

