Steam for Linux

Steam for Linux

Installing two games into a single wineprefix
This is a bit of a unique situation I suppose but I have an issue with Field of Glory:Empires. Basically the game lets you export battles to a tactical wargame from the same company: Field of Glory 2. When you have to battle in Empires, you can choose 'Export', the game will launch FoI 2 and then close, there you can play the battle and export the result back into Empires (FoI 2 will close and restart Empires). Both games work perfectly fine with Proton (on their separate wineprefixes) but of course I can't actually export battles, because the games don't 'see' each other.

So my question: once I install one of the games with Proton, how can I force the other one to install into the same prefix, instead of a new one?

I'm no Linux expert but I can follow instructions so let me know if you have any suggestions.
< >
Showing 1-8 of 8 comments
thetargos Jul 24, 2019 @ 9:44am 
Short answer: Yes you can. You will have to fiddle a bit until it works as expected. Long answer as soon as I have more time.
Aoi Blue Jul 24, 2019 @ 10:51am 
This is the default way to install in Vanilla Wine.

However, Proton bottles games independently in separate prefixes. While this improves reliability it does run into this particular issue.

Theoretically you can delete the prefix for one game and link it to the prefix to the other, than reinstall the game. However, I'm not familiar enough with the Proton prefix setup to know if this will run into any serious problems.
Marlock Jul 24, 2019 @ 11:50am 
maybe a symlink from the root of one proton game bottle to the other?

edit: also maybe copying all game files from the c:/ of one bottle to the other may be enough even if the registry entries aren't there

https://github.com/ValveSoftware/Proton/wiki/Proton-FAQ#where-are-my-saved-games-located
Last edited by Marlock; Jul 24, 2019 @ 12:05pm
cateanu.mihnea Jul 24, 2019 @ 1:12pm 
Originally posted by Marlock:
maybe a symlink from the root of one proton game bottle to the other?

edit: also maybe copying all game files from the c:/ of one bottle to the other may be enough even if the registry entries aren't there

https://github.com/ValveSoftware/Proton/wiki/Proton-FAQ#where-are-my-saved-games-located


Thanks for the tip, I thought of something like that but the way the games are installed is a bit weird.

So the game data is not in drive-c. It's in a folder (separate for each game) located in steamlibrary\steamapps\common\. Then the save files and config files are in My Documents, in the actual pfx folders. So I've no idea what to copy and from where (or link)...
Last edited by cateanu.mihnea; Jul 24, 2019 @ 1:12pm
thetargos Jul 24, 2019 @ 1:38pm 
rm -rf /path/to/game_id_b/pfx && ln -s /path/to/game_id_a/pfx /path/to/game_id_b/

Hope it helps, report success.

Expanded answer

You can find out what you need to copy from one prefix to the other by means of searching the drive_c under the prefix you want to "transfer over". As you said previously, usually user-side stuff lives under (default path):

.local/share/Steam/steamapps/compatdata/<appid>/pfx/drive_c/users/steamuser/

Usually inside this directory you will have your usual assortment of Windows directory structure (for instance from a random pfx):

ppData Desktop 'My Music' 'Saved Games' 'Application Data' Downloads 'My Pictures' Searches Contacts Favorites 'My Videos' SendTo Cookies Links NetHood 'Start Menu' dd_vcredistMSI6F44.txt 'Local Settings' PrintHood Temp dd_vcredistUI6F44.txt 'My Documents' Recent Templates

Hence it is easy to limit your search to the steamuser directory when searching for game-specific files you may need to copy over and replicate their placement. If you do not know what to copy, you can simply perform a "generic bulk copy" and hope for the best:

cp -r /path/to/gameid_b/pfx/drive_c/users/steamuser/* /path/to/gameId_a/pfx/drive_c/steamuser/

Where gameid_a is the prefix of the game you want to act as the "master" or "host" and the gameid_b is the game you want to move over, then simply link them, so that when you run gameid_b it will use gameid_a's pfx.
Last edited by thetargos; Jul 24, 2019 @ 7:19pm
cateanu.mihnea Jul 25, 2019 @ 1:24am 
Originally posted by thetargos:
rm -rf /path/to/game_id_b/pfx && ln -s /path/to/game_id_a/pfx /path/to/game_id_b/

Hope it helps, report success.

Thank you, I did actually manage to progress using your suggestions. I moved gameB's user data folder from pfxB to pfxA and then set up a link to it in pfxB. Now gameA lets me export a battle and gameB can then import it. The only (smaller) problem is that the games can't actually launch each other, I have to do it manually. I suppose this is because they try to run the other game's .exe file directly, instead of calling the steam id. I'm not sure if and how I can modify that behaviour, but I suppose that's a question for the publisher's forum.

Cheers!
Last edited by cateanu.mihnea; Jul 25, 2019 @ 1:24am
thetargos Jul 25, 2019 @ 5:28am 
You can try and further expand the network by means of recreating the directory structure of Steam on Windows by means of creating wirhin gameA's pfx/drive_c:

mkdir -p 'Program Files (x86)/Steam/steamapps/common/' ln -s /path/to/steamapps/common/gameBdir Program\ Files\ \(x86\)/Steam/steamapps/common/gameBdir
That should help finding the game's executable run within gameA's context
Last edited by thetargos; Jul 25, 2019 @ 5:31am
cateanu.mihnea Jul 25, 2019 @ 11:37pm 
Originally posted by thetargos:
You can try and further expand the network by means of recreating the directory structure of Steam on Windows by means of creating wirhin gameA's pfx/drive_c:

mkdir -p 'Program Files (x86)/Steam/steamapps/common/' ln -s /path/to/steamapps/common/gameBdir Program\ Files\ \(x86\)/Steam/steamapps/common/gameBdir
That should help finding the game's executable run within gameA's context

Good idea but it still doesn't work. I also posted on the publisher forum and they said the games should call each other through the steam ID, not the .exe so they're at a loss about advice too.
But after banging my head to my keyboard in frustration for 2 days I thought of an alternate solution: I installed Steam for WIndows under playonlinux and from there it finally works as intended. Not the best solution because now I have 2 separate Steam installation to switch between, but it's still better than setting up a VM imo. Thanks for your help.
Last edited by cateanu.mihnea; Jul 25, 2019 @ 11:38pm
< >
Showing 1-8 of 8 comments
Per page: 1530 50

Date Posted: Jul 24, 2019 @ 6:15am
Posts: 8