Closed Lyle-Tafoya closed 5 years ago
Many good use cases mentioned in the Proton thread
Yes id love to see something like this also. For example COH2 doesnt support cross platform play, so Id like to have access to both native version and windows version.
Yes, there are also titles such as The Banner Saga, which advertise Linux support on the store page but do not actually have a functional Linux port and have officially discontinued support. The developers have noted the game does not even start for "most" people on Linux currently, but I expect it would at least launch in Proton.
Two more examples:
An example: Garry's Mod is a sorry excuse for a Linux port which may or may not be the dev's fault. But Awesomium used to crash due to tickboxes, rendering the menu system unusable. The game crashes on most maps and servers with high graphics settings (probably OpenGL and 32 bit related).
So unfortunately Nidhogg has proven there's an easy way for devs to kill linux support if this isn't fixed. Nidhogg has a "linux version", but it just has the OST in it, with no actual game files. Steam won't provide the option to use proton because a linux version exists, and attempting to bring the windows version into linux steam manually (with the app manifest as well) causes steam to delete the windows files on "launch" before once again complaining that it can't find an executable.
EDIT: So apparently either the game's dev or a steam dev has noticed the issue and removed the empty "native" version for Nidhogg. Since the game dev said nothing about this, I assume it was someone at valve, which indicates they may actively attempt to prevent this from happening.
HuniePop works better with Wine than its Linux version. It is as if the linux version was badly optimized. It could only be played smoothly after disabling desktop compositions
I think there is a more general solution that would solve this issue as well as some others. And the solution is, allow a per-game setting of whether to use Steam Play--regardless of whether the game has a Linux port.
This way, one would be able not only to run Windows versions of Linux games but also avoid switching the "enable Steam Play for all titles" switch. An unfortunate consequence of using the switch is that one loses the ability to use filtering the list of games to only include SteamOS + Linux games to see which Windows games have been whitelisted.
Also, BIT.TRIP RUNNER, Randal's Monday, and Blackguards 2 have files for Linux but without any executables and so can't be run.
I think we should be able to install both native and with Proton builds, that way it's easy to test which one behaves the best without having to redownload the game in case the first one tried was better, thus saving both ourselves and Valve bandwidth. Also, some games may behave better with their Linux build but lack multiplatform multiplayer and so having both builds may be useful.
A simple "Install Game" / "Install Game with Proton" in the right click menu and on the game page would do, though that might complicate things for new people so it might be better to hide that behind a setting.
And the solution is, allow a per-game setting of whether to use Steam Play--regardless of whether the game has a Linux port
You first have to download the relevant game files to use steam play or not. Any option would have to be upstream, as soon as you press install.
You first have to download the relevant game files to use steam play or not.
Sure, but users can already control via settings the set of files that they download. It is already possible to choose the in-game language--which affects the set of files--as well as participation in beta builds. So I believe that a checkbox "Use Steam Play" in the Preferences window could work.
it would be very great to be able to forceproton+windows version of a linux bad ported game. examples : ARK Survival Evolved, ARK Survival of the Fittest, Counter-Strike : Global Offensive
Another example: Enclave Linux port does not launch anymore for several months now.
Linux native "Divinity: Original Sin" also does not work anymore with mesa + divos-hack shim:(
System Shock 2 doesn't have a real Linux port, but is instead a WINE+game that doesn't even start. Right now 2nd-5th top threads in https://steamcommunity.com/app/238210/discussions/ are about this problem.
Clusterpuck 99 linux port has a framerate of 1 fps. I have hope that the windows version with proton vill perform better.
That can be a useful feature to play enable true cross-platform multiplayer for some game such as Dawn of War II and Worms Reloaded.
For those of you who don't use in-home streaming, you may not be aware a good mechanism to handle this option already exists:
Just add another option to that drop-down for installing/playing the steam play version. Unobtrusive and effective.
EDIT: And yes, the same options are presented in big picture mode as well.
A similar drop down menu for the "Install" button would be nice, indeed (and you wouldn't need to add anything fancy in the normal right click options for games, which are already plenty).
Now please.. I hope there's nothing left to discuss - so don't spam the thread with +1 examples.
@mirh I understand your concern about spam but I think it will not hurt to mention a couple other cases. It's important for public awareness.
I would like to extend the feature request with a few other cases:
1) All these games are winewrapped with g17_wine:
And they stopped working in Ubuntu 18.04. Most likely due to an incompatibility between g17_wine (which is a fork from wine 1.8.1) with freetype 2.8.1. And since these are old games, g17_wine will never be updated. They all do work via modern wine and although I haven't yet tested, I guess they run smoothly through proton too.
Not only that.
2) There are games like the Anomaly series (Anomaly 2, Anomaly Warzone Earth etc.) which have a native port for Linux BUT due to some change in glibc 2.20 go into an infinite loop right at the start and never get past the initial screen. And they also work perfectly under wine.
3) And there is another third type of case. Two Worlds II is a game where the developer seemingly configured a "linux build" entry for people which have the Call of Tenebrae DLC. This is a mistake from the developer but so far they've not fixed it. When you ask to install on Linux, it just installs about 3GB of data files withouy any executable. And of course it does not work. On the other hand, my wine-steam install runs it smoothly because it thinks it's Windows 7.
I have all these games and I am unable to play them without going through the hoops of a separated wine-steam installation. Adding the feature to force proton usage would fix all these issues instantly. It's not a "would be nice" feature. It's an essential feature.
I echo Cpt-Derp: Garry's Mod has an awful Linux version. For some reason, it also doesn't work well with Wine either. Perhaps it would run well with Steam Play? I'm not sure, but it would definitely be a nice option to have, considering all the games mentioned so far. While most games with Linux support do work properly, it's nice to have a contingency plan in the form of "run this game with Steam Play instead of using the native version".
Dying Light is also a rather broken Linux port (doesn't start with 18.04 + amd gpu). I, of course, would strongly prefer the game to be fixed, but the developer seems to have no intention to do so, and so Proton might be a workable alternative.
@Sanaki
So, as you have mentioned in https://github.com/ValveSoftware/steam-for-linux/issues/5638#issuecomment-415886476, is that possible to co-exist both native and Proton version of the same game in the same Steam client via in-home streaming mechanism? Can you please elaborate adding Proton installation to in-home streaming preferences? Thank you!
Not exactly. In-home streaming allows you to stream games from a different computer entirely. I was saying that if the developers grant us this option, the menu to place the option in already exists in the client, and is explicitly for that sort of purpose. At the backend, they'll still need to figure out how they want to change the folder structure to support that decision, since currently proton and native versions install to the exact same location and directory name. Presumably it would be as simple as modifying the manifest for the game to indicate a secondary location, but I can't guarantee that would be the case. For all I know that would break something else hardcoded.
Either way, tl;dr: Right now no built-in method exists to run proton versions of games that have native versions available.
I would like to extend the feature request with a few other cases
Those are yet other examples of why this is sensible. But it's already a feat Valve can unilaterally wrap other publishers products, I don't see what they could do without directly tampering with game files. (and it's probably OT)
He's just saying what the rest of this issue is saying: Allow us to install proton despite "native" versions. He's not suggesting that steam replace the wine version in the "native" port with proton.
Another example: Cossacks 3. The linux port is horrible, it doesn't work at all with mesa.
Tower Unite has no Linux Executable but works on wine, but I can't play it on steam play since it has linux support enabled for development reasons.
Another use case is Windows-only mods for Half-Life series which don't work with native HL versions. I'm ready to replace native HLs with their Windows versions because they work under Wine not worse. p.s. Another game with broken Linux port is High Strangeness, and it works under Wine perfectly too.
Dying Light doesn't work natively at all for me, would be great to be able to run it with proton.
I'd like to point out the Topware ports in general which use outdated version of Wine. Fortunately the scripts that are used to run them can be changed to use system wine instead but even then Proton does a better job (or easier) of passing controller input to games. I've read that The Witcher 2 and Shadow of Mordor both suffer terrible performance penalties in their Linux ports. Overlord has controller input issues Age of Wonders III has a memory leak and the Linux version lacks the creation tools. Divinity: Original Sin EE also lacks creation tools in the Linux version.
+1 for this, pretty please... some of the earlier linux ports are running worse on native versions than on the new Wine with esync and DXVK, Tomb raider 2013 for example!
Radeon users sometimes have better performance on wine versions, specially with gallium nine and dxvk!
Saints Row IV is horrible on linux, plays nicely with dxvk
Chivalry Medieval Total war runs smoothly on wine with gallium nine. Linux version is missing some graphics details! (at least on mesa drivers)
Mad Max runs smoothly with dxvk
Shadow of Mordor could be better with dxvk
I think this feature would be useful to compare a linux port optimization. If the emulated version runs better, then the linux port is crap.
I think everybody has understood, agreed, concurred this is an important needed feature. Now please, stop with bumps.
This is very necessary as a feature, as some developers have games that don't actually work at all on Linux with their so-called Linux-native ports.
BIT.TRIP Runner is a good example of this where there aren't even any game files downloading on the app I have on my Steam account. I am currently waiting on Valve support via Steam Support ticket to get a resolution for this game, yet if Steam Play allowed me to pick the Windows version despite Steam claiming there's a Linux-native version, I'd be sorted.
Hey, I have yet another case where this is useful: Sub Rosa ( https://store.steampowered.com/app/272230/Sub_Rosa/ ) has a native linux build that works well, BUT, I would like to play the windows only beta build. Letting me play the game via proton, even tho it has a native version, would solve this!
Another example of a currently unusable Linux port - Civilization Beyond Earth. Native client segfaults on recent kernels due to changes in the Futex system ( see https://steamcommunity.com/app/65980/discussions/0/626329820749233064/?ctp=62 )
@aenertia So much for "don't break userspace" if the kernel is the cause.
I just started the game fine from Linux 4.20 compiled off the DRM-next tree, and have previously not have troubles with that particular game, except right after it was released due to missing OpenGL support in Radeonsi. It's definitely not a kernel problem
Sure looks a lot like the old futex threads bug tho you have to admit.
What userspace are you using? I'm using 18.04 but with obiaf X updates for mesa and 396.54 Nvidia from the proprietary updates ppa.
I tried several different 32bit runtime envs (including a 16.04 chroot) all with the same result. Am open to suggestions. Also 4.20? I think you mean drm-next head with 'potentially' included 4.20 patchsets. Mainline is had only just gone to rc1 tag on 4.19. I run net-next on some things, and unless there are some '100%' commits you know are going into 4.20 tagged tree that's a little weird to call a next-tree for a release that isn't fully tagged yet.
On 1 September 2018 at 01:49, Hu notifications@github.com wrote:
I just started the game fine from Linux 4.20 compiled off the DRM-next tree, and have previously not have troubles with that particular game, except right after it was released due to missing OpenGL support in Radeonsi. It's definitely not a kernel problem
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/steam-for-linux/issues/5638#issuecomment-417670082, or mute the thread https://github.com/notifications/unsubscribe-auth/AARer7vPeN5hlTV4PP7fzwcIPoqoYAv_ks5uWT7wgaJpZM4WHiMi .
This would be nice for games that dont have cross platform support like company of heroes 2
I have created a workaround for this for the time being - https://github.com/Holston5/Native2Proton
Another example game with bad Linux support that I'd prefer to be able to play through Proton instead: Move or Die
More examples: JackBox Party Pack games
Cortex Command is yet another game that says it supports Linux, but actually has an empty download. As it is, I'm unable to play the game even though it has a working Windows version that has a Gold rating with Wine.
I want to second this feature.
On my end, its Shroud of the Avatar: Forsaken Virtue. Due to unresolved bugs in the Linux client, it never recieved the version upgrade in Unity that its Windows counterpart did, thus missing out on some of the performance fixes. In addition, someone made the thoughtful decision that after deciding to make and support the game for multiple operating systems, to go ahead and use Windows-only plugins for some in-game features like being able to use maps, and then just disabling those important features on the other platforms...
So yea... just because a game already has a Linux port doesn't mean it wouldn't heavily benefit from having the ability to use the Windows version on the Proton back-end.
I would like to have this feature too, Rocket League Linux port doesn't have controller vibration(rumble) implemented and if it wasn't implemented in the last 3 years I doubt it will ever be. Also maybe the workshop maps could work with proton, currently they don't work on linux.
... yet another game ...
Virtual Programming eON ports. Maybe some other third-party ports .
Or even all third-party ports could potentially benefit from Proton. I think no more examples needed.
Your system information
Please describe your issue in as much detail as possible:
Some games have native Linux builds, but have various problems or are missing some features (ie. VR support, controller support, online play, etc...). For these and other reasons, it is sometimes desirable to play the Windows version of a game, even if a native build is provided. Currently, games with a native build are not able to be installed via Steam Play and can only installed and run natively. I propose that Steam Play functionality should also be unlocked for games with native builds. Ideally, users would be able to install both the native and steam play versions side by side. However, I'd settle for picking one or the other.
Steps for reproducing this issue: