BeefTheDarkProject on 3/3/2008 at 02:39
I'm happy to report that Thief 2 works almost perfectly in Linux under the latest Wine, even with a Nvidia 8800 GT. Not WineX/Cedega, the pay-for branch, but plain old free Wine. Since it seems like we 8800GT owners got screwed when it comes to Thief 2 in Windows XP, I thought this was worth a mention. ;)
I'm going to post my findings here, in hopes that it will help others if they want to try it themselves.
The one and only thing that doesn't work is movies. Sorry guys.
Contrary to what some have said, it appears you do NOT need a CD crack. Horray for no shadey software!
Here's what I did to get it work. Hopefully, the procedure should be similar for all distros:
Step 1. If you're using a 64-bit operating system, install 32-bit compatibility libraries. Under Debian, these are called "ia32-libs".
2. The next thing you'll want is to install the latest drivers for your 3d accelerator. I think you should do this after ia32-libs, just to be sure Step 1 doesn't overwrite any files from Step 2. If you have trouble with Step 2, I might be able to help, but I consider it a tangent to these notes and won't delve into it here. Note that if you're using a 64-bit version of Linux and an Nvidia card, be sure to say yes when the Nvidia driver installer asks if you want to install the 32-bit OpenGL compatibility libraries.
3. Install the latest Wine package for your operating system.
4. Run "winecfg". We have 3 tabs we'll want to visit:
4a. Make sure you have an audio system selected under the "Audio" tab. Most systems use ALSA by default, so try that first.
4b. Under the "Graphics" tab, enable "Allow DirectX apps to stop the mouse leaving their window" and "Allow the window manager to control the windows".
4c. Under the "Applications" tab, set Windows Version to Windows 98.
5. If you're using a multicore, hyperthreading, or SMP setup, you'll probably want to use "taskset" to run wine. For instance, "taskset -c 0 wine YOUR_WINDOWS_EXE_HERE". This will make wine (and Thief 2) stay on the first core or processor, and avoid those fun crashes that programs designed for single CPUs seem to have. This is the Linux equivalent of setting the Processor Affinity under Windows. And yes, replace YOUR_WINDOWS_EXE_HERE with the name of the Windows command you want to use. ;)
6. Congratulations! You're all set to install and run Thief 2 under wine! Go lighten some pockets!
You may find that upon entering the game proper, your keyboard doesn't respond. What's happening is your keyboard input is going to the terminal you just launched the game from. Just click the mouse, and Thief 2 should receive focus & start receiving keyboard input. If that's not working, you probably forgot to enable "Allow the window manager to control the windows" in winecfg.
What follows are some additional steps you can take, but they're 100% optional.
I noticed 3 annoyances, but the good news is I found work-arounds for 2 of them.
The first problem was that the mouse cursor would not go away. While the game would run fine, it was annoying have a cursor floating in the middle of the screen the whole time. There's a solution to it (new X session and custom cursor), but it's a little involved so we'll save that for last.
Sometimes, the sound would cut out when I'd read a journal, go to the menu, or check the map. You can get it back by saving your game, going to the main Thief 2 menu, and clicking Introduction. The intro movie won't play, but sound should be back. Now you can load your last saved game.
An even better solution was to install OSS compatibility kernel modules. These can be loaded by running this as root (with no quotes): "modprobe snd-seq-oss; modprobe snd-mixer-oss; modprobe snd-pcm-oss". Afterwards, you'll want to run winecfg and set it to use OSS under the Audio tab. EDIT: This is no longer working for me; I suspect that it was actually still using ALSA due to a bug in winecfg. I may have simply gotten lucky after trying to set it to ALSA.
Getting rid of the mouse cursor was tricky. I originally had really detailed instructions here, but it got so long and complicated that I'm just going to summarize & leave the details for better-written documentation. Plus, I'm sure some details change from one distro to another. So, the following 2 paragraphs are the Cliff's Notes version:
I found that you can create a custom, invisible mouse cursor using the "bitmap" program (just make a new bitmap, say, 24x24, I think it requires a hotzone somewhere/anywhere in it but am not sure). Save it somewhere, say, ~/cursors/invis.xbm
You should be able to use it by running "xsetroot -cursor ~/cursors/invis.xbm ~/cursors/invis.xbm", but I think the Window Manager over-rides it. So, you have to start a new X session ("startx -- :1"), but instead of having it "exec" your Window Manager, we need it to run your "xsetroot" command and then have it "exec" your wine / Thief2 command.
I'll admit the whole blank cursor/new X session part is a pain to set up, but Thief 2 has been working flawlessly for me under Linux like this --minus cutscenes. :\ Since I can't get it to work no matter what in Windows, I consider this pretty darn close to perfect, comparatively speaking.
P.S.: I haven't gotten to Life Of The Party yet, so I don't know if fog does or doesn't work. I also noticed the thread on texture quality in Thief 2. I really don't know how the texture quality under Wine compares, but it looks OK to me.
Calibrator on 3/3/2008 at 04:55
Can you make some screenshots?
Also you can skip levels with a proper keybinding to get to the foggy missions.
Did you try Darkloader?
take care,
Calibrator
The Magpie on 3/3/2008 at 12:02
Color me impressed.
Thanks for posting this.
:)
--
Larris
MH.TheFreak on 3/3/2008 at 17:38
Is there a way, that eax will also work under wine/linux?
BeefTheDarkProject on 4/3/2008 at 02:29
Quote Posted by MH.TheFreak
Is there a way, that eax will also work under wine/linux?
I can't try it out, as I just have my cheapy integrated audio. But I seriously doubt that it, or any other game, works with EAX under Wine. Sorry.
I only say that because that type of special feature frequently doesn't appear under Linux in general. I used to have a Diamond Monster Sound MX300, and I seem to recall that none of the A3D or EAX stuff worked.
BeefTheDarkProject on 4/3/2008 at 02:34
Quote Posted by Calibrator
Can you make some screenshots?
Also you can skip levels with a proper keybinding to get to the foggy missions.
Did you try Darkloader?
take care,
Calibrator
I just went through and took a bunch of screenshots. It looks like I need to go out and find a program that can read and/or convert .PCX files now. :( I also don't have a space to upload them to... Alternatively, if someone wants to put them up, I'll be happy to send them.
However, I can tell you this: I loaded LotP and played up until the infamous archer shootout. I didn't notice any fog, so if it should have been obvious by that point, it looks like we get no fog under Wine (at least with Nvidia).
I also didn't notice any stars in the sky at the beginning of the first mission. Sorry guys. :erg:
Calibrator on 4/3/2008 at 17:09
Quote Posted by BeefTheDarkProject
I just went through and took a bunch of screenshots. It looks like I need to go out and find a program that can read and/or convert .PCX files now. :( I also don't have a space to upload them to... Alternatively, if someone wants to put them up, I'll be happy to send them.
You can view and convert these files with the free Windows software (
http://irfanview.com/) IrfanView (.PNG usually is the best target format) and upload it to (
http://xs.to/) http://xs.to/.
Quote:
However, I can tell you this: I loaded LotP and played up until the infamous archer shootout. I didn't notice any fog, so if it should have been obvious by that point, it looks like we get no fog under Wine (at least with Nvidia).
I also didn't notice any stars in the sky at the beginning of the first mission.
Getting it to run at all is worth something, I guess.
Calibrator