Steam for Linux

Steam for Linux

Moschopper Apr 13, 2021 @ 6:55pm
Proton Stopped Working on Ubuntu 20.04
Hello! I have been running several games through Proton (mainly using "PROTON_USE_WINED3D=1 %command%") successfully for a while now. However, some Steam, Proton, or graphics update seems to have recently broken things. When I try to open anything through Proton, the Steam client says that the game is running/opening without anything happening. (Depending on the Proton version, the Steam client sometimes goes back to saying the game is not open.) I am running Ubuntu 20.04 on a device with reasonably old Intel integrated graphics, OpenGL 3.0 support and experimental Vulkan compatibility. I have tried changing to an NTFS partition, completely purging all Steam files and uninstalling the program, running with PROTON_USE_WINED3D=1 %command%, and using -force-opengl. I searched around on the internet a bit, but I couldn't find anything helpful. I could not find anything that seemed relevant in the log files, but I can provide them as well as any other useful details if necessary. Thanks for the help.
< >
Showing 1-11 of 11 comments
MegWATTT Apr 13, 2021 @ 8:22pm 
Hi,
If you're using mesa 21.0, you may need to downgrade (remove the PPA if it's from it). There is currently a regression preventing games to start using wined3d and a GL version < 4.4.
See here: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3969
There is another solution to manualy configure wine to use an older GL version ,but it need to be done with each wine prefixs, which is tricky for Proton, who create a prefix for each games.
Marlock Apr 14, 2021 @ 3:44am 
Originally posted by MegWATTT:
There is another solution to manualy configure wine to use an older GL version ,but it need to be done with each wine prefixs, which is tricky for Proton, who create a prefix for each games.
What would that solution be?

There is a little-known global script location that can be used for Proton, passing the same extra arguments for all proton games...

Depending on what needs to be done, this could apply the workaround globally in a convenient way.
Moschopper Apr 14, 2021 @ 7:23am 
I am currently using Mesa version 21.0.2, so that definitely sounds like it could be part of the problem. I am slightly confused as to why downgrading the GL version would help if the problem is present with OpenGL < 4.4, however. I also don't know if many of the things I want to run will work on a lower version of OpenGL, so the best option may be to wait until the bug is fixed or the Vulkan implementation for my device is at the point where it works with the vast majority of software.
MegWATTT Apr 14, 2021 @ 8:32am 
Originally posted by Marlock:
There is a little-known global script location that can be used for Proton, passing the same extra arguments for all proton games...

Depending on what needs to be done, this could apply the workaround globally in a convenient way.

It involves setting a specific registry to a value. Setting "MaxVersionGL" to 0x2001 to request an OpenGL 2.1 profile. You can find this one here: https://wiki.winehq.org/Useful_Registry_Keys

AFAIK, you can't set a registry value with an environment variable. But if you can, I'll be happy to know too.
Last edited by MegWATTT; Apr 14, 2021 @ 8:34am
maz Apr 14, 2021 @ 9:13am 
With my old Radeon HD 5850 I have to use
PROTON_USE_WINED3D=1 MESA_GL_VERSION_OVERRIDE=4.5 %command%
Marlock Apr 14, 2021 @ 9:19am 
wine regedit does support a couple command line methods, so yeah, it perfectly possible to use terminal to set keys:
https://wiki.winehq.org/Regedit

as mentioned by @maz, some things don't even need to be set directly in the registry, just added as an environmental variable, which is even easier to apply (and revert)


and in both cases you can do it for every proton game if you add the needed command to proton's python environment overrides script, which is triggered right before steam runs proton when you press play... this is done by renaming user_settings.sample.py to user_settings.py and modifying it appropriately. This file is located in the Proton installation directory in your Steam library (often ~/.steam/steam/steamapps/common/Proton #.#).
Last edited by Marlock; Apr 14, 2021 @ 9:22am
Moschopper Apr 14, 2021 @ 9:25am 
Originally posted by maz:
With my old Radeon HD 5850 I have to use
PROTON_USE_WINED3D=1 MESA_GL_VERSION_OVERRIDE=4.5 %command%
Using this does successfully launch everything, but it only opens a colored background with music. This is likely due to the fact that my device does not support OpenGL version 4.5.
Marlock Apr 14, 2021 @ 9:27am 
ps:
I wouldn't roll mesa back to older versions either, unless it's just a matter of removing a PPA and changing it back to the distro's default version... that is considered very safe and shouldn't affect much anything else than proton (as usually the software versions available on distro repos are compatible with the mesa version shipped on the same distro)

The only other case where this could go sour is for very new GPUs poorly supported by the distro's default mesa version and only playing well with very recent versions
Marlock Apr 14, 2021 @ 9:31am 
Originally posted by HiggsTardigradeTau:
Originally posted by maz:
With my old Radeon HD 5850 I have to use
PROTON_USE_WINED3D=1 MESA_GL_VERSION_OVERRIDE=4.5 %command%
Using this does successfully launch everything, but it only opens a colored background with music. This is likely due to the fact that my device does not support OpenGL version 4.5.
then your fix is not doing the same thing as this environment variable, which I suspected already...

this pretends you actually have opengl 4.5 while your regkey ensure an even older version is to be used, right?


try applying the regkey via terminal and if it works try including this in that global script to apply it to all games automatically

ps: you'll need to point regedit to the correct game's proton prefix folder too, for this to work... I take it you already know how to handle that bit?
Last edited by Marlock; Apr 14, 2021 @ 9:35am
Moschopper Apr 14, 2021 @ 12:50pm 
Originally posted by Marlock:
ps: you'll need to point regedit to the correct game's proton prefix folder too, for this to work... I take it you already know how to handle that bit?

I've never done much internal Wine configuration before, so I'm not exactly sure how to do most of this. The Wine apt package is not installed, so would the correct thing be to install it and run `wine regedit`? Also, what is the best way to locate the Proton prefix folders? My apologies for being so confused about this, and thanks for the help.
Marlock Apr 14, 2021 @ 5:48pm 
Proton creates a new WINE prefix for each game

These prefixes are located in the same library as the game, in the steamapps/compatdata/[appid]/pfx/ directory

where [appid] is the game's Application ID.

You can use Wine (if installed to your system) to edit these prefixes as you would for normal Wine prefixes:
https://wiki.winehq.org/FAQ#Wineprefixes
< >
Showing 1-11 of 11 comments
Per page: 1530 50