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

2

Comments

  • edited September 2008
    tremby wrote: »
    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:
    1. IE6 environment
      env WINEPREFIX=$HOME/.ies4linux/ie6 wine "C:/Program Files/Internet Explorer/IEXPLORE.EXE" google.com
      
    2. SBCG4AP environment
      env WINEPREFIX=$HOME/.wine_sbcg4ap wine "C:/Program Files/Internet Explorer/IEXPLORE.EXE" google.com
      

    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.

    First works, second doesn't. I don't know what is wrong, since I just copied and pasted all the code from the site. I guess I'm going to have to delete the ~/.ies4linux and ~/wine_sbcg4ap folders and try again (for the... 6th time)
  • edited September 2008
    tremby wrote: »
    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.

    Yup, that's what I've been doing. I've gone ahead and attached the output. Looks like there might be a LAN network problem. I compiled WINE 1.1.4 from source (uninstalling my previous versions naturally), but I don't remember using/seeing any options having to do with networking, so hopefully that isn't it. How did you compile your recent wine?
  • edited September 2008
    no need to remove ~/.ies4linux (IE6 is working fine) or to reinstall Wine. just delete ~/.wine_sbcg4ap with
    rm -rf ~/.wine_sbcg4ap
    
    then repeat every instruction in step 3. (you obviously don't have to download the installer again if you still have it.)
  • edited September 2008
    Yup, that's what I've been doing. I've gone ahead and attached the output.
    i can't really make much of it -- looks pretty similar to my output, but maybe i'm missing something.
    Looks like there might be a LAN network problem.
    why do you think it has anything to do with your LAN?
    I compiled WINE 1.1.4 from source (uninstalling my previous versions naturally), but I don't remember using/seeing any options having to do with networking, so hopefully that isn't it. How did you compile your recent wine?
    i didn't -- i've got the precompiled version straight from WineHQ's Ubuntu repository. (though before 1.1.3 was released demonfoo compiled a patched 1.1.2 and packaged it, and i used that.)

    let me make this clear: i don't think there's anything wrong with your installation of Wine. IE6 is running through Wine, and if networking is working in that, it's working.

    i just realised that i didn't mention WineHQ's repository -- the version of Wine in Ubuntu's normal repositories might not be a 1.1.3-plus. howto amended.
  • edited September 2008
    Also, I've just purchased and installed Episode 2 - Strong Badia the Free. It runs perfectly. Hooray!
  • edited September 2008
    you didn't buy the season as soon as you got the demo working? i sure as hell know i did! (downloading now)
  • edited September 2008
    tremby wrote: »
    you didn't buy the season as soon as you got the demo working? i sure as hell know i did! (downloading now)

    I just bought the full season upgrade; figured I wasn't going to pay for the full season until I was 100% sure it was going to work. (Also, I was buying a car, money was a little tight at the time...)
  • edited September 2008
    demonfoo wrote: »
    Also, I've just purchased and installed Episode 2 - Strong Badia the Free. It runs perfectly. Hooray!

    I tried installing that one too just now and it doesn't seem like it wants to go. I actually noticed that you have to change the wineprefix settings when installing this one back to Windows 98 just so the download of the directX component can happen. If I leave it as Windows XP, the download freezes. Do you happen to know why that is?
  • edited September 2008
    no, but if you take a look at the first post of the thread, you'll see i've added instrux for the second 'sode. i'll add a note about what you've just said, actually, too.
  • edited September 2008
    tremby wrote: »
    i can't really make much of it -- looks pretty similar to my output, but maybe i'm missing something.

    why do you think it has anything to do with your LAN?

    i didn't -- i've got the precompiled version straight from WineHQ's Ubuntu repository. (though before 1.1.3 was released demonfoo compiled a patched 1.1.2 and packaged it, and i used that.)

    let me make this clear: i don't think there's anything wrong with your installation of Wine. IE6 is running through Wine, and if networking is working in that, it's working.

    i just realised that i didn't mention WineHQ's repository -- the version of Wine in Ubuntu's normal repositories might not be a 1.1.3-plus. howto amended.

    OK... Now I'm perplexed. I changed the compatibility to Vista, rather than XP (after installing, since the compatibility has to be on 98 just to get the thing to download) and it works now (it connects to the internet).

    But then it crashes... Here's an output of my screen:

    The text output was too big, so I zipped it up.
  • edited September 2008
    OK... Now I'm perplexed. I changed the compatibility to Vista, rather than XP (after installing, since the compatibility has to be on 98 just to get the thing to download) and it works now (it connects to the internet).

    But then it crashes... Here's an output of my screen:

    The text output was too big, so I zipped it up.

    I also switched the compatibility again to XP (after having logged into the internet with vista), but it still crashes... Any suggestions? I'ma go into Windows for a bit to check out the game. And they say that you don't need windows anymore with WINE....
  • edited September 2008
    The references to __indirect_glGetCompressedTexImageARB have me concerned. What kind of graphics card do you have in your system? Do you have the appropriate drivers in place? Are you sure that wine is linking at runtime against the correct libGL?

    Also, I didn't have to change the Windows version to "Windows 98" - I just installed it, and it ran. You said you built Wine yourself for your distribution? What options did you use when building it?
  • edited September 2008
    demonfoo wrote: »
    The references to __indirect_glGetCompressedTexImageARB have me concerned. What kind of graphics card do you have in your system? Do you have the appropriate drivers in place? Are you sure that wine is linking at runtime against the correct libGL?

    Also, I didn't have to change the Windows version to "Windows 98" - I just installed it, and it ran. You said you built Wine yourself for your distribution? What options did you use when building it?

    I'm running a laptop with an NVIDIA G-FORCEGo 7600 with 256 MB dedicated memory. I'm pretty sure that isn't the problem. I'm using the recent NVIDIA drivers for linux (installed the typical way through their script under limited runlevel environment). I don't know how to check if wine is linking to the correct libGL.

    I compiled wine --with-opengl --with-alsa. I think those were the only two options I used. They seemed to be the only relevant ones.

    During installation, it doesn't download the directx drivers (it freezes) unless mode is in Windows 98, like it is in the original prefix setting of ies4linux. I never tried it in Vista mode, but vista mode was the only one that allowed me to register and get into the log in screen. I can't play passed that.

    So to recap, it seems that I can only get it to connect to the internet if the mode is in Windows 98 or Vista, and cannot get it to play passed the title screen.

    This is way too much trouble, I'd rather just dual boot when I want to play.
  • edited September 2008
    I wish we could help you more, but something doesn't sound right. The fact that it (sort of) works when running as Windows 98 or Vista, but not as XP? That doesn't make any sense at all. Unfortunately it may just be the case that something weird about the distribution you're running is preventing things from working as they should. I've been using the official WineHQ-provided Ubuntu build of Wine (which I did tweak with a patch as of Wine 1.1.2, but otherwise are what they provide). Are you sure you're running the current version of Wine (like, the distro you're running doesn't include an older build that's masking out the copy you're running)? What does 'wine --version' yield? Also, what does 'ldd $(which wine)' yield?
  • edited September 2008
    demonfoo wrote: »
    I wish we could help you more, but something doesn't sound right. The fact that it (sort of) works when running as Windows 98 or Vista, but not as XP? That doesn't make any sense at all. Unfortunately it may just be the case that something weird about the distribution you're running is preventing things from working as they should. I've been using the official WineHQ-provided Ubuntu build of Wine (which I did tweak with a patch as of Wine 1.1.2, but otherwise are what they provide). Are you sure you're running the current version of Wine (like, the distro you're running doesn't include an older build that's masking out the copy you're running)? What does 'wine --version' yield? Also, what does 'ldd $(which wine)' yield?

    I wouldn't think that it is the distro's fault, but I sometimes just don't know with linux. wine --version yields 1.1.4. I couldn't get an output from ldd. Can you tell me what you meant by "which wine?" Thanks.
  • edited September 2008
    I wouldn't think that it is the distro's fault, but I sometimes just don't know with linux. wine --version yields 1.1.4. I couldn't get an output from ldd. Can you tell me what you meant by "which wine?" Thanks.

    Running 'which wine' by itself should return the path to your wine binary, though I guess that won't actually answer the question at hand. Maybe try running one of the following:
    ldd /usr/lib32/wine/opengl32.dll.so
    
    or
    ldd /usr/lib/wine/opengl32.dll.so
    
    or
    ldd /usr/local/lib/wine/opengl32.dll.so
    

    See what path it's using to link libGL.so.1 - then just follow the symbolic links.
  • edited September 2008
    demonfoo wrote: »
    Running 'which wine' by itself should return the path to your wine binary, though I guess that won't actually answer the question at hand. Maybe try running one of the following:
    ldd /usr/lib32/wine/opengl32.dll.so
    
    or
    ldd /usr/lib/wine/opengl32.dll.so
    
    or
    ldd /usr/local/lib/wine/opengl32.dll.so
    

    See what path it's using to link libGL.so.1 - then just follow the symbolic links.

    Hi,

    Seems that libGL.so.1 is linking through this path: /usr/lib32/libGL.so.1 (0xf7dca000) (don't know what the hexadecimal is for, but I figured I'd include it). It seems like it's linking, though I am not sure if there is more to the problem. Thanks!
  • edited September 2008
    Have i missed something in the above instructions? When I click on the launcher on my desktop, I get a start screen that just asks for a serial number and has a "submit query" button:
  • edited September 2008
    alpreston wrote: »
    Have i missed something in the above instructions? When I click on the launcher on my desktop, I get a start screen that just asks for a serial number and has a "submit query" button:

    What version of WINE are you using? It does that for older versions of wine. Make sure you have 1.13+.
    $wine --version
    
  • edited September 2008
    alpreston wrote: »
    Have i missed something in the above instructions? When I click on the launcher on my desktop, I get a start screen that just asks for a serial number and has a "submit query" button:

    Did you read the part about (a) installing ies4linux, and (b) copying ~/.ies4linux/ie6 to ~/.wine_sbcg4ap? It's important that you have IE6 installed, since the launcher embeds it for its interface.
  • edited September 2008
    Seems that libGL.so.1 is linking through this path: /usr/lib32/libGL.so.1 (0xf7dca000)

    Okay, so what does /usr/lib32/libGL.so.1 point to? Keep following symlinks (easiest way is with readlink) until you find the real file that is pointed to. Is it the nVidia libGL, like on the 64-bit side? If not, you need to fix up the symlinks so that it does.
    (don't know what the hexadecimal is for, but I figured I'd include it).

    That's the starting address that the library gets mapped to in the runtime image.
    It seems like it's linking, though I am not sure if there is more to the problem.

    It's getting linked - it would be blowing up far earlier if it couldn't link libGL, but I think it's just linking the wrong one.
  • edited September 2008
    demonfoo wrote: »
    Okay, so what does /usr/lib32/libGL.so.1 point to? Keep following symlinks (easiest way is with readlink) until you find the real file that is pointed to. Is it the nVidia libGL, like on the 64-bit side? If not, you need to fix up the symlinks so that it does.

    Ahh, I wasn't aware of readlink. It's a neat little function. I always used the output of long list (ls -l) to figure these things out. My apologies for not posting what it was pointing to. It is pointing to file libGL.so.1.2. which seems to be in the same directory. What file should it be pointing to and where is it located so that I may make the proper symlink?
  • edited September 2008
    demonfoo wrote: »
    Did you read the part about (a) installing ies4linux, and (b) copying ~/.ies4linux/ie6 to ~/.wine_sbcg4ap? It's important that you have IE6 installed, since the launcher embeds it for its interface.

    If ies4linux is installed on an older version of wine, it will give that screen. Also if there is something wrong with the prefix when copying even with newer wine versions it will also present that problem. I believe that screen is the "offline" mode for installation.

    It still won't work until he gets the problems resolved with either copying the prefix correctly, or updating wine. It is best to reinstall ies4linux after updating wine too.
  • edited September 2008
    Ahh, I wasn't aware of readlink. It's a neat little function. I always used the output of long list (ls -l) to figure these things out. My apologies for not posting what it was pointing to. It is pointing to file libGL.so.1.2. which seems to be in the same directory. What file should it be pointing to and where is it located so that I may make the proper symlink?

    What does /usr/lib/libGL.so.1 point to? The nVidia driver installer *should* have installed the 32-bit version of their GL library in /usr/lib32, so look at the above file, then fix the /usr/lib32/libGL.so.1 symlink to point to the correct library. That *should* get you going...
  • edited September 2008
    What version of WINE are you using? It does that for older versions of wine. Make sure you have 1.13+.
    $wine --version
    

    I'm running wine 1.1.4
  • edited September 2008
    demonfoo wrote: »
    Did you read the part about (a) installing ies4linux, and (b) copying ~/.ies4linux/ie6 to ~/.wine_sbcg4ap? It's important that you have IE6 installed, since the launcher embeds it for its interface.

    Yup. I did all that - I've had ies4linux for some time, and recently updated it to version 2.99.0.1.
  • edited September 2008
    demonfoo wrote: »
    Did you read the part about (a) installing ies4linux, and (b) copying ~/.ies4linux/ie6 to ~/.wine_sbcg4ap? It's important that you have IE6 installed, since the launcher embeds it for its interface.

    In another thread, it's been suggested that the problem has to do with javascript not being enabled. I'm not sure where to check that in IE6.
  • edited September 2008
    i had a similar screen when i tried to run it with the Gecko renderer rather than IE. as the others said, i think something's up with your installation of ies4linux.

    i recommend starting over -- delete your .wine_sbcg4ap and .ies4linux directories:
    rm -rf ~/.wine_sbcg4ap ~/.ies4linux
    
    and then go from step 2: install ies4linux, following every step.
  • edited October 2008
    First of all, thx demonfoo and tremby for the excellent howto.

    I've followed it exactly and come across an error I haven't see elsewhere (including google). When I try to launch the game I get:
    fixme:mixer:ALSA_MixerInit No master control found on USB Device 0x46d:0x8d7, disabling mixer
    fixme:ntdll:NtQueryInformationProcess (0xffffffff,info_class=34,0x1c2a3b0,0x00000004,0x1c2a3ac) Unknown information class
    fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_HANDLE_INFORMATION
    fixme:ntdll:NtQueryObject Unsupported information class 3
    fixme:debugstr:CheckRemoteDebuggerPresent (0xffffffff)->(0x1c2929c): Stub!
    NVIDIA: could not open the device file /dev/nvidiactl (Permission denied).
    NVIDIA: Direct rendering failed; attempting indirect rendering.
    NVIDIA: could not open the device file /dev/nvidiactl (Permission denied).
    NVIDIA: Direct rendering failed; attempting indirect rendering.
    fixme:win:EnumDisplayDevicesW ((null),0,0x1c290e8,0x00000000), stub!
    wine: Unhandled exception 0x80000004 at address (nil) (thread 0009), starting debugger...
    
    This is with Wine 1.1.6
    I can run IE6 in Wine just fine.
    Any clues?
  • edited October 2008
    looks like an OpenGL problem. what is the output of
    glxinfo | grep direct

    and what happens when you run
    glxgears
  • edited October 2008
    Right you are tremby! Appears to be an old, lingering bug with nvidia drivers. Just added my user to the "video" group to solve. Sorry to bug you, given that it wasn't a SBCG4AP specific issue.

    Now here's hoping I can get audio and video to run smoothly...

    Thx
  • edited October 2008
    what you're looking for (all sorts of Linux forums worth trying) is a way to get direct rendering working. good luck!
  • edited November 2008
    I get tons of messages when actually launching the game from the launcher (which I managed to get working without a hitch). I also have working Direct Rendering and everything else using GL seems to work fine:
    libGL error: drmMap of framebuffer failed (Cannot allocate memory)
    libGL error: reverting to (slow) indirect rendering

    ...

    fixme:d3d:debug_d3dformat Unrecognized 909200449 (as fourcc: AL16) WINED3DFORMAT!
    err:d3d:CheckTextureCapability Unhandled format=unrecognized
    fixme:d3d:debug_d3dformat Unrecognized 909201952 (as fourcc: R16) WINED3DFORMAT!
    err:d3d:CheckTextureCapability Unhandled format=unrecognized
    fixme:d3d:debug_d3dformat Unrecognized 909200449 (as fourcc: AL16) WINED3DFORMAT!
    err:d3d:CheckTextureCapability Unhandled format=unrecognized
    fixme:d3d:debug_d3dformat Unrecognized 909201952 (as fourcc: R16) WINED3DFORMAT!
    err:d3d:CheckTextureCapability Unhandled format=unrecognized
    fixme:d3d:debug_d3dformat Unrecognized 909200449 (as fourcc: AL16) WINED3DFORMAT!
    err:d3d:CheckTextureCapability Unhandled format=unrecognized
    fixme:d3d:debug_d3dformat Unrecognized 909201952 (as fourcc: R16) WINED3DFORMAT!
    err:d3d:CheckTextureCapability Unhandled format=unrecognized
    fixme:d3d:debug_d3dformat Unrecognized 909200449 (as fourcc: AL16) WINED3DFORMAT!
    err:d3d:CheckTextureCapability Unhandled format=unrecognized
    fixme:d3d:debug_d3dformat Unrecognized 909201952 (as fourcc: R16) WINED3DFORMAT!
    err:d3d:CheckTextureCapability Unhandled format=unrecognized
    fixme:d3d:IWineD3DDeviceImpl_EvictManagedResources (0x63b29d0) : stub

    And then, only a black, smaller screen, with music playing.
  • edited November 2008
    hmm, can you confirm that
    glxinfo | grep direct
    
    gives "direct rendering: Yes"?

    what graphics card do you have, and which driver is it using?
  • edited December 2008
    Geez that's a lotta work. Too bad it doesn't work automagically with crossover games natively.
  • edited December 2008
    I got some free time today and tried the install again on a Mepis 8 box. I am using wine 1.1.9 and the installations went off without a hitch. Something must have definitely been wrong with my Mepis 7 installation. I upgraded most of my files to the Debian Lenny repository and that got rid of a lot of problems for me. Perhaps that and the fresh wine install did it for me. Kudos for the detailed instructions and thanks for all the previous help.
  • edited December 2008
    glad to hear it!

    i haven't tried episode 5 yet -- haven't finished playing 4 yet! that's a job for tonight, perhaps.
  • edited December 2008
    Ninja wrote: »
    Geez that's a lotta work. Too bad it doesn't work automagically with crossover games natively.

    Maybe the next version of Crossover Games will include a 1.0.x or 1.1.x Wine release; unfortunately in the meanwhile, this is your best option. :) I've got all 5 episodes going on my Linux workstation, so I know it definitely works, and you only need to do it one time for all episodes to work.
  • edited February 2009
    Direct rendering is on and glxgears work fine. However, the game crashes when I launch it (main version or demo.) I always wind up having to hard-reset. No screenshots available, because my Canon point-n-click is out of batteries at the moment. :p However, I was successfully able to run the game from the command line, piping stderr to a log file.


    I am running WINE version 1.1.14.



    The attached zip file contains
    • "User.reg" from .wine_sbcg4ap (user.reg.sbcg4ap)
    • "User.reg" from normal .wine (user.reg.normal)
    • The log file I mentioned earlier (sbdb.log)

    All provided in the hope that it will be useful diagnostic information.
  • edited February 2009
    Can you provide the output of glxinfo? From looking at the output from the logfile you provided, it *looks* like it's using software vertex processing. Are you sure that the graphics chip in the system has hardware vertex support? I mean, it shouldn't cause a crash, but based on the output, it does look like software vertex code may be in use. Is hardware vertex support enabled in winecfg?
This discussion has been closed.