El Foro

Shared Steam installation

Autor Respuestas
hynner Saturday 3 January 2015 at 22:25
hynnerAnonymous

Hello,
as this is my first post here, let me just give you big thanks for playonlinux, it really makes using wine much more pleasant.

And now to the matter I'm actually writing about:
I've been using this guide  on how to avoid installing steam over and over again with playonlinux, however this makes it impossible to use install scripts and is therefore neccessary to read the source code of the script and do the important parts manually. I've made a quick attempt to automatize this - I've made a POL_Install_steam function override which instead of installing new copy of steam just links the one already installed (as described in the guide I linked). It seems to work pretty well, I haven't had much time (and bandwidth) to test it properly but I've managed to install C&C 3 Tiberium Wars using installation script provided by playonlinux and it works (even working shortcuts were created).
So I just want to share it with you, maybe get a few tips on how to improve it, because as you can see it's a mess (mainly because find_binary function used by POL_Shorcut can't find symlinked file). And of course any other feedback will also be appreciated.

Here is the script.

USE AT YOUR OWN RISK. IT SEEMS TO WORK FOR ME, IT MAY NOT WORK FOR YOU THOUGH!

How to use it:

  1. Install steam as described in the guide, remember to install it to the same disc partition as your wineprefixes, otherwise hardlinks won't work
  2. For this to work you have to allow function overrides - add ALLOW_FUCTION_OVERRIDES=TRUE to your playonlinux.cfg
  3. Download the script from github and place it in ~/.PlayOnLinux/configurations/function_overrides
  4. Set the correct path to your shared steam installation to the STEAM_PATH variable inside the script
  5. That's it, now you should be able to use playonlinux installation scripts with shared wine installation.

Editado por: hynner

petch Saturday 3 January 2015 at 23:32
petch

Components or tweaks installed by different install scripts may conflict with each other, so for me as a scripts maintainer it's ok if it never becomes the standard way to use Steam in PlayOnLinux (would lead to undebuggable situations). Could it stay as a hack for advanced users?

hynner Saturday 3 January 2015 at 23:39
hynnerAnonymous

Yeah thats one thing I want to find out, whether there will be any problems from using this. However I took a quick look to Functions category and I only see 3 packages related to steam - POL_Install_steam, steam_flags and HackSteam. steam_flags only sets some registry stuff which I guess are separate for different virtual drives. I'm not really sure what HackSteam does, but it changes content of Steam directory so it could possibly broke something.

 

Are you concerned about anything specific?

petch Saturday 3 January 2015 at 23:40
petch

Mmmh ok, you share Steam files, not the virtual drives. I don't know if they're any drawbacks. Does it remove the need to re-register vs Steam each time, or just save disk space?

petch Saturday 3 January 2015 at 23:42
petch

HackSteam was a work around for some versions de Wine (1.7.something, I don't remember exactly), that's not something general, and is probably obsolete even.

hynner Saturday 3 January 2015 at 23:44
hynnerAnonymous

 

Mmmh ok, you share Steam files, not the virtual drives. I don't know if they're any drawbacks. Does it remove the need to re-register vs Steam each time, or just save disk space?

 

Yeah it does, that bothers me more than disk spacesmiley

petch Sunday 4 January 2015 at 0:05
petch

I hope sharing a registration key between several setups is ok, from both technical and legal points of view, not being a Steam user I really have no idea about those questions...

hynner Sunday 4 January 2015 at 0:16
hynnerAnonymous

I'm not sure about this, but I guess it should be ok, because I'm not sharing the key but the whole steam directory also this is intended as an extension of the setup from the guide I linked so if this is a problem then it is inherited from that.

The only technical problem I can think of with this might occur if steam decided to store some neccessary information into registers which would then be out of sync between individual drives, but again this would be a problem inherited from the guide.

But as I said, I haven't had time to test it with multiple games yet, for now all I can confirm is that it worked with one installation scriptsmiley

hynner Sunday 4 January 2015 at 22:02
hynnerAnonymous

All right, I've tried it again this time with Assassins Creed and it worked fine (except a slight problem within the installation script itself - the "working wine version" was apparently too old or untested with 64b prefix which the script created (or rather wasn't told to create 32b prefix). But installation ended successfully and working shortcut was created.

I'm gonna continue using it, because it seems to work. But of course one can never be sure about all the consequences from messing with stuff like this, so use it at your own risk.

If anyone decides to try it please write whether it worked for you :-)

 

All right, I've tried it again this time with Assassins Creed and it worked fine (except a slight problem within the installation script itself - the "working wine version" was apparently too old or untested with 64b prefix which the script created (or rather wasn't told to create 32b prefix). But installation ended successfully and working shortcut was created.
 
I'm gonna continue using it, because it seems to work and it doesn't seem to do something too different from what you're doing in your setup. But of course one can never be sure about all the consequences from messing with stuff like this, so use it at your own risk.
 
If anyone decides to try it please write whether it worked for you :-)
hynner Tuesday 6 January 2015 at 21:33
hynnerAnonymous

I've made playonlinux install script to set this up from scratch. It will install new steam virtual drive according to your setup and enable my POL_Install_steam function which will enable you to use playonlinux install scripts for steam games while sharing steam installation among them. I've posted the code on github along with detailed readme. You can check it out here.

Any feedback will be appreciated :) :-)