Steam for Linux

Steam for Linux

Cat on Linux Aug 22, 2018 @ 12:25pm
[Solution] How to edit Proton configs to make your win games work
Proton installs to your steamapps once you install any of win games. to access it you need to locate Proton folder and run in terminal similar command, where my-steam-lib is path on your system

env WINEPREFIX="/my-steam-lib/steamapps/common/Proton 3.7/dist/share/default_pfx" WINEPATH="/my-steam-lib/steamapps/common/Proton 3.7/dist/bin/wine64" winecfg

maybe you need own wine installed to access winecfg, also this should work with winetricks (installed separately for your OS)
I tried to apply virtual desktop - it works! :)

also make sure to check Proton folder for py script where you can switch from Vulkan to dx

happy tweaking! :tabbycat:

PS: if to access this wine prefix from winetricks and check registry entries you can see Valve steam app for windows. Looks like they're running it in the background, so technically we still run 2 steam apps :)

----
EDIT:
as mentioned by x_wing
there is one wineprefix for each game you install. Each prefix is identified by their appid as is located here: $YOUR_STEAM_APP_DIR/steamapps/compatdata/[0-9]*/pfx

to access prefix of your game directly issue winecfg on that particular folder. this way you can edit settings only for this game.

as mentioned by user Random,
proton has winecfg support. you can use /tmp/proton_run winecfg on a prefix for protons own winecfg.

Also IMPORTANT NOTE:
all changes you do to main prefix and to game prefixes won't last forever. When you update steam app it will revert Proton main prefix to default empty prefix and your customizations will be lost.
game prefix will last till you repair game files or update it. it can prove difficult to maintain such games with custom tweaks, unless you're willing to reapply your customization every time it resets by steam.
Last edited by Cat on Linux; Aug 24, 2018 @ 9:50am
< >
Showing 46-51 of 51 comments
noabody Jan 5, 2019 @ 8:47am 
I've been working on a generic command builder in Linux for bash:
https://raw.githubusercontent.com/noabody/unibuild/master/data/wstart

The script is an odd mixture of dynamic menus and command line options. There are hard paths like bin/pfx that have to be set, would probably work okay for Debian variants.

It's not like Play on Linux or Lutris in that I'm relying on multiple global wine/local proton binary and prefix installations.

If, for instance, there were only one installed wine in /opt(/wine-staging) and one prefix in $HOME(/.wine) then the available options will be applied without a menu, as there are no options.

The strength comes from having multiple, which allows the script to then setup the environment for a specific wine and prefix. Proton acts similarly.

The biggest issue is understanding how to install multiple global wine which is noted briefly in script comments.

It can set the proton prefix and launch default winetricks either in gui form or with command line parameters:

wstart -pt -q corefonts

1) Proton 3.7/dist 3) Proton 3.16/dist
2) Proton 3.16 Beta/dist 4) quit
Please enter your choice: 2

384570 ZanZarah: The Hidden Portal
1) 384570/pfx
2) 0/pfx
3) quit
Please enter your choice: 2

You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Using winetricks 20181203-next - sha256sum: 3e6df16b25929596df40d6ba5edfbc9d932a8dcc3bfd3afb22f56aa0364944c0 with wine-3.16 and WINEARCH=win64
Executing w_do_call corefonts
corefonts already installed, skipping

Since this is an in-house script, I'll just note its existence but can't provide any support.
Last edited by noabody; Jan 5, 2019 @ 8:48am
rado84 Apr 4, 2019 @ 2:29pm 
Does anyone know how to set Proton to use a specific DLL? Using the instruction from the first post I tried setting it like this:

"PROTON_USE_WINEDINPUT": "1",
"PROTON_USE_WINEDINPUT8": "1",
"PROTON_USE_DINPUT": "1",

but none of these worked. I wanna make it use dinput8.dll.so or the original dinput8.dll for GTA 5 Single Player.
Cat on Linux Apr 4, 2019 @ 2:44pm 
Originally posted by rado84:
Does anyone know how to set Proton to use a specific DLL? Using the instruction from the first post I tried setting it like this:

"PROTON_USE_WINEDINPUT": "1",
"PROTON_USE_WINEDINPUT8": "1",
"PROTON_USE_DINPUT": "1",

but none of these worked. I wanna make it use dinput8.dll.so or the original dinput8.dll for GTA 5 Single Player.

according to this discussion people were able to make it work with DLL override. what you need is to make sure you installed DX9 into game prefix, then run winecfg on that prefix and switch to Libraries tab. look for dinput8 and set it from built-in to "native then built-in".

https://github.com/ValveSoftware/Proton/issues/37
Last edited by Cat on Linux; Apr 4, 2019 @ 2:45pm
rado84 Apr 4, 2019 @ 3:39pm 
Originally posted by Cat on Linux:
according to this discussion people were able to make it work with DLL override. what you need is to make sure you installed DX9 into game prefix, then run winecfg on that prefix and switch to Libraries tab. look for dinput8 and set it from built-in to "native then built-in".

https://github.com/ValveSoftware/Proton/issues/37
What does "game prefix" mean? Is that the dir where the game is installed or is it literally the folder named "prefix"? My game is installed in /media/rado/Drive_D/STEAM .
thetargos Apr 4, 2019 @ 7:52pm 
Originally posted by rado84:
Originally posted by Cat on Linux:
according to this discussion people were able to make it work with DLL override. what you need is to make sure you installed DX9 into game prefix, then run winecfg on that prefix and switch to Libraries tab. look for dinput8 and set it from built-in to "native then built-in".

https://github.com/ValveSoftware/Proton/issues/37
What does "game prefix" mean? Is that the dir where the game is installed or is it literally the folder named "prefix"? My game is installed in /media/rado/Drive_D/STEAM .
Games running in Proton have "two" installation directories, one for the game data, one for getting all the Windows infrastructure in place, the prefix, which lives in <path_to_steamapps>/compatdata/<gameID>/pfx

This directory is where all the .dll substitutions will take place in order to increase compatibility for specific apps. Unlike in Windows where you may end up with a TON of different .dlls installed for all possible apps, this segmentation allows you to have independent "infrastructure" for different applications, so that it minimizes the effect of potentially installing something that may yield one app to work, but break many others.
Last edited by thetargos; Apr 4, 2019 @ 7:53pm
scamar Oct 9, 2020 @ 11:02am 
Another way to launch the wincfg of needed proton is:
cd "/home/utente/.local/share/Steam/steamapps/common/Proton 4.11/"
export PATH="$PWD/dist/bin":$PATH
export WINEPREFIX=/home/utente/proton2/pfx
export STEAM_COMPAT_DATA_PATH=$HOME/proton2
./proton run ./dist/share/default_pfx/drive_c/windows/system32/winecfg.exe

I use those command in a script to set the environment (the ones with export function)
Then instead executing winecfg, i execute the game with:
./proton run /home/utente/proton2/pfx/drive_c/Program\ Files\ \(x86\)/Voobly/voobly.exe

< >
Showing 46-51 of 51 comments
Per page: 1530 50

Date Posted: Aug 22, 2018 @ 12:25pm
Posts: 51