User Avatar Image

howto: get SBCG4AP 101 (demo and full game) running on Linux

posted by tremby on - last edited - Viewed by 3.6K users

Strong Bad's Cool Game for Attractive People episodes 101 and 102 howto: get them running in Linux
by demonfoo and tremby

the commands in this howto (and some of the files linked) are specific to Ubuntu Hardy Heron. a similar procedure should work for other distros, though.

[list=1]
[*] install Wine 1.1.3 or later
[list=1]
[*] if you haven't already, add WineHQ's repository to your package manager. (instructions from WineHQ)
[list=1]
[*] add the repository's key so packages can be authenticated by running
wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -
[*] add the repository to the list of sources by running
sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/hardy.list -O /etc/apt/sources.list.d/winehq.list
[*] refresh your package list by running
sudo apt-get update
[/list]
[*] install or upgrade Wine by running
sudo apt-get install wine
[/list]
[*] install IEs4Linux
[list=1]
[*] first we need cabextract and tar. we'll get the MS fonts while we're at it. install them by running
sudo apt-get install cabextract tar msttcorefonts
[*] then download and extract IEs4Linux by running
wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz -O- | tar zx
[*] move into the IEs4Linux directory by running
cd ies4linux-*
[*] load the installer by running
./ies4linux
it'll complain on the command line that you're running an old version of Wine, but it's lying.
[*] install it. the default options are fine for the purposes of this howto, but since i'm a web developer i install IE7 too by clicking "advanced" and then checking IE7's box. close the installer when it's done.
[*] move back out of the IEs4Linux directory by running
cd ..
[/list]
[*] set up Wine for SBCG4AP and install the game
[list=1]
[*] copy the WINEPREFIX ("drive C") for IE6 to make one for SBCG4AP which has IE6 installed by running
cp -a ~/.ies4linux/ie6 ~/.wine_sbcg4ap
[*] download the Homestar Ruiner demo installer with your browser (i'll assume to your desktop) or by running
wget http://www.telltalegames.com/demo/homestarruiner -O ~/Desktop/homestarruinerdemo.exe
[*] start the installer by running
env WINEPREFIX=$HOME/.wine_sbcg4ap WINEDLLOVERRIDES=\"rpcrt4,ole32,d3d9=b\" wine ~/Desktop/homestarruinerdemo.exe
[*] follow its instructions. the default paths are fine, and be sure to answer "yes" to the question about installing DirectX. uncheck "Play now" when it's done and click "Finish". then you can delete the installer if you like by selecting it and hitting delete or running
rm ~/Desktop/homestarruinerdemo.exe
[*] set up Wine for this WINEPREFIX (and therefore the game)
[list=1]
[*] run the Wine config tool with the game's WINEPREFIX by running
env WINEPREFIX=$HOME/.wine_sbcg4ap winecfg
[*] on the "Applications" tab, set the Windows version to Windows XP
[*] on the Audio tab, say OK to the box telling you to edit your audio settings and it will set some defaults. check they make sense.
[*] add DLL overrides. to do this, go to the "Libraries" tab and add each of the following:
[list]
[*] d3d9
[*] ole32
[*] rpcrt4
[/list]
by choosing from the list (or typing) and then clicking add, for each.
[*] for each of the overrides above, click its entry in the list of "Existing overrides" and click "Edit". choose "Built-in (Wine)" from the menu and click OK.
[*] optional (do this if you're having problems with the game screen or just want to run in a window): on the "Graphics" tab, check "Emulate a virtual desktop" and enter the resolution you want.
[*] click "Apply" and then "Close"
[/list]
[/list]
[*] start the game
double click the launcher, enter your My Telltale login information (if asked) and then click on the green area at right about the level of Strong Bad's feet; unfortunately the image that should be there doesn't appear.
[/list]

to install the second episode, make sure you run the installer in your SBCG4AP environment: env WINEPREFIX=$HOME/.wine_sbcg4ap wine ~/Desktop/Strong_Badia_the_Free_setup.exe
this time, you can say no to the DirectX question. if you do, you need to put a link to the DLL which the DirectX installer would have added (already in the Episode 1 directory) for Episode 2 after installing by running ln -s \"../Episode 1 - Homestar Ruiner/d3dx9_27.dll\" ~/.wine_sbcg4ap/drive_c/\"Program Files/Telltale Games/Strong Bad/Episode 2 - Strong Badia the Free/\"
then the launcher the game puts on your desktop should work just fine.

to install the third, do the same stuff as for the second, but the link command will be a tad different:
ln -s \"../Episode 1 - Homestar Ruiner/d3dx9_27.dll\" ~/.wine_sbcg4ap/drive_c/\"Program Files/Telltale Games/Strong Bad/Episode 3 - Baddest of the Bands/\"

96 Comments - Linear Discussion: Classic Style
  • @The Unmaker said: I tried that, and it sends me to a "the page cannot be displayed." I've posted another screenshot. It still seems a bit ominous that I cannot get in with the registration information anyway.


    to be honest, i can't recall when i typed my information in. it was after i got the demo working, though -- i played through the whole demo before buying the season. i don't remember what message, if any, i got once i'd entered the info.

    am i getting this right that you have paid for the game but are unable to log in to unlock it? i've never seen the various splash screens on a Windows machine and so don't know the order in which they're supposed to come up. i'm also not clear on what logging in is compared to entering a serial number, and i've no idea where you might find the "manual unlock tab" which you mentioned was in the message when you couldn't log in.

    potentially a stupid question, but just a thought: you're sure you're using the right login info? (though if you're getting other 404s it's no surprise it can't check your info.)

    ...
    I then tore everything down and started from scratch (deleted the ~/.ies4linux folder ~/.wine_sbcg4ap and any other remnants I could find
    that would have been everything. the registry, configuration and filesystem for a particular WINEPREFIX are all stored within its directory.

    I'm thinking there might be something wrong with the settings in IE6 to connect to the internet, or something to that effect. If you have any suggestions, please let me know. Thanks!


    i never had to change any IE6 settings. maybe you'd have to if you use a proxy, though...?

    load up IE6 -- not from whatever launcher ies4linux may have given you but rather from SBCG4AP's Wine directory -- by running env WINEPREFIX=$HOME/.wine_sbcg4ap wine ~/.wine_sbcg4ap/drive_c/\"Program Files/Internet Explorer/IEXPLORE.EXE\" google.com and ensure you can get to other websites, just to be sure that IE within the game's WINEPREFIX isn't the problem.

    @The Unmaker said: I also notice that when installing SBCG4AP, the directx window comes up and starts to install components for windows 98. Following your steps, you install the game first, and then configure wine afterward (change the dlls and force XP emulation).


    ...
    I don't know if that has anything to do with it, but can you just confirm the order in which you indeed installed the game and configured the files?
    i definitely did it in the order i gave. that wasn't by design, actually -- i hadn't thought about what effect the emulation mode would have on the installer.

    i've never actually been 100% convinced about installing the DirectX files -- we're overriding the installed d3d8 and d3d9 DLLs with Wine's built-in ones. maybe demonfoo can elaborate on how installing it helps -- i seem to recall him mentioning that it puts something else we need in place. perhaps whatever that is is not Windows-version-specific and so setting the compatibility mode before installing isn't necessary.

  • @tremby said: i've never actually been 100% convinced about installing the DirectX files -- we're overriding the installed d3d8 and d3d9 DLLs with Wine's built-in ones. maybe demonfoo can elaborate on how installing it helps -- i seem to recall him mentioning that it puts something else we need in place. perhaps whatever that is is not Windows-version-specific and so setting the compatibility mode before installing isn't necessary.

    I just reinstalled SBCG4AP to a separate tree to verify for myself - the d3dx9_27.dll file *does not* get installed unless you let the DirectX updater run. Without that file, SBCG4AP will *fail* to run. It is very important that it's allowed to run, otherwise Wine will fail to run it at all, due to not being able to link d3dx9_27.dll into the runtime image.

  • understood. i had assumed d3d9 encompassed d3dx9_27, but i guess not. i tried adding d3dx9_27=builtin to the override list and it gives the error wine: Call from 0x7b844f90 to unimplemented function d3dx9_36.dll.D3DXAssembleShaderFromFileA, aborting so i guess they'll get round to implementing that at some point. (the message says d3dx9_36 -- most of the functions in the implementations of the earlier versions just forward the calls right to the newest one.)

    while i was at it, i tried switching off some of the other overrides, setting each back to "native" (which was set by ies4linux), and the d3d8 one needn't be builtin. i've updated the howto.

    but then i tried removing all the overrides, thus using only the builtin Wine ones and, after installing Gecko, i got just a white page with "Click here to run the game". clicked that and the game starts up, and seems to be fine. interesting, but i'm not sure if it's useful, given that logging in is necessary at some point.

  • i never had to change any IE6 settings. maybe you'd have to if you use a proxy, though...?

    load up IE6 -- not from whatever launcher ies4linux may have given you but rather from SBCG4AP's Wine directory -- by running env WINEPREFIX=$HOME/.wine_sbcg4ap wine ~/.wine_sbcg4ap/drive_c/\"Program Files/Internet Explorer/IEXPLORE.EXE\" google.com and ensure you can get to other websites, just to be sure that IE within the game's WINEPREFIX isn't the problem.

    OOOHHH. Interesting thought. I tried that and guess what? Didn't work! That could be the root cause of my problem. Looks like ies4linux isn't able to access the internet within the WINEPREFIX of SBCG4AP. This being the case... it might not be a flash/graphics issue as I originally thought (since I couldn't see the options the game claimed to have.) ies4linux work on their own and I do not use a proxy (never really bothered to learn how they work or for what purpose), only a firewall with a static IP. I can easily change it to DHCP for the time being. I just need to know what the forwarding settings for wine are or what settings need to be changed to allow ies4linux to access the internet within that prefix.

    i've never actually been 100% convinced about installing the DirectX files -- we're overriding the installed d3d8 and d3d9 DLLs with Wine's built-in ones. maybe demonfoo can elaborate on how installing it helps -- i seem to recall him mentioning that it puts something else we need in place. perhaps whatever that is is not Windows-version-specific and so setting the compatibility mode before installing isn't necessary.

    demonfoo is right in his explanation. Though it looks like that part went off without a hitch for me. Thanks for pointing out the problem with the ies4linux, though. I thought it was something like that, though I wasn't sure in what context to place it under.

  • Here are the screenshots that I was supposed to post from the last time:

    Yup... it's the internet connection problem with that prefix. Where to go from here? Thanks for the help!

  • You don't happen to have a firewall or something on your machine, or between you and your internet connection, that might be causing this? What Linux distribution are you using? I know you mentioned it was an x86_64 distro (I'm running Ubuntu hoary for x86_64, and the game works fine), but I didn't see you mention specifically which distribution you're running.

  • @demonfoo said: You don't happen to have a firewall or something on your machine, or between you and your internet connection, that might be causing this? What Linux distribution are you using? I know you mentioned it was an x86_64 distro (I'm running Ubuntu hoary for x86_64, and the game works fine), but I didn't see you mention specifically which distribution you're running.

    I'm running SimplyMEPIS 7.0 and using the native guarddog application for a firewall connection. It never does anything to inhibit access to the internet and I can connect using the launcher for ies4linux. I just cannot connect to the internet when running the ies4linux in the WINEPREFIX for SBCG4AP.

    I tried disabling the firewall just now and even tried using DHCP instead of my static IP, with no avail. The problem lies somewhere in how the prefix is defined for SBCG4AP and how that is affecting my connection.

  • You said you did copy the entirety of ies4linux's WINEPREFIX? I looked at the launcher wrapper for IE6 included with ies4linux, and it doesn't do anything particularly special. If you run SBCG4AP in a terminal, what kind of messages do you get out of it?

  • @The Unmaker said: I can connect using the launcher for ies4linux. I just cannot connect to the internet when running the ies4linux in the WINEPREFIX for SBCG4AP.

    step 3-1 in the first post of the thread copies the whole of IE6's Wine environment (ies4linux makes separate environments (WINEPREFIXes) for each IE it installs) to start your SBCG4AP environment.

    if you've done that right, running IE6 from the SBCG4AP environment should act no differently whatsoever from running IE6 from the IE6 environment, regardless of any firewall settings.

    just so we're sure, can you try these in turn:
    [list=1][*]IE6 environmentenv WINEPREFIX=$HOME/.ies4linux/ie6 wine \"C:/Program Files/Internet Explorer/IEXPLORE.EXE\" google.com[*]SBCG4AP environmentenv WINEPREFIX=$HOME/.wine_sbcg4ap wine \"C:/Program Files/Internet Explorer/IEXPLORE.EXE\" google.com[/list]

    since you've told your SBCG4AP environment to use a virtual desktop, the only difference should be that the second runs in a window. a few other things are different (the things you set up in 3-5) but none of these should make a difference to IE.

    if the first works (you can access the web) and the second doesn't, i can't think of any explanation except that you've done something wrong in the step i mentioned.

  • @demonfoo said: If you run SBCG4AP in a terminal

    just in case you're not clear, that's cd ~/.wine_sbcg4ap/drive_c/\"Program Files/Telltale Games/Strong Bad/Episode 1 - Homestar Ruiner\"
    env WINEPREFIX=$HOME/.wine_sbcg4ap wine Homestar101.exe
    (it doesn't like the work path being a directory other than its own, so you need to be in its dir first)

    you could send all output to a file to attach by running

    cd ~/.wine_sbcg4ap/drive_c/\"Program Files/Telltale Games/Strong Bad/Episode 1 - Homestar Ruiner\"
    env WINEPREFIX=$HOME/.wine_sbcg4ap wine Homestar101.exe 2>~/sbcg4apoutput.txt

    and then attach sbcg4apoutput.txt, which will be in your home directory.

Add Comment