User Avatar Image

Telltale + Linux: A Definitive Guide

posted by covox on - last edited - Viewed by 21.6K 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!

205 Comments - Linear Discussion: Classic Style
  • What is your GPU ?
    I had working 3d acceleration in Jaunty on my nVidia chip.

  • @PirateyPengiun said: 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.

  • 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:

    [quote]
    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
    [/quote]

    Wine is 1.1.27

    Any idea, people? :confused:

  • 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* :(

  • 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.

  • User Avatar Image
    vEX

    @GozzoMan said: 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".

  • 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:

    [quote]
    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
    [/quote]

    Any further ideas? :o

  • User Avatar Image
    vEX

    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?

  • 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:

    [quote]
    err:ntdll:RtlpWaitForCriticalSection section 0xa3d3a0 "?" wait timed out in thread 003f, blocked by 0009, retrying (60 sec)
    [/quote]

    or

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

    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.

    :(

  • 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 ?

Add Comment