Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to use Steam Play for games with native ports #5638

Closed
Lyle-Tafoya opened this issue Aug 22, 2018 · 169 comments
Closed

Unable to use Steam Play for games with native ports #5638

Lyle-Tafoya opened this issue Aug 22, 2018 · 169 comments

Comments

@Lyle-Tafoya
Copy link

Your system information

  • Steam client version (build number or date): August 22, 2018
  • Distribution (e.g. Ubuntu): Arch Linux
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

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:

  1. Find a game that supports both Linux and Windows and attempt to launch it via Steam Play
@Despruk
Copy link

Despruk commented Aug 22, 2018

Many good use cases mentioned in the Proton thread
#ValveSoftware/Proton#52

@Gibbz
Copy link

Gibbz commented Aug 23, 2018

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.

@Ryujinra
Copy link

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.

@lucius-martius
Copy link

Two more examples:

  • Xenonauts: 'Community Edition' only available for the Windows version since Linux source code is with an external contractor.
  • Gratuitous Space Battles: Native version lacks DLC support. There are very hacky methods of getting the Windows DLC to work with the native version, it would be a lot easier to just run the Windows version.

@Cloudwalk9
Copy link

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

@Sanaki
Copy link

Sanaki commented Aug 24, 2018

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.

@BobbyWibowo
Copy link

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

@dkhalansky
Copy link

dkhalansky commented Aug 24, 2018

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.

@dkhalansky
Copy link

Also, BIT.TRIP RUNNER, Randal's Monday, and Blackguards 2 have files for Linux but without any executables and so can't be run.

@John-Gee
Copy link

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.

@mirh
Copy link

mirh commented Aug 24, 2018

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.

@dkhalansky
Copy link

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.

@olaulau
Copy link

olaulau commented Aug 24, 2018

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

@legluondunet
Copy link

Another example: Enclave Linux port does not launch anymore for several months now.

@johndoe7000
Copy link

Linux native "Divinity: Original Sin" also does not work anymore with mesa + divos-hack shim:(

@miguev
Copy link

miguev commented Aug 24, 2018

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.

@fredoche
Copy link

Clusterpuck 99 linux port has a framerate of 1 fps. I have hope that the windows version with proton vill perform better.

@rea987
Copy link

rea987 commented Aug 24, 2018

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.

@Sanaki
Copy link

Sanaki commented Aug 24, 2018

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:

playstream

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.

@mirh
Copy link

mirh commented Aug 24, 2018

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.

@Patola
Copy link

Patola commented Aug 25, 2018

@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:
  • Two Worlds I
  • Enclave
  • Jagged Aliance 2 - Wildfire
  • Gorky 17
  • X-Blades

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.

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

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

@Despruk
Copy link

Despruk commented Dec 29, 2018

Jesus Christ, enough mentioning your buggy games!
We don't want to know which game exactly runs bad using native port in this thread!

Mentioning buggy games seem to be relevant to all those people that commented here. Who do you have in mind by using the word "we"? Yourself and?

screenshot from 2018-12-29 21-12-47

At least all the people who reacted to previous comment asking to stop, I would imagine.

@nstgc
Copy link

nstgc commented Dec 29, 2018 via email

@ruslansin
Copy link

We have this wonderful site to report game experience with Proton:
https://protondb.com
First of all, this place is not intended for reports about non-working games. Implementing a feature from the topic requires serious discussions, as it may lead to a weakening of the development of games for Linux in the future, following the path of least resistance

@frostworx
Copy link

even more annoying than the reports is this discussion, which is not less off-topic but more active
muting this thread pretty sure I won't miss the fix for this issue

@nstgc
Copy link

nstgc commented Dec 30, 2018

We have this wonderful site to report game experience with Proton:
https://protondb.com
First of all, this place is not intended for reports about non-working games. Implementing a feature from the topic requires serious discussions, as it may lead to a weakening of the development of games for Linux in the future, following the path of least resistance

We aren't talking about Windows games that don't work in Proton. Rather we are talking about supposedly Linux games which don't actually work, or not work properly. ProtonDB has nothing to offer in this case.

@supertin
Copy link

This issue is about the Steam client itself. As has been mentioned several times... STOP LISTING GAMES THAT DON'T WORK.

If you have problems with the native Linux version of a specific game, take it up with the game vendor. Listing it here will NOT help anyone.

@kode54

This comment has been minimized.

@lucifertdark

This comment has been minimized.

@kode54

This comment has been minimized.

@grinapo
Copy link

grinapo commented Jan 2, 2019

Do I see right that in this last 4 months and hundreds of comments there was absolutely no reaction from Valve™ here?
Also, there seem to be no hack or tweak to make this forced upon the client, even if by fiddling with config files?
I've tried to browse through the comments but apart from the original issue report I haven't noticed any progress or solutions, am I observing right?
(Purposefully I skip mentioning the games I'd like to run. ;-))

@Saroumane
Copy link

Do I see right that in this last 4 months and hundreds of comments there was absolutely no reaction from Valve™ here?
Also, there seem to be no hack or tweak to make this forced upon the client, even if by fiddling with config files?
I've tried to browse through the comments but apart from the original issue report I haven't noticed any progress or solutions, am I observing right?
(Purposefully I skip mentioning the games I'd like to run. ;-))

There is a hack called "Native2Proton" which uses Steamcmd :
https://github.com/Holston5/Native2Proton
(I did not try it)

@adelpozoman
Copy link

a lot of feral interactive ports have bad performance and launching at ubuntu 18.04 with amdgpu gives a warning about unsupported system that can affect performance. wtf.

@GloriousEggroll
Copy link

GloriousEggroll commented Jan 3, 2019

Does this issue need everyone to list games they can't play? You can just subscribe.

Dying light on debian/Nvidia has always worked since release for me and this isn't really an issue for discussing which games need this option.

We just need a drop down to choose which platform to install like with streaming games from another pc.

Dying light's problem with the native port on open source drivers (mesa) is libglvnd. If you compile mesa without libglvnd it works fine. There is an unresolved open issue on it:
NVIDIA/libglvnd#165

@Cytomax55
Copy link

Cytomax55 commented Jan 3, 2019

All the feral games I have played have played well coh 2 And tomb raider... I get the same warning but games play fine... Still it would be nice to be able to choose if I play native games for Linux or the Windows using proton fir multi-player compatibility

@GloriousEggroll
Copy link

Linux native "Divinity: Original Sin" also does not work anymore with mesa + divos-hack shim:(

shim works fine here, just ran it yesterday, the shim is for the definitive edition

@kapcom01
Copy link

I have played Life is Strange Before The Storm for 7 hours with SteamPlay and then I got an update to the native version. The native version does not support Intel graphics.. I just can't play the game anymore.. I would love to see an option to go back to the SteamPlay version.

@JoneKone
Copy link

Jesus Christ, enough mentioning your buggy games!
We don't want to know which game exactly runs bad using native port in this thread!

Absolutely no comment has been said from Valve on this issue. How do you expect this thread to stay alive if not for ppl who mention their dissatisfaction to the current state of this issue? It will just drop to the bottom of the list and will be forgotten and ignored. We all know why this issue is, it's cause developers/publishers don't want to allow us to use this kind of tool/option.

Only by keeping this alive we can start seeing results.

I mean there is at least 1 dev who dropped the linux port in favor of Proton "emu" being far better option for gamers. I personally believe it was this thread that made it happen.

@toojays
Copy link

toojays commented Jan 13, 2019

We all know why this issue is, it's cause developers/publishers don't want to allow us to use this kind of tool/option.

If don't follow this logic. Surely the publishers and first-party developers want the users to play with whatever setup gives them the best experience? Maybe there's a bit of an accounting glitch that can occur when a third-party has ported a game with the expectation of a percentage of sales reported as played on Linux by Valve, but I don't see that stopping Valve.

Only by keeping this alive we can start seeing results.

I'm wondering if it shouldn't be the other way around. Instead of everyone piling on to this thread listing their pet games that run well in Proton but poorly in their native builds, file whitelist requests for such games instead. Sure that's not the same as being able to select Proton vs Native from the UI, but it might work better for those that care about individual games.

@kisak-valve
Copy link
Member

Hello @toojays, until we hear from a Steam or Proton dev one way or another, whitelist requests for native linux games will not be considered. Fragmentation of the discussion only adds pointless overhead to the issue trackers.

Regardless of the amount of activity here, the interested devs are aware of this request.

@nstgc
Copy link

nstgc commented Jan 14, 2019

Hello @toojays, until we hear from a Steam or Proton dev one way or another, whitelist requests for native linux games will not be considered. Fragmentation of the discussion only adds pointless overhead to the issue trackers.

Regardless of the amount of activity here, the interested devs are aware of this request.

Is this really an issue for the developers? Seems like this is the sort of thing that the legal department would need to handle. I mean, if anyone in this thread would know its you, so I'm asking out of genuine curiosity.

@mirh
Copy link

mirh commented Jan 14, 2019

whitelist requests for native linux games will not be considered

This is not about making any "proton wrapping" the default, or overriding any dev preference.
This is just about (somehow) not hiding it when native is also available.

@JoneKone
Copy link

We all know why this issue is, it's cause developers/publishers don't want to allow us to use this kind of tool/option.

If don't follow this logic. Surely the publishers and first-party developers want the users to play with whatever setup gives them the best experience? Maybe there's a bit of an accounting glitch that can occur when a third-party has ported a game with the expectation of a percentage of sales reported as played on Linux by Valve, but I don't see that stopping Valve.

Only by keeping this alive we can start seeing results.

I'm wondering if it shouldn't be the other way around. Instead of everyone piling on to this thread listing their pet games that run well in Proton but poorly in their native builds, file whitelist requests for such games instead. Sure that's not the same as being able to select Proton vs Native from the UI, but it might work better for those that care about individual games.

That is a naive answer and question you are making there.

@grinapo
Copy link

grinapo commented Jan 14, 2019

There is already an option to enable Proton manually for the games.

What are the specific reasons not to make it possible to manually switch between native and proton version, if both available? Is it a legal or a technical problem, or something else?

@radixs
Copy link

radixs commented Jan 14, 2019

There is already an option to enable Proton manually for the games.

What are the specific reasons not to make it possible to manually switch between native and proton version, if both available? Is it a legal or a technical problem, or something else?

I would bet that it's just that we linux master race are only a very small community. We have a very low priority. On top of that number of cases where protoned games work better than native versions is narrowing that drastically even more.

So there you go - this request sits on a very low priority list. If you want to change that I guess convince more people in the world to use linux :D

On the other hand if Valve is so supportive with gaming on linux this should have been solved the moment they made the proton available. Why didn't they add this convenient option right at the start? Might valve be having any interest in keeping native ports alive? Maybe they own shares of some other company that is making such ports?

Anyways it seems like a simple job to add the option to choose proton also for native linux games. Just add bunch of 'if' statements in various points without changing existing code. At least it smells that way.

@arno01
Copy link

arno01 commented Jan 14, 2019

@radixs right. Until the GUI is fixed, people could have used the command line to launch the games in Proton (wine). For example the following command runs Call of Duty 4: Modern Warfare:

Launch Call of Duty 4: Modern Warfare with Proton (wine):

$ grep -l 'Modern Warfare' ~/.local/share/Steam/steamapps/appmanifest_*.acf
/home/user/.local/share/Steam/steamapps/appmanifest_7940.acf

$ cd /home/user/.local/share/Steam/steamapps/common/Call\ of\ Duty\ 4/
$ STEAM_RUNTIME_PREFER_HOST_LIBRARIES=1 \
  STEAM_COMPAT_DATA_PATH=/home/user/.local/share/Steam/steamapps/compatdata/7940 \
  /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/run.sh \
  /home/user/.local/share/Steam/steamapps/common/Proton\ 3.16\ Beta/proton \
  waitforexitandrun iw3sp.exe

Launch Counter-Strike Global Offensive with Proton (wine):

Unfortunately, CS:GO is missing the csgo.exe file... Not sure why not to deliver it.
If someone can get csgo.exe file, please give this a shot.

$ ls -la /home/user/.local/share/Steam/steamapps/common/Counter-Strike\ Global\ Offensive/ |grep csgo
drwx------ 15 user user     179 Jan 12 17:29 csgo
-rwx------  1 user user    8220 Dec 20 23:23 csgo_linux64
-rwx------  1 user user    2030 Dec 20 23:23 csgo.sh

$ grep -l 'Global Offensive' ~/.local/share/Steam/steamapps/appmanifest_*.acf
/home/user/.local/share/Steam/steamapps/appmanifest_730.acf

$ cd /home/user/.local/share/Steam/steamapps/common/Counter-Strike\ Global\ Offensive/
$ STEAM_RUNTIME_PREFER_HOST_LIBRARIES=1 \
  STEAM_COMPAT_DATA_PATH=/home/user/.local/share/Steam/steamapps/compatdata/730 \
  /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/run.sh \
  /home/user/.local/share/Steam/steamapps/common/Proton\ 3.16\ Beta/proton \
  waitforexitandrun csgo.exe

@codedcosmos
Copy link

codedcosmos commented Jan 15, 2019

Oddly this is one of the biggest issues with proton (at least on github), and is relatively easy to solve (at least from my perspective, there may be underlying issues that are hard to circumvent).

I just wish valve would communicate. At least say if they are thinking about it or if its coming sometime in the future.

@LiamDawe
Copy link
Contributor

@kisak-valve
Copy link
Member

Closing as implemented per "Added the ability to force-enable Steam Play in per-title properties, including for native games" in the 2019-01-17 Steam client beta update.

Note: I'm going to lock this thread to avoid spam to the participants.

@ValveSoftware ValveSoftware locked as resolved and limited conversation to collaborators Jan 18, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests