Valid HTML 4.0!

Steel Panthers

Versió CatalanaIn Catalan
Versión CastellanaEn Castellano
Sinner from the 
			Prairy's webpage

Home
What's in a name
Why Sinner from the Prairy
Sound from the Prairy
The Music in my Life
Videoconference
Let's get in touch!
Links and Search
New Sinner's WebPage with Google Search.
Steel Panthers
Linux in action
Tricks and Screenshots.
e-mail
Do you want to tell me anything?
PGP Key
My public key.
Pŕgina Principal de Steel Panthers
Steel Panthers Webring
[ Join Now | Ring Hub | Random | << Prev | Next >> ]
SP:WaW Resource WebRing
Previous - Next - Random
Rate this site

SPWaW on GNU/Linux!

Introduction

Why can I just play SPWaW on Windows? Well, I don't have Windows in my computer! That's a pretty good reason, isn't it? But... this is a Windows game, isn't it? Yes. Then... how do you do it? GNU/Linux (also known as Linux) is my open, libre, powerfull, secure, virus-free and BlueScreen-free Operating System. And it's so powerful that you can play Windows games on GNU/Linux. Maybe not all of them (not yet). But Steel Panthers: World at War and its utilities work pretty well. So well that I need no Windows at all.

(Top)

Get WINE

Scenario. You use GNU/Linux (or plan to use GNU/Linux) and you absolutely must play SPWaW. Just like me. First of all, get yourself an up-to-date GNU/Linux. Recent (May 2003) Red Hat Linux 9, SuSE 8.x, Debian 3.0 "Woody" or Mandrake Linux 9.x all are pretty advanced, in terms of bundled software. Then, get WINE on our GNU/Linux. Most GNU/Linux distributions already include WINE, the set of libraries that will let you use Windows programs on your LGNU/inux. The first place where to look for WINE is your GNU/Linux CD: probably you have WINE there. Maybe it's not the latest release of WINE. But it might well work. Try this WINE version first: configure it and try it. If it works with you for SPWaW, fine, you are all set.

If it doesn't work, well, get a newer release. I personaly use the package wine-cvs-unstripped-063001-1.i386.rpm from Dataparty's Wine Daily Builds. There's many websites where you can get WINE.

WINE is changing everyday: it is not perfect, yet. So they have multiple versions, called releases. I know (because I hve tried them) that the following releases work with SPWaW:
  • Wine release 20010510
  • Wine release 20010629
  • Wine release 20010418 from Linux Easy
  • Wine release 20010623 from DataParty
  • Wine release 20010629 from DataParty
  • Wine release 20010702

Do you use Debian? Kuantiko, a friend of mine, a long-time Debian user and a good Wargamer (soon to be seen in the Sucesses section) told me a little secret to get the most up-to-date WINE release on your computer. You need to add to your /etc/apt/sources.list, in a single line:

deb http://people.debian.org/~andreas/debian wine main

Then, do the classical:

apt-get update && apt-get install wine

If you use Debian and it does not work, please do tell me so I will correct it.

For more detail on how to obtain WINE, check this link.

(Top)

Install & Configure WINE

Installation

First of all, uninstall any old WINE release that you can have in your system. Do it with your prefered way (at the command line with "rpm --erase wine" or at your graphical environment with Kpackage, gnorpm or any other.) Then, install your WINE package in pre-packaged files (RPM or DEB, depending on your system.)

Problems?
If you get a message that says something like "dependency problem with libraries libXtend10.so", write down the name of the library (libXtend10.so in our example), go to RPMFIND and write this name in the search box and press enter. You will get a list of RPM packages that provide this library. Search for this package in your GNU/Linux CDs (or download the one that matches your distribution -RedHat, Mandrake, SuSE...- from there if you cannot find it in the CD) and install this package. Then, try again to install WINE. Do the same for any library problem that you might encounter.

From Debian, installing wine apt-get means that you will not have this problem. apt-get will install all the needed programs. With Red Hat, you can also intall apt-get (in Spanish) so you can avoid this kind of problem. With Mandrake, you already have urpmi, that works much like apt-get... or you could even install apt-get for Mandrake

Configuration

Now we have WINE installed. It's time to configure it. The configuration of WINE is done through the file /etc/wine/config. As user root, edit this file with your favourite editor (vi, emacs, kedit, gnotepad, kword, joe ...). This file that you are opening is the default WINE configuration file. Most likely, you will need to change it to allow WINE to run.

You will notice some parts. The first one, deals with the definition of "Windows Drive Units" (A: B: C: D: ...). For example, the default file shows this:

[Drive A]
"Path" = "/mnt/fd0"
"Type" = "floppy"
"Label" = "Floppy"
"Serial" = "87654321"
"Device" = "/dev/fd0"

[Drive C]
"Path" = "/c"
"Type" = "hd"
"Label" = "MS-DOS"
"Filesystem" = "win95"

[Drive D]
"Path" = "/cdrom"
"Type" = "cdrom"
"Label" = "CD-Rom"
"Filesystem" = "win95"
"Device" = "/dev/cdrom"

[Drive E]
"Path" = "/tmp"
"Type" = "hd"
"Label" = "Tmp Drive"
"Filesystem" = "win95"

[Drive F]
"Path" = "${HOME}"
"Type" = "network"
"Label" = "Home"
"Filesystem" = "win95"

Drive A. In my system, I have the floppy unit /dev/fd0, mounted at the /mnt/floppy directory. So I corrected the Path defiintion for the A: unit. Change yours accordingly.

Drive D. Also, the CD-Drive in my system that I want to use through WINE is /dev/cdrom2 and it gets mounted at /mnt/cdrom2 . Change it to reflect your system configuration.

Drive E. I wanted the Temp directory to point my users' temp directory, so I changed it to point to /home/sinner/tmp .

Drive C. I wanted the C drive to be in my user's home directory, so I changed it to point to /home/sinner/unit-c/, a directory that I created as my user, not as root .

The next part, shows the "Path" information for the "fake Windows" system that WINE builds to fool the applications into believe that they are in a Windows machine.

[wine]
"Windows" = "c:\\windows"
"System" = "c:\\windows\\system"
"Temp" = "e:\\"
"Path" = "c:\\windows;c:\\windows\\system;e:\\;e:\\test;f:\\"
"Profile" = "c:\\windows\\Profiles\\Administrator"
"GraphicsDriver" = "x11drv"
; Wine doesn't pass directory symlinks to Windows programs by default.
; Enabling this may crash some programs that do recursive lookups of a whole
; subdir tree in case of a symlink pointing back to itself.
;"ShowDirSymlinks" = "1"
"ShellLinker" = "wineshelllink"

What you have to do is make sure that those directories exist in your "Windows" directory. In my case, I modified the "Path" value, deleting the part ";e:\\test". Plus, I created (as my user, not as root) the following directories on my system:
  • /home/sinner/unit-c/windows/
  • /home/sinner/unit-c/windows/system/
  • /home/sinner/unit-c/windows/Profiles/
  • /home/sinner/unit-c/windows/Profiles/Administrator/

The next section is the DLL-overrides. I recommend leaving this section like this default:

[DllOverrides]
"commdlg"      = "builtin, native"
"comdlg32"     = "builtin, native"
"ver"          = "builtin, native"
"version"      = "builtin, native"
"shell"        = "builtin, native"
"shell32"      = "builtin, native"
"shfolder"     = "builtin, native"
"shlwapi"      = "builtin, native"
"lzexpand"     = "builtin, native"
"lz32"         = "builtin, native"
"comctl32"     = "builtin, native"
"commctrl"     = "builtin, native"
"advapi32"     = "builtin, native"
"crtdll"       = "builtin, native"
"mpr"          = "builtin, native"
"winspool.drv" = "builtin, native"
"ddraw"        = "builtin, native"
"dinput"       = "builtin, native"
"dsound"       = "builtin, native"
"opengl32"     = "builtin, native"
"msvcrt"       = "native, builtin"
"rpcrt4"       = "native, builtin"
"msvideo"      = "builtin, native"
"msvfw32"      = "builtin, native"
"mcicda.drv"   = "builtin, native"
"mciseq.drv"   = "builtin, native"
"mciwave.drv"  = "builtin, native"
"mciavi.drv"   = "native, builtin"
"mcianim.drv"  = "native, builtin"
"msacm.drv"    = "builtin, native"
"msacm"        = "builtin, native"
"msacm32"      = "builtin, native"
"midimap.drv"  = "builtin, native"
; default for all other dlls
"*" = "native, builtin, so"

The next section is the X11 Driver options. I recommend leaving it as is in this default. Later, you can try to modify to use the "Managed" feature (and the "800x600" Desktop size as well), although it doesn't always work.

[x11drv]
; Number of colors to allocate from the system palette
"AllocSystemColors" = "100"
; Use a private color map
"PrivateColorMap" = "N"
; Favor correctness over speed in some graphics operations
"PerfectGraphics" = "N"
; Color depth to use on multi-depth screens
;;"ScreenDepth" = "16"
; Name of X11 display to use
;;"Display" = ":0.0"
; Allow the window manager to manage created windows
"Managed" = "N"
; Use a desktop window of 640x480 for Wine
;"Desktop" = "640x480"
; Use XFree86 DGA extension if present
; (make sure /dev/mem is accessible by you !)
"UseDGA" = "Y"
; Use XShm extension if present
"UseXShm" = "Y"
; Enable DirectX mouse grab
"DXGrab" = "N"
; Create the desktop window with a double-buffered visual
; (useful to play OpenGL games)
"DesktopDoubleBuffered" = "N"
; Code page used for captions in managed mode
; 0 means default ANSI code page (CP_ACP == 0)
"TextCP" = "0"
; Use this if you have more than one port for video on your setup
; (Wine uses for now the first 'input image' it finds).
;; "XVideoPort" = "43"
; Run in synchronous mode (useful for debugging X11 problems)
;;"Synchronous" = "Y"

Then, we must check the Fonts-directories section. We see here the original directories listed. By I urge you to search your computer ("find /usr -name *.afm | more" and "find /opt -name *.afm | more") for the fonts and then fill in this section, with up to 9 "afmdirs".

; List of all directories directly contain .AFM files
[afmdirs]
"1" = "/usr/share/ghostscript/fonts"
"2" = "/usr/share/a2ps/afm"
"3" = "/usr/share/enscript"
"4" = "/usr/X11R6/lib/X11/fonts/Type1"

Now, it's time to make your user a "WINE" user. You achieve this creating a directory called ".wine" (yes, it has a leading period in its name) on your user's home directory (it is /home/sinner/.wine/ for me). Then, copy the file /etc/wine/config into this new directory. Make sure that his file belongs to your user (as root, "chown sinner.sinner config").

And that is about it. WINE is ready to be used by your user. You have a copy of my WINE config file here. Remember, every computer needs a different configuration file.

(Top)

Play SPWaW under GNU/Linux


Note:To run a Windows application under GNU/Linux, you need to go to the directory where you have the Windows application executable located and then, type wine followed by a space and the fullname of the executable. For example, to run Notepad, we will need to issue the command wine notepad.exe. And remember that GNU/Linux is very picky with uppercase and lowercase!
Try running something simpler than SP:WaW first. Like Notepad. This would help to point out basic installation/configuration problems. If it works, you have a working WINE. Then, although you can encounter difficulties running SPWaW, those are more advanced problems, and probably in this page you have a solution.

First, we need to install SPWaW. To do this, open a terminal window (xterm, Eterm, aterm, konsole, gnoterm...) go to the directory (or the directory for the mounted CD with the Mega-Campaign) where you have the install "EXE" file (maybe it is "spwaw-5.01-internet.exe") for SPWaW. There, issue the command (as your regular user) "wine spwaw-5.01-internet.exe". After that, follow the instructions provided by the installer program, making sure you do not modify the proposed directory for SPWaW (or you will get into trouble while trying to apply upgrades to SPWaW) and enjoy the installation process. Having a cold drink at hand helps: depending on your computer, it might take longer than installing under Windows. But it's worth it!

Then, install any upgrades with the same method: "wine spwaw-501-52-upgrade.exe", "wine spwaw-52-61-update.exe", "wine spwaw-sound-update.exe" etc etc.

Recomendation: Use SPWaW with your GNU/Linux resolution set at 800x600 or better. If you use 640x480 there's a big chance that SPWaW will not work. Also, when running SPWaW on resolutions bigger than 800x600 (like 1024x768) the game will start on the top-left area of your screen. Change the resolution, if you wish, pressing at the same time "Ctrl" plus "Alt" plus "+ key" (or "- key") and stay in the one that provides you with a full-screen view. It might happen that when you are moving the mouse closer to the edges of the game, your screen will de-center from the game. Simply, move the mouse to the opposite screen edge and everything will go back to normal.

Now, we are ready to run SPWaW on GNU/Linux! In order to run SPWaW follow those easy steps:
  • Open a terminal window (xterm, Eterm, aterm, konsole, gnoterm...)
  • Change current directory to the SPWaW directory, using the "tab completion trick" (cd unit[TAB]Ma[TAB]S[TAB] )
  • Make sure that your mouse pointer is in the top-left area of your Desktop (to prevent problems with the tricky MouseGrab under WINE).
  • Crank up the volume of your computer, put on your "USMC" baseball cap and issue the comand "wine mech.exe"
  • Blast your way to the victory hexes and teach the enemy the lesson: "Do not mess with an Armoured Penguin!"

You can also use the extra aplications that come with your SPWaW, like the scenario editor, the OOB/Formation editor, etc. You just need to know what is the executable to this application and run it with WINE. Just like we did with SPWaW and "mech.exe". The list of applications and executables is the following:
  • SPWaW - "mech.exe"
  • OOB Editor - "SpwawEditor.exe"
  • Military Gamer Combat Net installer - "MGN-Setup.exe"
  • OOB Dump - "OobDmp.exe" (at subdirectory "Chlanda")
  • Shp Editor - "ShpEd.exe" (at subdirectory "Chlanda")
  • Scenario & Saved Game Editor - "WAWEd.exe" (at subdirectory "Chlanda")
  • Map Editor - "WaWMap.exe" (at subdirectory "Chlanda")
  • MapThing - "MapThing.exe" (at subdirectory "MapThing")

Possible Problems

  • SPWaW not starting? Maybe you will get an error on the terminal window and the game will not start. If you have already applied the upgrade to SPWaW 5.2 and it doesn't start, maybe you need to get the file "ntdll.dll" located (in your real Windows partition) at "C:\Windows\System" and copy it to your "Steel Panthers" directory (where you can find the file "mech.exe").
  • Mouse not responding? Maybe your machine is slow and you just need to first, move the mouse over the button, wait half-a-second and then click (or, even, double-click).
  • Keyboard not responding? Maybe you have the settings "Managed" = "Y" on your WINE config file. Check that it is really set to "N". And also make sure that the option "Desktop = "640x480" is commented out (this means that the line starts with a semi-colon punctuation sign).
  • More on Keyboard not responding If during the game you notice that no keystrokes are being received, check the values of "UseDGA". Try using the option "UseDGA" = "N". (Thanks to Stephen Howard, a Steel Commande,r that send me this trick).
  • If you encounter mouse or keyboard problems in the game, you can switch back to the terminal window (Konsole, aterm...) and press Ctrl-C to abort the game. Then, issue the order on the terminal window "killall -9 wine" to ensure that all the WINE processes stop. Now, you can review what it is on the terminal screen to try to figure out what happened.
  • If this cannot solve your problem, please, contact me through e-mail. I'll do my best to help you.

(Top)

Success Stories

Do you use SPWaW on GNU/Linux? Let me know and I will post your Success Story!

Commander's Name: Sinner from the Prairy

GNU/Linux Distribution: Mandrake Linux 8.0
WINE release: 20010629 (wine-cvs-unstripped-063001-1.i386.rpm)
XFree86 Version: XFree86 v.4.1.0 with nVidia video-driver
Computer: K6/2-400, 256 MB of RAM,
VideoCard: nVidia TNT2-M64 with 32 MB of vRAM
SoundCard: SoundBlaster PCI-64
Using Windows?: Installed all under GNU/Linux
-

Commander's Name: ectizen

GNU/Linux Distribution: Red Hat Linux 7.1
WINE release: 20010418 from Linux Easy
XFree86 Version: XFree86 v.4.0.3 with Trident video-driver
Computer: K6-2-450, 224 MB of RAM,
VideoCard: Trident Blade 3D
SoundCard: SB AWE64 Gold
Using Windows?: Installed all under GNU/Linux
-

Commander's Name: ectizen (again)

GNU/Linux Distribution: Red Hat Linux 7.1
WINE release: 20010418 from Linux Easy
XFree86 Version: XFree86 v.4.0.3 with nVidia video-driver
Computer: dual PIII 800, 256 MB of RAM,
VideoCard: GeForce 2 MX
SoundCard: SbLive!
Using Windows?: Installed all under GNU/Linux
-

Commander's Name: amphora (mail only in Spanish!)

GNU/Linux Distribution: Debian Woody
WINE release: 20010510-3
XFree86 Version: XFree86 v.4.0.3
Computer: K6II/400, 128 MB of RAM,
VideoCard: VooDoo 3000
SoundCard: Sound Blaster 64
Using Windows?: Windows? What is that?
-

Commander's Name: Piotr 'aniou' Meyer

GNU/Linux Distribution: PLD Linux 1.0 (http://www.pld.org.pl)
WINE release: 20020710 from PLD distro
XFree86 Version: XFree86 v.4.2.
Computer: AMD K6/400, 128 MB of RAM
VideoCard: NVidia / SGS Thomson (Joint Venture) Riva128 (rev 10)
SoundCard: Ensoniq ES1371
Using Windows?: Installed all under GNU/Linux
-

(Top)




Bravenet.com