User Avatar Image

Telltale + Linux: A Definitive Guide

posted by covox on - last edited - Viewed by 32K users

[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:
[LIST]
[*] 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
[/LIST]

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:

[LIST]
[*] 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
[/LIST]

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!

207 Comments - Linear Discussion: Classic Style
  • It is indeed runinng as if it was windows xp, and the sound driver it is using is ALSA, which is correct. I am using a Creative X-Fi Card. My Wine version is 1.3.10.

    Edit: I unchecked ALSA in the Audio tab under winecfg, and tried again, and still received the same errors :(

    @demonfoo said: No no, definitely not, but installing all of DirectX 9 is *way* different from installing just the d3dx9 bundle, which *only* contains the d3dx9_*.dll redistributable libraries. He'd originally mentioned "directx9", which I believe is still an option in winetricks, but is almost always a very bad idea unless you *really* know what you're doing.

    I've found this to be the case with most Windows EXEs. They tend to get pretty cranky if they're not run from the directory they expect, Wine or otherwise.


    Erm, if the trace is to be believed, the crash is somewhere in the fmodex DLL; what kind of soundcard do you have? What driver are you using? If you run:


    WINEPREFIX=~/.wine_bttf winecfg

    and look at the bottom of the Applications tab, what is selected in the "Windows Version" dropdown list? It should be "Windows XP", as F-Mod doesn't like certain things about Wine's emulation of audio services if "Windows Vista" is selected (based on past experience with SBCG4AP + Wine).

    Looking at the debug call stack, it looks like game called into:

    ?createChannelGroup@System@FMOD@@QAG?AW4FMOD_RESULT@@PBDPAPAVChannelGroup@2@@Z

    which internally calls into:

    ?createChannelGroupInternal@SystemI@FMOD@@QAG?AW4FMOD_RESULT@@PBDPAPAVChannelGroupI@2@_N2@Z

    (oh don't you just love internal representations of C++ method names?), so I'm guessing it's either trying to run as Windows Vista and making F-Mod EX upset, or there's something it doesn't like about your soundcard.

    Edit: Also, what version of Wine are you running? Running "wine --version" should give you a version string.

    Edit 2: I did try switching the Wine prefix for my local copy of Back to the Future to "Windows Vista"; that actually worked, so I think either you've got a version of Wine that's having problems, or there's something wonky about your soundcard (or PulseAudio) on your system...

  • Does your sound work in anything on Linux? YouTube videos, GNOME desktop sounds, Linux-native games? If you run:


    lspci -v | grep -A 10 Audio | grep Kernel

    it should output a few lines indicating what kernel drivers are being used for your sound board; all the systems I've run it on to date use onboard Intel (Azalia) audio instead of a separate soundcard, so maybe the drivers for your X-Fi board are doing things that Wine isn't accounting for...

  • my audio works fine in linux. no problems what so ever. However, when i ran your line of code in terminal, it did not return anything. Just right back at the command prompt. No errors, anything.

  • You could try purging (I'm pretty sure that's what it's called under Debian/Ubuntu) the fmod package and/or reinstalling/upgrading to the latest version.

  • Thanks guys for this forum. I have followed all of the above and got it installed and past the log-in page however once I click play it goes to a blue screen and that is all I get. Any ideas?? Thanks!

  • @nichellek said: Thanks guys for this forum. I have followed all of the above and got it installed and past the log-in page however once I click play it goes to a blue screen and that is all I get. Any ideas?? Thanks!

    Try setting mmdevapi to disabled in winecfg.
    also
    Try setting dsound to builtin.

    Let me know if I can help more.

    It runs here but... it is alot slower and stuttery than episode 1 for unknown reasons. Same wineprefix runs both but episode 2 is stuttery...
    and since it is the same engine I am lost for words.

    I think Telltale must have tweaked a few things in the codebase and this is making episode 2 very slow now.

    *sigh*

    Anyone got an idea?

    An no it is not my specs:
    Software

    Xubuntu 10.04 with Compiz (yes ill try without compiz but since episode 1 works just fine...)
    Nvidia 260.19.36
    Wine 1.3.13

    Hardware:
    Intel Q6600
    NVidia GTS450 1gb
    4gb RAM
    1tb HD
    Intel HDA audio

    Wine config:
    vcrun2005 and d3dx9 only on fresh prefix.

    Software\Wine\DirectSound
    \"MaxShadowSize\"=\"0\"

    Software\Wine\Direct3D
    \"DirectDrawRenderer\"=\"opengl\"
    \"Multisampling\"=\"enabled\"
    \"OffScreenRenderingMode\"=\"fbo\"
    \"PixelShaderMode\"=\"enabled\"
    \"RenderTargetLockMode\"=\"auto\"
    \"UseGLSL\"=\"enabled\"
    \"VertexShaderMode\"=\"hardware\"
    \"VertexShaders\"=\"hardware\"
    \"VideoMemorySize\"=\"1024\"

  • Hmm.. we found that Ep2 ran slower than Ep1 as well, but figured that was probably because I'd downgraded graphics cards whilst waiting on a warranty replacement :(

    Putting the graphics settings on Medium (you can get that by switching to Basic settings) sorted it out for us, and then we tuned things by bumping the settings in Advanced settings up until it slowed again.

    I can post exact settings if that's helpful.

  • I keep getting this in the console at times where it is actually stuttering:

    fixme:d3d:state_blendop Unrecognized/Unhandled D3DBLENDOP value 0

    apparently Source/Steam games also have a similar problem could just be a coincidence however.

  • I seem to get that as well, but it plays pretty happily when I'm not launching it from a terminal - writing to the console always seems to slow things down a little. I haven't ever seen TF2, L4D2, HL2, Portal or Alien Swarm give that output (I haven't really been playing in a long time though).

    Did dropping back the settings help at all?

  • No it didn't change anything so I put settings on full anyway; finished episode 2 now...
    Indeed it was better not starting it from the console and also I had to disable compiz...
    What really annoyed me however, it is not wine/linux related, are the constant loading screens and even in middle of scenes...

Add Comment