User Avatar Image

Telltale + Linux: A Definitive Guide

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

206 Comments - Linear Discussion: Classic Style
  • My understanding was that by running the following command, you were downloading Windows versions of the Direct 3D libraries (extracted from the DirectX cab files - run winetricks in a terminal and you'll see it's using wget to grab them from the Microsoft site). Winetricks copies them to your prefix and configures dll overrides so that the built in Wine provided versions are no longer used.
    winetricks d3dx9

  • @Cheeseness said: My understanding was that by running the following command, you were downloading Windows versions of the Direct 3D libraries (extracted from the DirectX cab files - run winetricks in a terminal and you'll see it's using wget to grab them from the Microsoft site). Winetricks copies them to your prefix and configures dll overrides so that the built in Wine provided versions are no longer used.
    winetricks d3dx9

    I may be wrong but I believe "winetricks d3dx9" only extracts a particular bit of directx9 ie it doesnt replace all of the native wine libs only some

  • Can you explain this a little more. I have used wine in the past, but never was an advanced user. Im not sure where i should be entering this code? Is it in the terminal, or a cfg file?

    Can you maybe give me a step by step if is not too much trouble?

    Thanks.

    @demonfoo said: You *really* shouldn't install directx9 in the wine prefix; you need Wine's built-in Direct3D libraries for the game to work right. I suggest doing:


    WINEPREFIX=~/.wine_bttf winecfg
    WINEPREFIX=~/.wine_bttf winetricks vcrun2005 d3dx9
    WINEPREFIX=~/.wine_bttf wine ~/Downloads/bttf_101_setup.exe

    When winecfg runs, go to the Audio tab, click "OK" when it says no audio driver is setup and it's picking defaults, and (probably) go into the Graphics tab and set it to run in a virtual desktop (1024x768 is a good size). It runs just fine for me.

    Edit: And if that prefix already exists, remove it first, then try doing the above.

    Edit 2: And when the installer runs, make sure to say "No" when it asks if you want it to download and run the DirectX updater.

  • @nm51ml said: I may be wrong but I believe "winetricks d3dx9" only extracts a particular bit of directx9 ie it doesnt replace all of the native wine libs only some

    All that installs is the d3dx9_*.dll extension library redistributables, not all of DirectX/D3D. Those are the only parts we need to make the game work.

    @nm51ml said: Can you explain this a little more. I have used wine in the past, but never was an advanced user. Im not sure where i should be entering this code? Is it in the terminal, or a cfg file?

    Can you maybe give me a step by step if is not too much trouble?

    Yes, that's in a terminal. There's really not much more step-by-step that I can get. Just have the installer in the Downloads directory under your home directory, run those commands, and do what I said when you run winecfg. Also, make sure to choose *not* to run the DirectX updater when you run the game installer. That's really it.

  • @demonfoo said: All that installs is the d3dx9_*.dll extension library redistributables, not all of DirectX/D3D. Those are the only parts we need to make the game work.

    Your earlier post reads as though you were saying that the winetricks installer installed the Wine project's Direct3D components >_<

    @demonfoo said: Can you explain this a little more.


    GameOver, if you're still having trouble, each of the lines that demonfoo mentioned earlier should be run in a terminal as separate commands (type each line in a terminal and press enter).

    The first line creates a new Wine environment (or 'prefix') called ".wine_bttf" in your home folder if it doesn't already exist. This prevents any settings or library configurations (d3dx9) from impacting on any other applications you have installed via Wine and vice versa. After the environment is ready, the Wine settings window will appear. You can close it.

    The second line installs native Visual C++ runtime libraries and DirectX 9 components, and configures the necessary DLL overrides for you. You can also do this through the winetricks GUI window, but there are a couple variations of the vcrun2005 package, and it's worth making sure you get the right one.

    The third line is running the installer (obviously if it isn't in your Downloads folder, you'll want to put the correct path in).

    You'll notice that every line starts with "WINEPREFIX=~/.wine_bttf". This lets wine know to make sure it uses the new environment you created with the first line :)

    Looking forward to hearing how you go.

  • ok guys, thanks for your help.

    so i followed your steps, and now get a different, much shorter error. Please see below:


    WINEPREFIX=~/.wine_bttf wine '/home/joseph/.wine_bttf/drive_c/Program Files/Telltale Games/Back to the Future The Game/Episode 1/BackToTheFuture101.exe'


    fixme:heap:HeapSetInformation (nil) 1 (nil) 0
    fixme:system:SetProcessDPIAware stub!
    fixme:win:RegisterRawInputDevices (pRawInputDevices=0x32f79c, uiNumDevices=1, cbSize=12) stub!

    any ideas?

  • Don't know if it'll help or not, but try running it from the same folder as the executable (eg: cd '/home/joseph/.wine_bttf/drive_c/Program Files/Telltale Games/Back to the Future The Game/Episode 1/' first).

    With other TellTale games, I've had difficulties when trying to launch from the command line without being in the program's folder.

    I generally run BTTF from the desktop shortcut icon that the installer creates.

  • As you can see from the two thigns i pasted below i have tried it with the regular wine and executable from within the folder (terninal), and also using the wineprefix command in the terminal. THey return two different errors. I guess im not destined to run this game in ubuntu :(


    ~/.wine_bttf/drive_c/Program Files/Telltale Games/Back to the Future The Game/Episode 1$ wine backtothefuture101.exefixme:heap:HeapSetInformation (nil) 1 (nil) 0
    fixme:system:SetProcessDPIAware stub!
    fixme:win:RegisterRawInputDevices (pRawInputDevices=0x32f79c, uiNumDevices=1, cbSize=12) stub!
    fixme:wbemprox:wbem_locator_ConnectServer 0x1399d0, L"ROOT\\CIMV2", (null), (null), (null), 0x00000000, (null), (nil), 0x32f600)
    fixme:win:EnumDisplayDevicesW ((null),0,0x32ebe4,0x00000000), stub!
    fixme:d3d:IWineD3DDeviceImpl_SetSoftwareVertexProcessing (0x144418) : stub
    wine: Unhandled page fault on write access to 0x0000003c at address 0xafef1d (thread 0009), starting debugger...
    ^CCtrl-C: stopping debuggee
    fixme:console:CONSOLE_DefaultHandler Terminating process 1e on event 0
    joseph@Server:~/.wine_bttf/drive_c/Program Files/Telltale Games/Back to the Future The Game/Episode 1$ WINEPREFIX=~/.wine_bttf wine backtothefuture101.exe
    fixme:heap:HeapSetInformation (nil) 1 (nil) 0
    fixme:system:SetProcessDPIAware stub!
    fixme:win:RegisterRawInputDevices (pRawInputDevices=0x32f79c, uiNumDevices=1, cbSize=12) stub!
    fixme:wbemprox:wbem_locator_ConnectServer 0x1379a0, L"ROOT\\CIMV2", (null), (null), (null), 0x00000000, (null), (nil), 0x32f600)
    fixme:wbemprox:wbem_locator_ConnectServer 0x1379a0, L"ROOT\\CIMV2", (null), (null), (null), 0x00000000, (null), (nil), 0x32f600)
    fixme:win:EnumDisplayDevicesW ((null),0,0x32ebe4,0x00000000), stub!
    fixme:d3d:IWineD3DDeviceImpl_SetSoftwareVertexProcessing (0x142428) : stub
    fixme:d3d:debug_d3dformat Unrecognized 0x36314c41 (as fourcc: AL16) WINED3DFORMAT!
    fixme:d3d:wined3d_get_format Can't find format unrecognized (0x36314c41) in the format lookup table
    fixme:d3d:debug_d3dformat Unrecognized 0x36315220 (as fourcc: R16) WINED3DFORMAT!
    fixme:d3d:wined3d_get_format Can't find format unrecognized (0x36315220) in the format lookup table
    fixme:d3d:debug_d3dformat Unrecognized 0x36314c41 (as fourcc: AL16) WINED3DFORMAT!
    fixme:d3d:wined3d_get_format Can't find format unrecognized (0x36314c41) in the format lookup table
    fixme:d3d:debug_d3dformat Unrecognized 0x36315220 (as fourcc: R16) WINED3DFORMAT!
    fixme:d3d:wined3d_get_format Can't find format unrecognized (0x36315220) in the format lookup table
    fixme:d3d:debug_d3dformat Unrecognized 0x36314c41 (as fourcc: AL16) WINED3DFORMAT!
    fixme:d3d:wined3d_get_format Can't find format unrecognized (0x36314c41) in the format lookup table
    fixme:d3d:debug_d3dformat Unrecognized 0x36315220 (as fourcc: R16) WINED3DFORMAT!
    fixme:d3d:wined3d_get_format Can't find format unrecognized (0x36315220) in the format lookup table
    fixme:d3d:debug_d3dformat Unrecognized 0x36314c41 (as fourcc: AL16) WINED3DFORMAT!
    fixme:d3d:wined3d_get_format Can't find format unrecognized (0x36314c41) in the format lookup table
    fixme:d3d:debug_d3dformat Unrecognized 0x36315220 (as fourcc: R16) WINED3DFORMAT!
    fixme:d3d:wined3d_get_format Can't find format unrecognized (0x36315220) in the format lookup table
    wine: Unhandled page fault on write access to 0x0000003c at address 0x146ef1d (thread 0009), starting debugger...
    Unhandled exception: page fault on write access to 0x0000003c in 32-bit code (0x0146ef1d).
    Register dump:
    CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
    EIP:0146ef1d ESP:0032f6a0 EBP:0032f758 EFLAGS:00010246( R- -- I Z- -P- )
    EAX:00000000 EBX:034c0c98 ECX:00840fd4 EDX:034c7400
    ESI:034c73c8 EDI:00000000
    Stack dump:
    0x0032f6a0: 0000000f 01f4d070 00000000 7e39bd2b
    0x0032f6b0: 7e44ea38 00000000 00000000 00000000
    0x0032f6c0: 00000000 034c9384 0032f6f0 013f6801
    0x0032f6d0: 0021d998 013ed575 034c0c98 00000000
    0x0032f6e0: 0021d998 00000000 00000000 00000000
    0x0032f6f0: 0032f70c 013f825f 00000000 0032f754
    Backtrace:
    =>0 0x0146ef1d in fmodex (+0x8ef1d) (0x0032f758)
    1 0x0146efc9 in fmodex (+0x8efc8) (0x0032f774)
    2 0x014045ee in fmodex (+0x245ed) (0x0032f784)
    3 0x004cb41d in backtothefuture101 (+0xcb41c) (0x020d8288)
    4 0x01d10128 (0x0032fde0)
    5 0xffffff01 (0x01d1b100)
    0x0146ef1d: movl %esi,0x3c(%eax)
    Modules:
    Module Address Debug info Name (142 modules)
    PE 400000- a6b000 Export backtothefuture101
    PE a70000- 13dc000 Deferred qtwebkit4
    PE 13e0000- 15ab000 Export fmodex
    PE 10000000-1041a000 Deferred d3dx9_41
    PE 3b400000-3b420000 Deferred steam_api
    PE 61000000-61286000 Deferred qtxmlpatterns4
    PE 64000000-640bb000 Deferred qtnetwork4
    PE 65000000-657a0000 Deferred qtgui4
    PE 67000000-6722d000 Deferred qtcore4
    ELF 7a163000-7b800000 Deferred libnvidia-glcore.so.260.19.06
    ELF 7b800000-7b982000 Deferred kernel32
    \-PE 7b810000-7b982000 \ kernel32
    ELF 7bc00000-7bcbb000 Deferred ntdll
    \-PE 7bc10000-7bcbb000 \ ntdll
    ELF 7bf00000-7bf04000 Deferred
    ELF 7c405000-7c41b000 Deferred midimap
    \-PE 7c410000-7c41b000 \ midimap
    ELF 7c41b000-7c452000 Deferred winealsa
    \-PE 7c420000-7c452000 \ winealsa
    ELF 7c452000-7c518000 Deferred libasound.so.2
    ELF 7c518000-7c540000 Deferred libvorbis.so.0
    ELF 7c540000-7c6b8000 Deferred libvorbisenc.so.2
    ELF 7c6b8000-7c704000 Deferred libflac.so.8
    ELF 7c704000-7c76c000 Deferred libsndfile.so.1
    ELF 7c76c000-7c7b6000 Deferred libpulsecommon-0.9.21.so
    ELF 7c7b6000-7c7f8000 Deferred libpulse.so.0
    ELF 7c7f8000-7c845000 Deferred libopenal.so.1
    ELF 7d699000-7d6a0000 Deferred libogg.so.0
    ELF 7d6a0000-7d6a9000 Deferred libwrap.so.0
    ELF 7d6a9000-7d6b7000 Deferred libxi.so.6
    ELF 7d6b7000-7d6bc000 Deferred libxcb-atom.so.1
    ELF 7d6bc000-7d6c2000 Deferred libxtst.so.6
    ELF 7d6c2000-7d6c5000 Deferred libx11-xcb.so.1
    ELF 7d6cd000-7d6e6000 Deferred msacm32
    \-PE 7d6d0000-7d6e6000 \ msacm32
    ELF 7d6e7000-7d717000 Deferred mmdevapi
    \-PE 7d6f0000-7d717000 \ mmdevapi
    ELF 7d8d9000-7d8db000 Deferred libnvidia-tls.so.260.19.06
    ELF 7d8db000-7d9a4000 Deferred libgl.so.1
    ELF 7d9c7000-7d9dd000 Deferred wbemprox
    \-PE 7d9d0000-7d9dd000 \ wbemprox
    ELF 7d9dd000-7d9fa000 Deferred wintab32
    \-PE 7d9e0000-7d9fa000 \ wintab32
    ELF 7d9fa000-7da15000 Deferred spoolss
    \-PE 7da00000-7da15000 \ spoolss
    ELF 7da15000-7da1e000 Deferred librt.so.1
    ELF 7da1e000-7da5a000 Deferred libdbus-1.so.3
    ELF 7da5a000-7da5f000 Deferred libgpg-error.so.0
    ELF 7da5f000-7da70000 Deferred libtasn1.so.3
    ELF 7da70000-7da74000 Deferred libkeyutils.so.1
    ELF 7da74000-7da7c000 Deferred libkrb5support.so.0
    ELF 7da7c000-7daa0000 Deferred libk5crypto.so.3
    ELF 7daa0000-7db4e000 Deferred libkrb5.so.3
    ELF 7db4e000-7db5e000 Deferred libavahi-client.so.3
    ELF 7db5e000-7db6a000 Deferred libavahi-common.so.3
    ELF 7db6a000-7dbde000 Deferred libgcrypt.so.11
    ELF 7dbde000-7dc79000 Deferred libgnutls.so.26
    ELF 7dc79000-7dca8000 Deferred libgssapi_krb5.so.2
    ELF 7dca8000-7dcf2000 Deferred libcups.so.2
    ELF 7dcf3000-7dd14000 Deferred localspl
    \-PE 7dd00000-7dd14000 \ localspl
    ELF 7dd57000-7dd8b000 Deferred uxtheme
    \-PE 7dd60000-7dd8b000 \ uxtheme
    ELF 7dd8b000-7dd95000 Deferred libxcursor.so.1
    ELF 7dd95000-7dd9b000 Deferred libxfixes.so.3
    ELF 7dd9b000-7dd9f000 Deferred libxcomposite.so.1
    ELF 7dd9f000-7dda7000 Deferred libxrandr.so.2
    ELF 7dda7000-7ddb1000 Deferred libxrender.so.1
    ELF 7ddb1000-7ddb7000 Deferred libxxf86vm.so.1
    ELF 7ddb7000-7ddbb000 Deferred libxinerama.so.1
    ELF 7ddbb000-7ddc1000 Deferred libxdmcp.so.6
    ELF 7ddc1000-7ddc5000 Deferred libxau.so.6
    ELF 7ddc5000-7dddf000 Deferred libxcb.so.1
    ELF 7dddf000-7dde4000 Deferred libuuid.so.1
    ELF 7dde4000-7df01000 Deferred libx11.so.6
    ELF 7df01000-7df11000 Deferred libxext.so.6
    ELF 7df11000-7df2a000 Deferred libice.so.6
    ELF 7df2a000-7df33000 Deferred libsm.so.6
    ELF 7df37000-7df3b000 Deferred libcom_err.so.2
    ELF 7df55000-7dffe000 Deferred winex11
    \-PE 7df60000-7dffe000 \ winex11
    ELF 7e01a000-7e041000 Deferred libexpat.so.1
    ELF 7e041000-7e071000 Deferred libfontconfig.so.1
    ELF 7e071000-7e086000 Deferred libz.so.1
    ELF 7e086000-7e0fd000 Deferred libfreetype.so.6
    ELF 7e11f000-7e159000 Deferred dinput
    \-PE 7e130000-7e159000 \ dinput
    ELF 7e159000-7e16d000 Deferred libresolv.so.2
    ELF 7e174000-7e18f000 Deferred dinput8
    \-PE 7e180000-7e18f000 \ dinput8
    ELF 7e18f000-7e1b0000 Deferred iphlpapi
    \-PE 7e1a0000-7e1b0000 \ iphlpapi
    ELF 7e1b0000-7e1cb000 Deferred wsock32
    \-PE 7e1c0000-7e1cb000 \ wsock32
    ELF 7e1cb000-7e1f2000 Deferred msacm32
    \-PE 7e1d0000-7e1f2000 \ msacm32
    ELF 7e1f2000-7e222000 Deferred ws2_32
    \-PE 7e200000-7e222000 \ ws2_32
    ELF 7e222000-7e2b7000 Deferred winmm
    \-PE 7e230000-7e2b7000 \ winmm
    ELF 7e2b7000-7e2d8000 Deferred imm32
    \-PE 7e2c0000-7e2d8000 \ imm32
    ELF 7e2d8000-7e34b000 Deferred rpcrt4
    \-PE 7e2e0000-7e34b000 \ rpcrt4
    ELF 7e34b000-7e44f000 Deferred ole32
    \-PE 7e360000-7e44f000 \ ole32
    ELF 7e44f000-7e53b000 Deferred oleaut32
    \-PE 7e470000-7e53b000 \ oleaut32
    ELF 7e53b000-7e573000 Deferred winspool
    \-PE 7e540000-7e573000 \ winspool
    ELF 7e573000-7e760000 Deferred shell32
    \-PE 7e580000-7e760000 \ shell32
    ELF 7e760000-7e822000 Deferred comdlg32
    \-PE 7e770000-7e822000 \ comdlg32
    ELF 7e822000-7e8ad000 Deferred msvcrt
    \-PE 7e830000-7e8ad000 \ msvcrt
    ELF 7e8ad000-7e9de000 Deferred wined3d
    \-PE 7e8c0000-7e9de000 \ wined3d
    ELF 7e9de000-7ea12000 Deferred d3d9
    \-PE 7e9e0000-7ea12000 \ d3d9
    ELF 7ea12000-7eb03000 Deferred comctl32
    \-PE 7ea20000-7eb03000 \ comctl32
    ELF 7eb03000-7eb67000 Deferred shlwapi
    \-PE 7eb10000-7eb67000 \ shlwapi
    ELF 7eb67000-7ebc2000 Deferred advapi32
    \-PE 7eb70000-7ebc2000 \ advapi32
    ELF 7ebc2000-7ec4e000 Deferred gdi32
    \-PE 7ebd0000-7ec4e000 \ gdi32
    ELF 7ec4e000-7ed82000 Deferred user32
    \-PE 7ec60000-7ed82000 \ user32
    ELF 7ef82000-7ef8e000 Deferred libnss_files.so.2
    ELF 7ef8e000-7ef99000 Deferred libnss_nis.so.2
    ELF 7ef99000-7efb0000 Deferred libnsl.so.1
    ELF 7efb0000-7efb8000 Deferred libnss_compat.so.2
    ELF 7efb8000-7efde000 Deferred libm.so.6
    ELF 7efe0000-7eff9000 Deferred version
    \-PE 7eff0000-7eff9000 \ version
    ELF f7466000-f746a000 Deferred libdl.so.2
    ELF f746a000-f75c5000 Deferred libc.so.6
    ELF f75c6000-f75df000 Deferred libpthread.so.0
    ELF f7601000-f7742000 Deferred libwine.so.1
    ELF f7744000-f7762000 Deferred ld-linux.so.2
    Threads:
    process tid prio (all id:s are in hex)
    00000008 (D) C:\Program Files\Telltale Games\Back to the Future The Game\Episode 1\backtothefuture101.exe
    0000001d 0
    0000001c 0
    0000001b 0
    00000009 0 <==
    0000000e services.exe
    00000016 0
    00000015 0
    00000014 0
    00000010 0
    0000000f 0
    00000011 winedevice.exe
    00000018 0
    00000017 0
    00000013 0
    00000012 0
    00000019 explorer.exe
    0000001a 0
    Backtrace:
    =>0 0x0146ef1d in fmodex (+0x8ef1d) (0x0032f758)
    1 0x0146efc9 in fmodex (+0x8efc8) (0x0032f774)
    2 0x014045ee in fmodex (+0x245ed) (0x0032f784)
    3 0x004cb41d in backtothefuture101 (+0xcb41c) (0x020d8288)
    4 0x01d10128 (0x0032fde0)
    5 0xffffff01 (0x01d1b100)
    Segmentation fault

  • @Cheeseness said: Your earlier post reads as though you were saying that the winetricks installer installed the Wine project's Direct3D components >_<

    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.

    @Cheeseness said: Don't know if it'll help or not, but try running it from the same folder as the executable (eg: cd '/home/joseph/.wine_bttf/drive_c/Program Files/Telltale Games/Back to the Future The Game/Episode 1/' first).

    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.

    @Cheeseness said: As you can see from the two thigns i pasted below i have tried it with the regular wine and executable from within the folder (terninal), and also using the wineprefix command in the terminal. THey return two different errors. I guess im not destined to run this game in ubuntu :(

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

  • @demonfoo said: (s)He'd originally mentioned "directx9", which I believe is still an option in winetricks


    Apologies. I've never noticed that in winetricks and thought you must've misread GameOver's preceeding and assumed s/he had installed it from a native installer.

    @demonfoo said: I've found this to be the case with most Windows EXEs.


    Go figure. I run most stuff from my home folder. Aside from Trackmania and the Telltale games, I've never really had an issue with that.

    @demonfoo said:
    WINEPREFIX=~/.wine_bttf winecfg

    GameOver, In addition to demonfoo's questions and suggestions, I'd also be interested to know what you have ticked in the Driver Selection section of the Audio tab.

    @demonfoo said: I guess im not destined to run this game in ubuntu :(


    Don't give up just yet.

Add Comment