View Single Post
Old 12-27-02, 04:12 PM   #1
volt
 
Join Date: Jul 2002
Location: /dev/null
Posts: 1,556
Default Tutorial: Playing Windows Games | Redhat 8.0

I thought I'd share my experience because I think it's worth to try.
After following this tutorial you should be able to fireup *most* Windows based applications and games.

This is a bit different from borgzilla's post. I will go into more detail on installing and configuring WineX emulator.

First you need to grab CVS version (or if you have a stable version of WineX, preferably in tarball format)

Log into your X server environment using your username (not root). Then open up a terminal and type:

NOTE: if you already have a tarball version of WineX you can skip the first step.

Your first step is to log into CVS server:
cvs -d:pserver:anonymous@cvs.winex.sourceforge.net:/cvsroot/winex login

It will ask you for a password so just press ENTER.
Now you need to grab the latest files (it may take a while)
cvs -z3 -d:pserver:anonymous@cvs.winex.sourceforge.net:/cvsroot/winex co wine

(You should end up in /home/<username>/wine)
NOTE: you need to substitute <username> for your username of course :)

Your second step would be compiling WineX.

In README they say that you should use the installation script from ./tools/wineinstall but we won't :) Being still in /home/<username>/wine let's configure it:

./configure

(Using ./configure -help will list different parameters you could use)
NOTE: If you compile from the WineX source and don't specify any arguments in ./configure, all dll's will be dumped to /usr/local/lib. You DON'T have to specify anything in ./configure if you don't want to, but you will have to change one thing after installation.

After the configuration process type:

make depend && make

(This may take upto an hour depending on your CPU/RAM)

During the third step you will HAVE to install WineX with root privileges because ldconfig will be ran in the end, so type:

su root
<ENTER password>
(You should still be in /home/<username>/wine

Now let's install WineX:

make install

All the files will be copied and ldconfig will start. As I mentioned above if you didnt specify anything in ./configure, you will get an error trying to fireup a Windows application. In other words executing: wine /home/volt/.wine/c_drive/mIRC/mIRC.exe will most likely produce: "Error while loading shared libraries: libntdll.so"

In order to fix that, you need to temper with /etc/ld.so.conf
Using root privileges edit ld.so.conf (I used 'pico /etc/ld.so.conf', but you can use whatever editor you like). It is possible that the dynamic linker simply doesn't know to look for the dll's. It will look into /lib or /usr/lib but not usr/local/lib. So open ld.so.conf with your favorite editor and add /usr/local/lib path to it. It should work now.

No...we are not done :D

Your third step is pretty simple :)
We will now configure WineX in your home directory. We need to make couple of folders:

mkdir /home/<username>/.wine
mkdir /home/<username>/.wine/c_drive
mkdir /home/<username>/.wine/c_drive/windows
mkdir /home/<username>/.wine/c_drive/windows/system
mkdir /home/<username>/.wine/c_drive/windows/system32
mkdir /home/<username>/.wine/c_drive/program files
or
mkdir /home/<username>/.wine/c_drive/program_files

NOTE: Do NOT change the system paths, though you may change the 'program files' path to something else.

Now we need to copy a sample config file from CVS directory ./wine/documentation/samples/config to your /home/<username>/.wine directory:

cp /home/<username>/wine/documentation/samples/config /home/<username>/.wine

Being still root, edit the file that you have copied:

pico /home/<username>/.wine/config (or whatever editor you prefer)

Now go down to:

[Drive C]
"Path" = "${HO****/.wine/c_drive/" "
"Type" = "hd"
"Label" = "Windows Drive"
"Filesystem" = "win95"

(Make your [Drive C] section look like the above)

Now go to [Registry] section and make sure
"LoadWindowsRegistryFiles" = "Y"
Than there are different settings, which I will not get into (it's specified in the documents). You can choose specific settings for each application ex:

[AppDefaults\\quake3.exe\\x11drv]
"Managed" = "Y"
"Desktop" = "1024x768"

This will tell WineX to fireup Quake III in a window @ 1024x768

Now we need to create a registry. Go into your WineX CVS directory (/home/<username>/wine) and type:

./programs/regapi/regapi setValue < winedefault.reg

This will create a file in /home/<username/.wine

NOTE: I did not have to edit anything else, though you may if you want to change the system paths and other stuff :)

LET'S PLAY ALREADY!

Okay so you can install the game from CD-ROM into /home/<username>/.wine/c_drive or fire it up from your FAT32 drive (Note I did not experiment with NTFS partitions because it's dangerous). If you are not confident just install the game on your Linux drive :)

I will be installing Quake III:

mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom
wine setup.exe (or whatever the setup is called)

This will fireup the installation process. By default it will install the game in C:\Program Files\Quake III (I think). Don't worry it's actually installing the game in /home/<username>/.wine/c_drive/program files (where c_drive is C:\)

Once it's installed let's play it :)
If you want to start a game with parameters type:
wine -- c:\\program files\\Quake III\quake3.exe -nocdaudio -nojoy +mlook (-- is used when you want to specify a parameter)

If you don't want parameters than just go into /home/<username>/.wine/c_drive/program files/Quake III
and type:

wine quake3.exe

Voila!
__________________
[b]Optimization guidelines by Koji Ashida of NVIDIA:[/b][list][*]Use fx12 instructions whenever possible[*]Use lowest pixel shader version[/list][url=http://developer.nvidia.com/docs/IO/10878/ChinaJoy2004_OptimizationAndTools.pdf]source[/url]

[size=1]The politics are invading the technology. We don't really like to mess with politics because that kind of adversarial relationship has nothing to do with pure technical operations and the technical specifications of what we like to play with, the hardware![/size]

Last edited by volt; 01-01-03 at 12:32 PM.
volt is offline   Reply With Quote