Telltale + Linux: A Definitive Guide

edited April 2013 in Game Support
[MOD EDIT: Previous Linux guides on this forum: Sam & Max and SBCG4AP]

As a Linux guy who loves his adventuring, I'll try and keep this updated as best I can. These instructions were developed for Wine 1.1.29, under Ubuntu Jaunty 9.04, but should work under the newest build/distro. The example is for installing TOMI, but can be adapted to pretty much any downloadable Telltale title. This guide assumes you have set up your computer with the proper ATI/NVIDIA 3D drivers; most distros will ask you if you want them, the answer is hell yes! So let's get cracking!

GAMES THIS METHOD HAS BEEN TESTED WITH:
  • Sam and Max Series 1
  • Sam and Max Series 2
  • SBCG4AP Series 1
  • Wallace and Gromit Series 1
  • Tales of Monkey Island Series 1
  • Sam and Max Series 3


1.) Visit WineHQ and get the latest build for your distro.

You should know by now that Wine is the de-facto way of running native Windows apps under your Linux of choice. What may not be obvious is that the copy bundled with most distros is freaking ancient; why, tens of thousands of fixes and improvements have potentially been committed since then! To put it in perspective, the "stable" one in your distro was sent out around the time colour television was first invented. The Wine guys release a new one literally every fortnight. So the first thing you should do is visit this page and follow the instructions for your distro to fix yourself up with the latest.


2.) Download WineTricks and install the d3dx9 package.

Wine hasn't replicated the Direct3D extension DLLs (e.g. d3dx9_41.dll) yet, and they're needed by some Telltale games. There's a quick way to fix this:
wget http://www.kegel.com/wine/winetricks 
sh winetricks d3dx9
This will download the DirectX 9 installer and rip just the good bits out of it; you'll probably see a EULA or two, click yes. Congrats, you now have all the libraries you need.

SPECIAL STEP FOR SAM AND MAX SERIES 3 OWNERS: Telltale have finally taken their old IE6 based launcher and lashed it to a canoe, set it on fire then left it to slowly drift down a canal. The replacement is a nicer, faster, cross-platformier QT/WebKit deal. However, with WineTricks, you need to install the Visual Studio runtime files before the game will start.
sh winetricks vcrun2005


3.) Run the game installer. When it asks if you want to update DirectX, just say no.

Easy as. Most distros let you double-click the EXE to start Wine; I prefer the terminal.
wine LaunchOfTheScreamingNarwhal_Setup.exe

SPECIAL STEP FOR SAM AND MAX SERIES 3 OWNERS: You're done! Enjoy the game :)


4a.) Enter your purchased serial number into the box.

Grab it from here and paste it into the box. The launch window will switch to a white page after doing this; that means it's working! With luck, you can quit the launcher now by running in a terminal
wineserver -k
Next time you start the game up, you'll get a "Click here to run the game" link instead of the serial box. Congratulations!

OR

4b.) Download this patching script and launch the demo with it.

Originally you needed this script to make the serial number entry work, but that regression got fixed! If you want to just play the demo, you'll need to crack open a terminal:
cd ~/.wine/drive_c/Program\ Files/Telltale\ Games/Tales\ of\ Monkey\ Island/Launch\ of\ the\ Screaming\ Narwhal
wget http://rebui.ld.net.au/covox/ttg-patch.py
python ttg-patch.py MonkeyIsland101.exe
If all goes to plan, you should see some text in the launcher window offering a link to play the demo. Congratulations!


FREE HINTS:
  • You only have to use ttg-patch.py once to register a serial number, but every time you want to play the demo.
  • If you're having trouble getting rid of the Telltale window after quitting the launcher, run "wineserver -k" to kill it.
  • If you're having trouble with sound (e.g. skipping, not being there at all) and you use a reasonably new distro, it's probably PulseAudio. It's pretty much always PulseAudio. Do yourself a favour and run "pulseaudio -k" to murder it before starting the game.
  • If the game crashes just as it loads into fullscreen mode, you can force it to load in a virtual desktop. This can be done either by running winecfg and changing the global setting, or on the fly by running Wine like the following example:
    wine explorer /desktop=Wine,800x600 MonkeyIsland101.exe
    

But I use a Mac! It has a UNIX logo on the box!
Telltale is porting stuff to Mac now. Did you miss the memo?

But if you mean specifically using Wine to play Windows-only titles...
Short version: Seeing as you guys don't mind paying $39.95 for a fancy lending list, you can take my word that investing the same amount in a copy of CrossOver Games would be the bargain of the century.
Long version: Apple's version of X11 is pretty crap and breaks with WineD3D. Apparently some fixes have been made to Xquartz, so I'll try it again soon.

What about Monkey Island's treasure-hunting feature?
Too much black magic.

NEW: I tried running Sam and Max Series 2, but instead of getting the serial number box I got a grey screen saying "Logging you in"! Also, the script complains about a missing noScriptDiv! What gives?
I just tried out S&M 201 yesterday, it appears to be slightly different in that it doesn't have any fallback HTML (like every other Telltale game) for entering the serial number and starting the game. To work around this, grab the latest copy of ttg-patch.py, which can now inject the missing bits of HTML. Unfortunately, you'll need to use it every time to run the game. Believe me, I'm crying as much as you are.

Well, I hope that worked for you guys. If it didn't, post here!
«13456

Comments

  • edited July 2009
    I'm very impressed. This solution is way better than the "ies4linux-method". Also it is the only way (I can think of), to get the demo running.

    Great job!

    (Also confirmation, that it works with Arch Linux.)
  • idoido
    edited August 2009
    any luck with the treasure hunt mode?
  • edited August 2009
    Oooh goodness. :):D
    Thanks alot for writing these instructions!!

    I can confirm that these instructions work on an Ubuntu Karmic Koala (9.10beta) installation.
    "Aptitude install wine1.2 "
    installed the 1.2.27 version of Wine for me.

    The computer is a Dell M4400 with a nVidia quadro FX700m.
    Running the stock Karmic installation with the nVidia driver.

    Fullscreen video and sound is working perfectly.
    One snag: On exit the program crashed and left my desktop at 1024x768.

    Any luck on the treasure hunt thing?

    --
    - PP
  • joljol
    edited August 2009
    anyone got it working for episode 2?
  • edited August 2009
    yup.
    Used the same patch as mentioned by the OP.

    I had a problem with the fonts garbled on the initial launch screen.
    But the buttons are in the same place.
    Just click the new game button and off you go.

    And then when you press esc in-game and return to the pause menu the fonts are ok....
  • joljol
    edited August 2009
    ok.. good , ill try installing again. I just got a blank launch screen, not start link och textbox for serial number...:(
  • koekoe
    edited August 2009
    I had the blank page too (with wine 1.0.1, which worked for episode 1). I've now installed version 1.1.27 and got the text box for the serial number. I had to change the index.html file (as also done by the script) for submitting the serial number. Otherwise it works fine.

    Note to Telltale: I know that Linux is not a supported platform, but it would be nice if you could change that form element in the index.html in the next games to include the action="index.html" attribute (which is a required attribute for the form element).
  • edited August 2009
    I had a problem with the fonts garbled on the initial launch screen.
    But the buttons are in the same place.
    Just click the new game button and off you go.

    And then when you press esc in-game and return to the pause menu the fonts are ok....

    That didn't work for me. :( I hope, someone knows, why this happens.
  • edited August 2009
    Good to hear that the script works for you cool kids too :)

    I've been investigating the treasure hunt mode; it appears to be tied with the SecuROM activation process, which must have an internal flag for whether you've activated with TTG login credentials or not. The upshot is you can't just activate with a serial then add registry entries with your login details, as the game will not use them.

    Working around this means hooking up some of the Javascript functions used to trigger the submit process, as well as a deactivation option for people who've played some Telltale stuff already (every SecuROM product is stored in the same reg key, so manually deleting that is a terrible idea). I'll keep working on it when I get some time.

    UPDATE: I've hit a bit of a snag. See, the serial number checks ask the backend software to do the HTTP request. The TTG login check does it at the browser level with AJAX.
    IE's reaction: "Ah, a locally-hosted Javascript is trying to send lots of user data to a completely unrelated computer over the internet! That sounds cool to me. Yep, no problems whatsoever."
    Gecko's reaction: "HOLY SMOKES! A dastardly cross-site scripting attack! Quick, get the taser! GET THE TASER!!!"

    The next version of the patcher might change a security setting in Gecko to work around this.

    UPDATE 2: I'm out of ideas. Even after tracing the logic used when logging into an account, I can't find out what activates the treasure hunt mode; all it seems to do is pull a serial number from your account, run the normal serial number check, and add the login/pass to the registry. Arrghghg.
  • edited August 2009
    Has anyone tried this in the Ubuntu LTS? (8.04 LTS, Hardy Heron)

    (I see that there do is a repository of the latest wine releases for Hardy.)

    My GPU lacks 3D support in Jaunty :(


    Thank you!
  • edited August 2009
    What is your GPU ?
    I had working 3d acceleration in Jaunty on my nVidia chip.
  • edited August 2009
    What is your GPU ?
    I had working 3d acceleration in Jaunty on my nVidia chip.

    An ATI Radeon 9500 Pro, an r300. It's a well known issue: in Jaunty the proprietary driver isn't compatible with the rest of the system while the available open source driver lacks proper 3D support.

    It will be probably resolved in Karmic, I think, my understanding is that the latest open source driver does support 3D for r300s, but it's not available in Jaunty.

    It could also be hacked into Jaunty by installing from a proper PPA, but I don't like the idea of possibly messing up my principal system... So I was thinking about installing Hardy on another partition.

    Or I could give a try to Karmic beta, if there's a live version already available, coming to think about it... Anyhow, in Hardy 3D support is sure, I had it with the proprietary driver.
  • edited August 2009
    Well, well, well.

    I tried with Karmic (9.10) alpha 4 in live mode, no 3D support for the GPU.

    Then I installed Hardy (8.04), and got back full 3D support, and followed the how-to. All the instructions worked like charms, but when I actually run the game, I get the skull-and-bones-in-a-circle logo, then some grey garbage on a black background in place of the other logos, and then a white screen (with black bands above and below). The game seems to be running in the inital options screen, I hear the related sound effetcs, but all I see is white.

    This is the result both in full screen and windowed mode.

    In the terminal, the following lines repeatedly keep scrolling:
    fixme:d3d_shader:shader_glsl_load_constants >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUniform4fvARB @ glsl_shader.c / 667
    fixme:d3d_shader:shader_glsl_select >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUseProgramObjectARB @ glsl_shader.c / 4285

    Wine is 1.1.27

    Any idea, people? :confused:
  • edited August 2009
    Clicking blindly I have been able to start a new game, I hear the Voodo Lady talking, but still nothing on screen but white. So the game is really running.


    I also tried by forcing the ubuntu repository version of wine, 1.0.0, instead of winehq's repository 1.1.27. This way the launcher shows a white page without "click here to run the game", and I'm not able to start the actual game...

    EDIT: After forcing 1.0.0, it asked me to install wine-gecko again, even if it was already installed, and started a GUI dialog with a progress bar to install it.

    EDIT: I tried also W&G Muzzled, and got exactly the same result with exactly the same lines in the terminal...

    EDIT: Native linux 3D games Open Arena and Alien Arena works flawlessly.

    EDIT: I tried to use the prefs.prop given in the other thread to ensure to start Muzzled and Siege with graphic level 3: same result for both.

    EDIT: Ehm, desperate, I also tried killing pulseaudio before starting Muzzled and Siege... same result for video, albeit audio do is a lot better :p:D
    *sigh* :(
  • edited August 2009
    I think the problem you might have is your graphics card is a bit old. The Radeon 9500 came out in 2002, and only supports basic DX9.0. TOMI uses pixel shaders and whatnot which enters DX9.0c territory. If cranking the graphics detail level down to 1 doesn't help, your best bet is to buy a cheapy card (preferably NVIDIA) to replace it.
  • vEXvEX
    edited August 2009
    GozzoMan wrote: »
    In the terminal, the following lines repeatedly keep scrolling:
    fixme:d3d_shader:shader_glsl_load_constants >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUniform4fvARB @ glsl_shader.c / 667
    fixme:d3d_shader:shader_glsl_select >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUseProgramObjectARB @ glsl_shader.c / 4285

    Wine is 1.1.27

    Any idea, people? :confused:

    Actually, this might be your lucky day! I have had the same issues with wine and my nvidia card (7600GS). You want to turn off GLSL (it's on by default) using the registry (start it by running "wine regedit").

    http://wiki.winehq.org/UsefulRegistryKeys has the list of settings you can change in the registry. You're interested in the Direct3D/UseGLSL option. If you haven't changed any of these before you probably need to create the Direct3D "key" (looks like a folder in the treeview) then a new "String Value" named "UseGLSL" with the content (double click it after creation) "disabled".
  • edited August 2009
    Wow, vEX, it works!!! Thank you! :D

    Well, sort of... Now everything is properly rendered, but during the initial cut-scene, more or less when Morgan reveals herself, the game freezes :(

    The result is the same both in fullscreen and virtual desktop.

    I'm using graphic level 1.

    When it freezes, it keeps repeating the last syllable or few syllables of dialog, so I tried muting the system, setting music/dialog/sounds to 0, turning off subtitles and pop-up text, selecting none of the audio drivers in the audio tab of Configure Wine: the result is the same. I tried with both pulseaudio on and killed.

    On the terminal, the last messages are a few repetitions (it doesn't keep scrolling, just a few repetitions) of:
    fixme:d3d:debug_d3dformat Unrecognized 909200449 (as fourcc: AL16) WINED3DFORMAT!
    fixme:d3d:getFormatDescEntry Can't find format unrecognized(909200449) in the format lookup table
    fixme:d3d:debug_d3dformat Unrecognized 909201952 (as fourcc: R16) WINED3DFORMAT!
    fixme:d3d:getFormatDescEntry Can't find format unrecognized(909201952) in the format lookup table

    Any further ideas? :o
  • vEXvEX
    edited August 2009
    I've never seen that error and google doesn't seem to give any good clues. Are you using the latest version of wine (1.1.28)? Perhaps it's the pulseaudio driver? Have you tried using winecfg and changed the audio driver to OSS/ALSA instead?
  • edited August 2009
    Geeh, this is tough... I've tried different audio drivers in Configure Wine and/or killed pulseaudio (with pulseaudio -k) with no luck (I've also completely messed up the audio system, got completely lost, and had to freshly re-install all the system, first time in my life with linux). I've also tried selecting no audio drivers at all in Configure Wine.

    I've also been able to see that the "d3d:debug_d3dformat Unrecognized" messages I reported before are printed long before the freeze, so they're probably not related.

    Yes, I'm using wine 1.1.28.


    But, if I run it in windowed mode (i.e. not wine virtual desktop, but selecting fullscreen to off inside the game), sometimes I get past the initial cut-scene and into the playable swordfight.

    This way, in windowed mode, sometimes it freezes for a moment, and then continues.

    When it freezes temporarely I get on the terminal:
    err:ntdll:RtlpWaitForCriticalSection section 0xa3d3a0 "?" wait timed out in thread 003f, blocked by 0009, retrying (60 sec)

    or
    err:ntdll:RtlpWaitForCriticalSection section 0xcc98e1c "?" wait timed out in thread 0009, blocked by 003e, retrying (60 sec)

    I've been able to see one of those messages, sometimes but not always, when it definitively freezes in windowed mode, and once in fullscreen mode.

    :(
  • edited August 2009
    Hi ! First, thanks for this amazing guide :)

    Tales of Monkey works very well with a Geforce 8600GTS + Ubuntu 9.04 + nvidia 185.x drivers + wine 1.1.28.

    However, I borrowed a friend's Radeon HD 4670 because my fanless GF was overheating (the fanless radeon is about 15 degrees cooler).

    With the radeon and latest 9.8 catalyst drivers, the game still works well, apart from the subtitles and texts that are unreadable. (look like "random data")

    Any idea ?
  • edited August 2009
    GozzoMan wrote: »
    But, if I run it in windowed mode (i.e. not wine virtual desktop, but selecting fullscreen to off inside the game), sometimes I get past the initial cut-scene and into the playable swordfight.

    Please ignore the quoted part: after a few other tests, getting to the swordfight seems to be totally random in respect to game settings. And it freezes nonetheless a minute into the playing.

    In other words: it freezes at a random time between more or less immediately (even in the options screen) and a few minutes after "new game", giving the aforementioned messages.
  • edited August 2009
    Hmm, I usually play in windowed mode. Whenever I try to switch to fullscreen, the X server instantly dies and I'm back to the login screen ! Any idea ?

    (using : Ubuntu 9.04, AMD64, nvidia 185.18.31)
  • edited August 2009
    the subtitles and texts that are unreadable. (look like "random data")

    Any idea ?

    I had this too with the garbled fonts.
    But when I tried to start the game from the installed directory instead of the wine link, the problem went away.

    cd ~/.wine/drive_c/Program\ Files/Telltale\ Games/Tales\ of\ Monkey\ Island/The\ Siege\ of\ Spinner\ Cay/
    wine MonkeyIsland102.exe

    Crisp fonts, good performance.
    Fullscreen 1440x900.
    Graphics quality on 9

    This is with pulseaudio enabled btw.
    I see a alot of references to Pulseaudio being a bad boy.
    Not so for me.

    Only problem I have left is that the game crashes on exit. No biggie.
    Oh... and the treasure hunt.
  • edited August 2009
    I had this too with the garbled fonts.
    But when I tried to start the game from the installed directory instead of the wine link, the problem went away.

    Ati or Nvidia? And which Wine-Version do you use?

    I ask, because I'm starting it always with this method. I'm using Ati and wine 1.1.27. I don't know, if this happened because of the newer catalyst-driver or because of the newer wine-version.

    Because... it worked perfectly before. :( (with Catalyst 9.7 and Wine 1.1.26, I think)
  • edited August 2009
    ChemBro wrote: »
    Ati or Nvidia? And which Wine-Version do you use?
    Ubuntu 9.10 beta x64 (Karmic Koala)
    Nvidia closed source driver 185
    Wine version 1.1.27 (in Karmic repo as "wine1.2")

    Hope that helps.
    If you need any other info just let me know.

    The patch from the first post IS required though!
  • edited August 2009
    The patch from the first post IS required though!

    Yes, but only to enter the game, not for the game itself. Maybe I wait for wine 1.1.28. Hope this will do it (else I blame the catalyst-driver).
  • edited August 2009
    I also have problems with the fonts, latest catalyst, wine1.2 from karmic. wine 1.0 from jaunty didn't work with the launcher of Epsiode 2, but otherwise it worked perfectly for Episode 1 8-(. I wish I could somehow get past the stupid launcher with wine 1.0 and I have a feeling the font issue would be resolved, too 8-(.
  • edited August 2009
    Seems like an ATI/Catalyst compatibility issue for sure - my Radeon 4830 does the same in all versions of Wine I've tried, although it was perfect for Episode 1 in Wine 1.0 :(
  • edited September 2009
    Okay, I installed Wine 1.1.26 and now I can see the font correctly. So it is definitely a wine issue. 1.1.26 = Font ok. 1.1.27 (and higher) = Font not ok (at least for Ati-Users).
  • edited September 2009
    Good news everybody, activation now works out of the box in wine-1.1.29, no patch required!

    You'll still need it to play the demo of course, as Telltale didn't add a link for that in their noscript page.

    The launcher still hangs (white page) after typing in your code, but if you kill it and restart it, it's fully activated :-)
  • edited September 2009
    Ah, you beat me to it :) yeah the Wine guys have patched Gecko to make the quirk not break, so you only really need my script to get at the demo.

    On that subject sorry to anyone trying to get at the script, my webhost has taken a dive. Will try and add a RapidShare link or something.
  • edited September 2009
    For those, who have problems with the font in TMI, please confirm it on the bug-report I created, so the bug will be fixed faster (I hope so).

    http://bugs.winehq.org/show_bug.cgi?id=20022

    I found the problematic commit and reverting it solves the problem.
  • edited September 2009
    do all ubuntu users have no treasure hunt option? how do I get treasure hunt work with ubuntu?
  • edited September 2009
    do all ubuntu users have no treasure hunt option? how do I get treasure hunt work with ubuntu?

    That's a good question. I think, only possible on windows at the moment.
  • edited September 2009
    Hmm, although the script does work with Sam'n Max Season 1 and Tales of Monkey Island (I think it's not required anymore since wine 1.1.29 except when playing in demo mode ?), here's what I get with Sam'n Max Season 2 (before getting the chance to type my serial nr or login) :

    SamnMax201Grab.jpg

    Any idea ?
    Cheers !
  • edited September 2009
    Just want you guys to know that chapter 3 runs "out of the box" on my Ubuntu 9.10 development branch powered laptop (Dell Precision M4400).
    It has a nVidia fx770m gfx chip that is run by the closed source nVidia drivers v185.
    Desktop is Gnome with Compiz Fusion enabled.
    Wine version is 1.1.30
    All of it is standard repository stuff from Ubuntu.

    LOVE IT!!!! Yayyh!

    It might be me hallusinating but I think the game actually runs better on this setup than on my other boot with W7 and XP.

    Happy happy happy :D
  • edited September 2009
    Apologies if this has been asked or fixed already but I haven't yet found it...I've completed the install as instructed, but at the serial number entry I am prevented from entering any characters. The submit query button does refresh the page however. The demo works also. Thanks for your help
  • edited October 2009
    Episode Three works out of box on 9.04 with an ATI graphics card, just like it did for Episode One. Now if only there were a fix for the text being broken in Episode Two.
  • edited October 2009
    Hi,
    I am getting this message when trying to start the demo with the python ttg-patch. Any ideas?

    [email]kim@ubuntu:~/.wine[/email]/drive_c/Program Files/Telltale Games/Tales of Monkey Island/Launch of the Screaming Narwhal$ python ttg-patch.py MonkeyIsland101.exe
    Unofficial Telltale Wine Patcher v0.1
    (C)2009 moral recordings
    Starting Wine...
    Waiting on the debug channel for the Launcher to load...
    - Launcher found! Temp key used:
    Checking for index.html...
    - Expected to find cool stuff at /home/kim/.wine/drive_c/windows/temp//launcher/index.html, but found nothing. Except maybe disappointment.


    Edit: Reinstalled everything, and I could get to the html screen. where I could choose between serial number or play demo. After selecting demo it hanged. Now, when restarting with the same command "python ttg-patch.py MonkeyIsland101.exe" I get the above message again. I tried the "wine explorer /desktop=Wine,800x600 MonkeyIsland101.exe" cmmand as well. But it just hangs also...



    Thanks, and best regards
  • edited October 2009
    clarsthemight: No treasure hunt option as of yet.

    tofumeister: What version of Wine are you running (use "wine --version" at the command line to find out)? Chances are it's a bit old, as the Wine guys have fixed that regression. Either use the ttg-patch.py script, or upgrade to the latest version as per the instructions (1.1.32 or thereabouts).

    desmoo: What graphics card do you have in your PC? Can you run any other GL software under Linux? When you use /desktop=Wine,800x600 , does the console log freeze up at any particular debug messages?
This discussion has been closed.