Fooling WinSteam

Discussion in 'PlayOnLinux' started by booman, Feb 11, 2014.

  1. booman

    booman Grand High Exalted Mystic Emperor of Linux Gaming Staff Member

    Joined:
    Dec 17, 2012
    Messages:
    8,347
    Likes Received:
    627
    Trophy Points:
    113
    Location:
    Linux, Virginia
    Home page:
    Just brainstorming here...
    What if there was a way to launch WinSteam from a virtual drive and launch games from other virtual drives?
    This way you only have to log into Steam one time and play all of your Steam games.
    I know the games won't appear on the Steam Library, but you could easily make shortcuts to your games using PlayOnLinux.
    But, will Steam in one virtual drive allow the DRM from another virtual drive?

    Obviously the problem is Windows Libraries (Packages/Components)
    Some libraries work for one game but break others. Even Wine versions work for one game and break others.
    So we are forced to use different libraries and versions of Wine for each Steam game, thus installing WinSteam multiple times.

    If there was a way to bridge the virtual drives with one Steam while keeping the Wine versions and libraries separate, we would have a new world of Linux PC gaming.
  2. allenskd

    allenskd Active Member

    Joined:
    Feb 5, 2014
    Messages:
    510
    Likes Received:
    52
    Trophy Points:
    28

    I've been working on this.... but there are a few drawbacks.

    1) I need to find a way to export/import registry of Steam.
    2) Organization of games are important. I did come up with a way to organize your games and I'm pretty sure it will work :)
    For example, basically you all know that steam lets you have different libraries, right? After installing Steam, choose to create a new library, in theory all your different versions of steam should have all the games registered. However, what about the shortcuts? In truth, you can browse the shortcut yourself in the new steam library.

    3) I don't know if there's a big difference on how Steam behaves in a 32 bit WINE vs a 64 bit WINE.

    If I could solve the registry problem with steam which I'm sure I can, we'll have one Steam installation and one big games library... wish me luck!
  3. allenskd

    allenskd Active Member

    Joined:
    Feb 5, 2014
    Messages:
    510
    Likes Received:
    52
    Trophy Points:
    28
    I bring good news.

    I found out how to maintain ONE Steam installation for all.

    1) It involves importing/exporting the registry
    2) It involves creating manual shortcuts (for now until I report the symlink bug to PoL developers)

    Next thing to try is moving all Steam games into ONE location then reconfiguring my PoL virtual drives. I do have a good feeling that everything is going to work out just fine :) But... it's a bit messy until they fix the symlink issue
    booman likes this.
  4. booman

    booman Grand High Exalted Mystic Emperor of Linux Gaming Staff Member

    Joined:
    Dec 17, 2012
    Messages:
    8,347
    Likes Received:
    627
    Trophy Points:
    113
    Location:
    Linux, Virginia
    Home page:
    Please post your results!
    I'm very curious to see if its possible.
    I think Wine versions will be the main setback, but if it can be determined which Wine version works with most games, then that could fix the problem.
    At the same time, when you launch Wine it is utilizing specific installed libraries, so launching a game from a separate virtual drive could break the game if the proper libraries aren't already installed.
    There has to be a way to quickly change virtual drives, libraries and wine versions without logging out of Steam
  5. booman

    booman Grand High Exalted Mystic Emperor of Linux Gaming Staff Member

    Joined:
    Dec 17, 2012
    Messages:
    8,347
    Likes Received:
    627
    Trophy Points:
    113
    Location:
    Linux, Virginia
    Home page:
    Please share!
    How do you import/export the registry?
  6. allenskd

    allenskd Active Member

    Joined:
    Feb 5, 2014
    Messages:
    510
    Likes Received:
    52
    Trophy Points:
    28
    I'll be detailing a full guide once I confirm everything, I need to ensure that everything goes according to how I planned.

    For importing/exporting, just go to your wine registry section in PoL. After opening it, Import/Export registry.

    I'll be giving the users the Steam registry because it's the default one to use. However, this method has its pros/cons

    Anyway, just give me a few more hours/days... moving skyrim/borderlands and other games are going to take a while
  7. booman

    booman Grand High Exalted Mystic Emperor of Linux Gaming Staff Member

    Joined:
    Dec 17, 2012
    Messages:
    8,347
    Likes Received:
    627
    Trophy Points:
    113
    Location:
    Linux, Virginia
    Home page:
    No hurry! Take your time.
    Man, that import/export will have to be automated somehow. We would rather just log out of Steam and login to the next one instead of import/export registries.
  8. allenskd

    allenskd Active Member

    Joined:
    Feb 5, 2014
    Messages:
    510
    Likes Received:
    52
    Trophy Points:
    28
    Oh no, actually the good news: Since there's only ONE Steam installation it keeps all your credentials saved. I did a 32 bit WINE installation then later did a 64 bit one, loaded the registry on both virtual drives, it automatically connected without doing anything.

    I reported the symlink issue to PoL developers. I'm hoping they fix it.. else I'll just go patch up their code. PoL code is a bit of a maze... I wish there was a developer guide.

    One thing for sure... I'm going to end up writing a big guide... because I have to explain "why it works like that and why it doesn't mess with the other wine prefixes", etc. :[
  9. booman

    booman Grand High Exalted Mystic Emperor of Linux Gaming Staff Member

    Joined:
    Dec 17, 2012
    Messages:
    8,347
    Likes Received:
    627
    Trophy Points:
    113
    Location:
    Linux, Virginia
    Home page:
    That would be awesome! I wish we could host your guide here (hint hint, wink wink)
    I will definitely give it a try.
  10. allenskd

    allenskd Active Member

    Joined:
    Feb 5, 2014
    Messages:
    510
    Likes Received:
    52
    Trophy Points:
    28
    I don't mind writing the main guide for gamersonlinux, as long as I'm allowed to cross-post to my blog :) If this is fine with you then we are set.

    I also need help testing the guide. I mean, it WORKS. But, I don't know if the registry I have will always be the same for everyone, else I will have to write extra steps on how to get the registry and it's not going to be pretty.

    If someone has the time, please dump one of your Steam installations. Go to your Virtual Drive -> Registry Editor -> Menu bar where it says Registry -> Export Registry -> Save as .reg (not as WIN9K/etc) so I can verify that my Steam registry file is uniform.

    Don't worry about the password, Steam encrypts that in a file, not the registry. Take a look :]


    Anyway!

    One Steam installation to rule them all. To do away the nightmare of installing steam over and over. I finally did it. I was able to configure everything the way I wanted it. I'm going to write the guide today, hopefully have it ready for tomorrow or today. I think I should mention this because it's important. If you follow the guide

    1) you will have to manually configure the shortcuts until PoL fixes the symlink problem
    2) If everyone followed this guide, in a way all the guides provided by gamersonlinux would have an even greater value on how to set up virtual drives, since the games are isolated, all the people have to do is create the virtual drive and create the shortcuts manually.

    I'm going to rest up a bit first before writing, I'm kind of in the middle of recovery after hurting my back so anyway, if you want to talk just add me on Steam (btw you should promote PlayOnLinux steam group)

    my id is: talesofaprinny

    Cheers
  11. booman

    booman Grand High Exalted Mystic Emperor of Linux Gaming Staff Member

    Joined:
    Dec 17, 2012
    Messages:
    8,347
    Likes Received:
    627
    Trophy Points:
    113
    Location:
    Linux, Virginia
    Home page:
    Oh yeah, we are more than happy to cross-post to your blog and share links, etc.
    I'm just happy you have taken the time to figure this out...

    Just to clarify, you are using a single Steam install to launch games in other virtual drives, correct?

    Doesn't the registry have installed library information? So what if the registry doesn't have the correct libraries or wine version for a specific game?

    When you say "manually create shortcuts" do you mean going to Configure, General Tab and clicking "create shortcut in this virtual drive"?

    Thank you for your hard work!
    No hurry, but if your guide helps everyone to use one single Steam, then goal achieved!
    I"ll look you up on Steam
  12. allenskd

    allenskd Active Member

    Joined:
    Feb 5, 2014
    Messages:
    510
    Likes Received:
    52
    Trophy Points:
    28
    Yep, I'm using ONE steam to only install games. Let me clarify, most of the time you can't make windows steam launch games in other virtual drives... that's jut not possible.

    My Setup is like this

    /home/david/WINEApps/Steam <-- where my main Steam resides

    /media/david/Usagi/Library/Games <-- Steam Games repository (using Steam Library of course)

    Imagine this is structure

    -> Steam Main (Virtual Drive) 32bit Wine
    -> Make a shortcut of Steam that is in /home/david/WINEApps/Steam/Steam.exe

    -> Skyrim (Virtual Drive) 32 bit WINE
    -> Make a shortcut to Steam Main which is the Steam in /home/david/WINEApps/Steam
    -> Make a shortcut to Skyrim.exe that is in /media/david/Usagi/Library/Games/SteamApps/common/Skyrim
    -> Make an extra shortcut for SKSE because we know how handy SkyUI mod is :)


    For both of those virtual drive you need to import Steam registry which is relatively easy and can be done in PoL. It takes like 5 seconds top.

    Since all Steam configurations are in /home/david/WINEApps/Steam which has a Steam Library in /media/david/Usagi/Library/Games, in theory you can run any games in any virtual drive, but that would have consequences (I'll expand on this later).


    Here, this is an screenshot I took a few hours ago for the guide: on the left you can see all the games in one place and on the right you can see me creating the shortcuts

    [​IMG]


    I know this sounds all tedious, but it isn't. Once you get the hang of it not only you will see how easy it is. All the guides in gamersonlinux will be even more useful to compliment with the new guide :)
  13. Daerandin

    Daerandin Well-Known Member

    Joined:
    Oct 18, 2013
    Messages:
    1,157
    Likes Received:
    259
    Trophy Points:
    83
    Location:
    Northern Norway
    Home page:
    I am very much looking forward to your guide to see how to do this and what any potential limitations might be. If installed libraries and other settings such as GLSL support will be specific for each game, then this is truly a brilliant piece of work on your part and I will definitely follow your steps.
  14. allenskd

    allenskd Active Member

    Joined:
    Feb 5, 2014
    Messages:
    510
    Likes Received:
    52
    Trophy Points:
    28
    You get to keep specific settings like GLSL support, CSMT, StrictDrawOrdering for each game and still maintain the same Steam, and everything is managed through PoL :) (except shortcuts) . I can confirm this because I configured my Skyrim yesterday after moving my Steam games to my Usagi drive. The only limitation which is WINE related is that you still need to run Steam beyond WINE 1.7.8.

    I'm hoping to finish the guide today... but I'm having a bit of trouble keeping it simple. I don't want to scare the readers with so much text :( (mostly explanations)

    That aside, I'm looking to integrate "system-wide installation with PlayOnLinux through the network using NFS". So you could play in any device that has linux + the NFS exports mounted. The only downside is that I don't have a gigabit ethernet card/wireless card so I guess 12-15Mbps will have to do, hopefully it'll be enough. This little idea I will execute for later... I can barely stand up correctly due to my back.
    booman likes this.
  15. Daerandin

    Daerandin Well-Known Member

    Joined:
    Oct 18, 2013
    Messages:
    1,157
    Likes Received:
    259
    Trophy Points:
    83
    Location:
    Northern Norway
    Home page:
    Let me just say that this sounds absolutely awesome. I don't know about the others, but I don't mind a lot of explanations because I very much want to know exactly what the changes are and how they work. But I also understand the need to keep it somewhat simple so newbies will not be scared off from the first glance. If you have the time to throw in pictures, I believe that seem to comfort a lot of people, despite having a wall of text to go with it. So just some pictures displaying the progress visually might be helpful.

    Wishing you a speedy recovery.
  16. allenskd

    allenskd Active Member

    Joined:
    Feb 5, 2014
    Messages:
    510
    Likes Received:
    52
    Trophy Points:
    28
    The guide is complete... I'm gonna take a break then start preparing the screenshots.

    I know you wanted me to post it here, should I post it in the Guides forum section ? Let me know.
  17. booman

    booman Grand High Exalted Mystic Emperor of Linux Gaming Staff Member

    Joined:
    Dec 17, 2012
    Messages:
    8,347
    Likes Received:
    627
    Trophy Points:
    113
    Location:
    Linux, Virginia
    Home page:
    I'm not sure if you can post in Guides.
    If you can't just post in Wine/PlayOnLinux and I'll move it to the Guides forum.
  18. booman

    booman Grand High Exalted Mystic Emperor of Linux Gaming Staff Member

    Joined:
    Dec 17, 2012
    Messages:
    8,347
    Likes Received:
    627
    Trophy Points:
    113
    Location:
    Linux, Virginia
    Home page:
    Reply by AllenSKD:
    I hear you. The job market is saturated where I am so I'm using my free time to finish a bachelor's degree. I think in the end thinking about it won't really help me that much. It all depends in how the WINE users take it.

    I did a few tests. There were all positive tests, I'm still sorting out some stuff such as file permissions, etc. So, here are some ideas of the new WINE wrapper I'll be structuring over the week

    Features

    This will be the first web-powered WINE wrapper.

    - Steam users can benefit by keeping it DRY (don't repeat yourself), one installation of steam to rule them all.
    - The WINE wrapper is an experiment within itself, I'm aiming for wine bottles to be handled at a multi-user level. It's really experimental.
    - Anyone running the wrapper can suspend a user from running WINE applications. This is good if you have a household with children not behaving well ;).
    Unlikely other wrappers, this one will have a user management system using your own linux user/password. (tested)
    - Linux users will be able to launch applications through the web (experimental but tested, also secure as long as it's for internal use, although I'll make sure to make it secure enough)
    - Users will have the option to compile WINE through the wrapper (future)
    - User scripts installations
    - AppDB like WINEHQ (future)
    - Process Management (see which applications are currently running)

    - and others features I'm thinking.

    Let me know what you think. I think it would be a really neat contribution :)
  19. booman

    booman Grand High Exalted Mystic Emperor of Linux Gaming Staff Member

    Joined:
    Dec 17, 2012
    Messages:
    8,347
    Likes Received:
    627
    Trophy Points:
    113
    Location:
    Linux, Virginia
    Home page:
    Sorry, I selected the wrong post when moving his guide to the front page.
  20. allenskd

    allenskd Active Member

    Joined:
    Feb 5, 2014
    Messages:
    510
    Likes Received:
    52
    Trophy Points:
    28
    thanks for reposting, I was having a convo with Daerandin but... when the post got moved to the front page i didn't see that one..

    Thanks for moving it to the front page. :)
    booman likes this.

Share This Page