What does HackerNews think of Proton?

Compatibility tool for Steam Play based on Wine and additional components

Language: C++

The steam deck is a linux pc with an unlocked bootloader.

All of their work on Proton is open source: https://github.com/ValveSoftware/Proton

Let me know when you get mainline AAA windows games running on your smartphone. Steamdeck does this through a software layer called proton. I guess you could try to port this to android or ios ... https://github.com/ValveSoftware/Proton

The hardware may be more powerful on your phone (but it probably isn't). The screen is probably better but the steamdeck's screen is pretty great to my eyes.

I can also easily stream games to my steamdeck just like my phone, and sometimes do.. however that really only works if I am on the same local network unless I want to take a huge video compression quality hit.

I can take my steamdeck on an airplane and play any game that doesn't require a really reliable internet connection (or games without that requirement of course). But if you are trying to stream games, have fun with that I guess.

Proton is both a friendly fork of Wine + a wrapper around Wine + forks of libraries and tools used by both Wine & Proton. Some of the forks are more blessed & tested versions than forks.

Source is here: https://github.com/ValveSoftware/Proton

Notice that includes a lot of git submodules; the big one is Wine, but it also includes forks of dependencies such as ffmpeg.

The absolute brilliance of this entire system is how Steam / Valve deals with the Deck hardware.

Because you might think, at first sight, it just downloads the Windows version of a game on the Deck which it the runs through its Wine-based but very optimized Win32-to-Linux layer called Proton (https://github.com/ValveSoftware/Proton) and that's it right?

Well, that's actually wrong :)

Valve learned a lot when they added MacOS support to Steam and they did the same thing for Linux and especially Linux on the Deck.

When you install a game through Steam on the Deck it downloads a package made available by the developer for the Deck whenever possible. So the "Verified for Deck" games could also very much be "optimized for the Deck" games which means:

- They can have a UX completely optimized for the Deck (looking at you, Rimworld)

- They can contain models, shaders and textures especially optimized for the AMD APU

And last but not least:

- While the developer - ofcourse - is just able to test and deliver the Win32 binary on Proton and be done with it (looking at you, Elden Ring) they can also create a specific Linux binary optimized for the AMD APU in the Deck!

I had to go figure out what Proton is:

"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."

https://github.com/ValveSoftware/Proton

The short (but polite) rebuttal to this is - OSX. DMG files are similar sized and proven to be very successful.

For e.g. - firefox (https://www.mozilla.org/en-US/firefox/all/#product-desktop-r...). Win64 installer is 50mb. MacOS installer is 130mb. Linux 64-bit is 70mb.

Same is the case with Chrome - https://chromeenterprise.google/intl/en_US/browser/download/... . Windows MSI is 79mb. OSX PKG for the same is 195mb.

So by that measure - OSX has already lost right ? The entire package-everything-together has won in probably one of the largest OS ecosystem that exists today. Size does not matter... mom-proof experience does matter.

>How much progress could we make if Steam deprecated their runtimes, abandoned containerization for new games, and let all new games just use the native system libraries? How loudly do you think gamers would complain if a distribution upgrade broke their favourite game?

This OTOH does not exist. Linux gamers are 1% of either the gaming market or the desktop computing market. All gamers either dual boot windows...or android. Even for those who game on Linux, they do it on an abstraction layer like Wine. Which is what Valve maintains - https://github.com/ValveSoftware/wine and https://github.com/ValveSoftware/Proton

Valve only needs to maintain wine & proton for a distribution. The games themselves ? well, they are windows only. Nobody compiles for Linux.

I might be the target audience for this. I have a steam account for years but I barely touch it. I don't feel like building a PC, and games for MacOS were limited last time I checked. I've been happy playing my Switch and PS4.

My first thought when I saw this was that it better be able to connect to an external screen, and it does! An added bonus would be if I could hook up external controllers to it as well.

I've heard of Valve's Proton[1] but not sure how stable it is and if it can support any Windows game on their platform. If so, then that would be pretty amazing to have access to some Windows-only games without building a PC.

I'm definitely interested but I'm in no rush. I'd rather upgrade to a PS5 first but I'm gonna keep my eye on this. If the reviews in the long term are good maybe I'll get the 2nd generation of it.

Wonder if they'll release a Oculus-Quest-like all-in-one VR system next.

1. https://github.com/ValveSoftware/Proton

https://www.protondb.com/

This should give you a pretty good idea. For example, Cyberpunk seems to run pretty well which is impressive considering how buggy the game can be even on Windows. Proton has been an excellent experience for me so far... And you can use it for non-steam games. It's just a fork[0] of Wine with DXVK and some other Wine "extensions" baked in.

[0] https://github.com/ValveSoftware/Proton

Also good luck buying a new GPU in the next 4 years :)

Proton is implemented via Wine - it's like a collection of software and automatic configuration. You use Wine to implement Windows syscalls. Wine also has DXVK to convert the DirectX calls to Vulkan ones. So it's all the same stuff really.

https://github.com/ValveSoftware/Proton/

wine @ eef39a6 vkd3d-proton @ 72d9b32

Cobbling together existing tools is really powerful in games and graphics :)

This occurred to me, too. Might be able to get it running on Wine or even Proton [1]

[1] https://github.com/ValveSoftware/Proton/

Not sure about the per-game config, but the Proton is definitely open source [0], as are DXVK [1] and D9VK [2].

Steam Play is part of the Steam client, so is proprietary. ProtonDB isn't open source but does data dumps to github regularly [3].

[0] https://github.com/ValveSoftware/Proton/

[1] https://github.com/doitsujin/dxvk

[2] https://github.com/Joshua-Ashton/d9vk

[3] https://github.com/bdefore/protondb-data

Proton is not a ground-up valve product. It is an implementation of WINE, a project that has been around for a long while. Valve made it pretty and easy to use, integrating wine into their launchers, but it isn't entirely their project.

https://github.com/ValveSoftware/Proton

Not forks. The whole code for Proton is in https://github.com/ValveSoftware/Proton and its submodules. There are many game-specific patches, i.e., patches that were more or less explicitly included to make one specific game (or a few games) work better.

There are also some instances of game-specific behaviour: Proton detects at runtime which game is running and decides whether to enable or not some code. This is done for the most filthy hacks that are required to run something, but risk to spoil some other program. Search the code for instances of getenv("SteamAppId") or getenv("SteamGameId").

Excerpt:

What is Proton?

"Proton is a new tool released by Valve Software that has been integrated with Steam Play to make playing Windows games on Linux as simple as hitting the Play button within Steam. Underneath the hood, Proton comprises other popular tools like Wine and DXVK among others that a gamer would otherwise have to install and maintain themselves. This greatly eases the burden for users to switch to Linux without having to learn the underlying systems or losing access to a large part of their library of games. Proton is still in its infancy so support is inconsistent, but regularly improving."

Source Code:

https://github.com/ValveSoftware/Proton

I hadn't heard of Proton before and the article doesn't explain. Here's what the GitHub repo for it says [1]:

> 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.

My question is, what's the "secret sauce"? If this is in fact that much more successful than Wine, what's different? Is Valve putting lots of dev time into it? Or is it just pre-configured for ease of use?

[1] https://github.com/ValveSoftware/Proton

I was _so_ excited when Rocket League first came to Linux, but that was several years before Proton[1] was released.

But according to [2] the game runs really well on Linux via Proton. Personally, I don't see any problem using Proton to play the game on my Linux gaming-rig.

[1]: https://github.com/ValveSoftware/Proton

[2]: https://www.protondb.com/app/252950

Interesting how this and Valve's Proton[0] are both solutions to different cross-platform compatibility issues.

[0] https://github.com/ValveSoftware/Proton

Gaming is also one of the main reasons why I still have a Windows box. However, thanks to https://github.com/ValveSoftware/Proton, this might be less of a problem in the future.
You are correct, they have developed Proton [1] which is based on Wine.

[1] https://github.com/ValveSoftware/Proton

    > allowing more and more games to exist and do well on the market Valve is doing amazing
Not to mention their efforts with Linux gaming. Proton [1] is amazing: in under a year a lot of AAA games just work with it. Something you couldn't even imagine happening for the next 10 years.

[1] https://github.com/ValveSoftware/Proton

Now there is Proton by Valve. it's a wrapper for wine and a few other components. Most games just work now. There are of course some exceptions like ring of elysium doing kernel patches for ring zero DRM and Anti-Cheat. But I would say 90% of my steam library just works out of the box.

https://github.com/ValveSoftware/Proton/

For people who don't know what Proton is: 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.

> 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

> what Proton is. I thought WINE was the Windows Emulation Layer on Linux

Proton is just a fork of WINE[0], with a gaming focus and some Steam-specific compatibility additions.

[0] https://github.com/ValveSoftware/Proton/

If you haven't been following it: "Steam Play" is the product name for Valve's repackaging of dkvk and Wine together inside their Linux client. (Lots of the code is open sourced at https://github.com/ValveSoftware/Proton/

>Steam Play allows you to purchase your games once and play anywhere. Whether you have purchased your Steam Play enabled game on a Mac or PC (both Windows and Linux), you will be able to play on the other platform free of charge.

I've been using it for a few games, and the experience is great. There are lots of folks finally deleting their Windows setups and moving to Linux full time because they can finally play their AAA titles on Linux without any installation hassles.

On the proton github repo there are instructions for building for Mac and moltenvk libraries. It’s probably not as mature as the Linux version but there are bits hinting here and there. Link: https://github.com/ValveSoftware/Proton
OSX is supported in Proton[1]. Might not be in current beta but looks like it is being worked on.

[1] https://github.com/ValveSoftware/Proton/