1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

How To Organize Your Steam Games with PlayOnLinux

Discussion in 'Linux Guides (Generic)' started by allenskd, Feb 15, 2014.

  1. Night

    Night New Member

    Joined:
    Jun 24, 2014
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    0
    Thank you. This helps me a lot, but I have only one question. Is it possible to change the language of the game? I want to play Scribblenauts, but I normally speak german. In other Games I don't care but in SCribblenauts it's very important for me. I could set Steam for Scribblenauts to german but then I don't use the right wine version. (It also works with this version, but it is "only" in the silver status on the wine Website) I hope you can help me :)
  2. allenskd

    allenskd Active Member

    Joined:
    Feb 5, 2014
    Messages:
    510
    Likes Received:
    52
    Trophy Points:
    28
    Hey Night, I attached an screenshot.

    Go to the game you want to change the language: Right click -> Go to Properties -> Language

    2014-06-24-15:53:42-screenshot.png
  3. olorin12

    olorin12 New Member

    Joined:
    Aug 2, 2014
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    Help!
    I followed your instructions exactly, but I am getting an error when opening the Steam4All entry in PoL.
    This is the contents of the logfile:
    Code:
    ->(0x33ecd4): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4dfa7b8)->(0x33e074): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4dfa7b8)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e343e0)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e343e0)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e34640)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e34640)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e348a8)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e348a8)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e34b10)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e34b10)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35518)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35518)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35890)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35890)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35140)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35140)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35140)->(0x33e450): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57490)->(0x33dd0c): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4d57490)->((nil) 0x137bf40 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57490)->(0x33e1e8): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57620)->(0x33daa4): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4d57620)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57700)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4d57700)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35fc0)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35fc0)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57c50)->(0x33ecd4): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4dfa7b8)->(0x33e074): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4dfa7b8)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e343e0)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e343e0)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e34640)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e34640)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e348a8)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e348a8)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e34b10)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e34b10)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35518)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35518)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35890)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35890)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35140)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35140)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35140)->(0x33e450): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57490)->(0x33dd0c): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4d57490)->((nil) 0x137bf40 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57490)->(0x33e1e8): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57620)->(0x33daa4): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4d57620)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57700)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4d57700)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35fc0)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35fc0)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4dfa7b8)->(0x33e074): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4dfa7b8)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4dfa7b8)->(0x33e074): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4dfa7b8)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4dfa7b8)->(0x33e074): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4dfa7b8)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4dfa7b8)->(0x33e074): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4dfa7b8)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4dfa7b8)->(0x33e074): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4dfa7b8)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4dfa7b8)->(0x33e074): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4dfa7b8)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4dfa7b8)->(0x33e074): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4dfa7b8)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e343e0)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e343e0)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e34640)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e34640)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e348a8)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e348a8)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e34b10)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e34b10)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35518)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35518)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35890)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35890)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35140)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35140)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35140)->(0x33e450): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57490)->(0x33dd0c): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4d57490)->((nil) 0x137bf40 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57490)->(0x33e1e8): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57620)->(0x33daa4): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4d57620)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57700)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4d57700)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35fc0)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35fc0)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57bb0)->(0x33ecd4): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4dfa7b8)->(0x33e074): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4dfa7b8)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e343e0)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e343e0)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e34640)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e34640)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e348a8)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e348a8)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e34b10)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e34b10)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35518)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35518)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35890)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35890)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35140)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35140)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35140)->(0x33e450): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57490)->(0x33dd0c): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4d57490)->((nil) 0x137bf40 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57490)->(0x33e1e8): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57620)->(0x33daa4): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4d57620)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4d57700)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4d57700)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4e35fc0)->(0x33df74): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4e35fc0)->((nil) 0x137bf20 0.000000 0.000000): stub
    fixme:dwrite:dwritetextlayout_GetMetrics (0x4dfa7b8)->(0x33e074): stub
    fixme:dwrite:dwritetextlayout_Draw (0x4dfa7b8)->((nil) 0x137bf00 0.000000 0.000000): stub
    fixme:iphlpapi:CancelIPChangeNotify (overlapped 0x480d058): stub
    fixme:win:UnregisterDeviceNotification (handle=0xcafecafe), STUB!
    fixme:iphlpapi:CancelIPChangeNotify (overlapped 0x13a08b0): stub
    fixme:advapi:EventUnregister deadbeef: stub
    fixme:advapi:EventUnregister deadbeef: stub
    fixme:advapi:EventUnregister deadbeef: stub
    fixme:advapi:EventUnregister deadbeef: stub
    fixme:advapi:EventUnregister deadbeef: stub
    
    Am I doing something wrong? Thank you.
  4. olorin12

    olorin12 New Member

    Joined:
    Aug 2, 2014
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    You know what?
    Disregard me. I am an idiot. I forgot to change the username in that script file you had me make. Derp.

    For future reference, that code above is what you get when you don't do the script file correctly.
  5. booman

    booman Grand High Exalted Mystic Emperor of Linux Gaming Staff Member

    Joined:
    Dec 17, 2012
    Messages:
    8,278
    Likes Received:
    614
    Trophy Points:
    113
    Location:
    Linux, Virginia
    Home page:
    I was going to say, that dwrite is a simple fix by adding -no-dwrite in the arguments...
    Glad you got it worked out.
  6. hynner

    hynner New Member

    Joined:
    Jan 3, 2015
    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    1
    Thanks for great guide. I've tried to automatize this further by making this setup work with playonlinux install scripts. Details can be found on playonlinux forums.
    The main idea is that when install script tries to install steam it's linked from the shared installation instead of making a new install.
  7. allenskd

    allenskd Active Member

    Joined:
    Feb 5, 2014
    Messages:
    510
    Likes Received:
    52
    Trophy Points:
    28
    Hey, thanks for the contribution hynner! Is it stable to the point that can be used by anyone without any extra steps so I can link it up in guide?
  8. hynner

    hynner New Member

    Joined:
    Jan 3, 2015
    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    1
    As I've written in the playonlinux thread - I've only tested it with one game so far and it worked. I'm gonna test it with more games either tonight or tomorrow depending on how much time I will have.

    As for the simplicity of use: it only requires a few extra file edits, so that should be OK. I guess the whole setup (including the initial creation of Steam drive according to your guide) could be automatized with shell script for supereasy use, I might even do that once I'm sure this works as expected.
  9. hynner

    hynner New Member

    Joined:
    Jan 3, 2015
    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    1
    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 :)
  10. hynner

    hynner New Member

    Joined:
    Jan 3, 2015
    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    1
    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 :)
  11. ZZrabbit

    ZZrabbit New Member

    Joined:
    Aug 27, 2015
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    Hi All

    First I would like to say great guide allenskd.
    But, I have the Steam4All part down but I am having problems understanding the prefixes for the games and symlinks.
    Any help would be greatly welcomed.

    Thanx
    ZZ
  12. allenskd

    allenskd Active Member

    Joined:
    Feb 5, 2014
    Messages:
    510
    Likes Received:
    52
    Trophy Points:
    28
    Hey @ZZrabbit sorry for the super late reply, if you haven't been able to solve the problem could you describe which part is confusing you?

    There's plenty of symlinks going on... hard to know which one to explain :[
    Last edited: Sep 7, 2015
  13. ZZrabbit

    ZZrabbit New Member

    Joined:
    Aug 27, 2015
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    Hi allenskd ...
    Thank you for replying, I think, I got
    It seems to working so for

    ZZ
  14. liberavia

    liberavia New Member

    Joined:
    Nov 12, 2015
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    0
    I really love your Idea and I'm currently testing it out, but the idea itself is brilliant and I consider to work on the automation part.

    I former played arround with symlinking myself with "wineportlib" as result, which makes it possible to install POL games directly into the (deb-based-)system (Descriptions on the links only in German, sorry for that, but It will work in any language):

    https://wiki.ubuntuusers.de/wineportlib
    https://wiki.ubuntuusers.de/wiki/tags/wineportlib

    I have another project upcoming where I try to get things into kodi and this guide here hopefully solves a basic problem how to deal with different configs of steam games.

    So in one word: Thanks!
  15. vashin

    vashin Member

    Joined:
    Nov 11, 2015
    Messages:
    50
    Likes Received:
    4
    Trophy Points:
    8
    Nice work Allenskd, Thank You.
  16. Slaktarfisken

    Slaktarfisken New Member

    Joined:
    Feb 18, 2017
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    1
    Hi when i try to create the new steam library trough steam i get this massage
    "selected drive already has a Steam library folder. Steam will manage game installs in a single folder for you"

Share This Page