Quake III Arena under OS/2 - Quick and Dirty HOWTO

(without Voodoo 1 or 2 graphics adapter)

It's often said that it's not possible to run Quake III under OS/2 without a Voodoo 1 or 2 graphics adapter because OpenGL under Odin is only for these two adapters available.

But especially these "OpenGL" drivers (available over the Odin homepage) are nothing else than the Mesa OpenGL implementations with special hardware acceleration for Voodoo 1 and 2 adapters. The Mesa drivers also feature full software rendering versions. So I thought, why not use the Windows Mesa drivers for full software rendering with Quake III Arena?

With these libraries, it should be possible to "play" Quake III on nearly every OS/2 machine (fast enough for software rendering ;) ). Here's the description of how I used them to really get it to work and how I "optimized" them.

Look at my screenshots in the 'scr1' (my first try) and 'scr2' (already optimized) directories to see how it looks like. The screenshots in the 'scr2' directory were taken at 640x480 screen resolution.

Requirements

 * Odin (http://odin.netlabs.org/): Quake III Arena is a Windows program (at least we use this version) and Odin is a compatibility layer for running Windows 32-bit applications.
 * Full software rendering Mesa libraries: We need them because there is no other working OpenGL implementation with hardware acceleration (except Voodoo 1/2 ...) and no other working OpenGL software renderer.

I found some working precompiled libraries as part of this project: http://glscene.sourceforge.net/

I put the latest working version (v.5.1 - newer versions were compiled with MingW...) as 'mesa3d-51.zip' in the 'files' directory.

I found an older Mesa version (v. 3.1) somewhere in the net, too. I experienced that it is a bit faster (makes 1-2 FPS more) then the newer versions but can't display everything (e.g. some menus) because there are obviously not as many functions implemented. So I can't recommend you to use it but anyway, I put it in the 'files' directory ('mesa3d-31.zip'). You should use a new version of the Quake III engine. It's available at the ID-Software homepage. I used the Point Release 1.32 for my tests. [* Eventually my Quake III config file. Read section 3 for more details.] A fast graphic card is not required. An 8mb 2D adapter should do the job. However, a better one cannot hurt!
 * Quake III Arena game file: We need the 'pak0.pk3' file, probably located in the 'x:\Quake3\baseq3' directory of your Quake III Arena Install CD.
 * Quake III Arena point release - for Windows (http://www.idsoftware.com/):
 * A very very very fast PC: If you seriously want to play Quake III Arena, you need a very fast CPU because we use software rendering, so the graphics are rendered by your CPU. I had a maximum of 10 FPS with my 1.7 GHz Celeron. To play it smoothly, you need AT LEAST 20 FPS - you can imagine what processor you will need...

Installation
Despite it doesn't seem to matter with Quake III, you should switch Fullscreen-support for DirectDraw on (configure using the Odin.ini). It's not necessary to install the Win32-support-driver. If you want to start a Windows program, simply use the PE.EXE (with the program's path as parameter). (Skip this, if you have already installed Odin.) Simply copy this file to your Odin 'system32' directory (probably located at 'x:\Odin\system32'). The installation program on the Quake III Arena CD doesn't seem to work (at least not my version). Anyway it's better to use an updated version. So download a recent Quake III Arena Point Release (for Windows) from the ID-Software homepage and install it. On my system, the installation worked flawless. Now copy the 'pak0.pk3' file (from your Quake III Arena CD) to the 'baseq3' directory of your installed Quake III version.
 * Download Odin and follow the instructions to install and configure it.
 * Download the Mesa libraries and unpack them. There should be an 'opengl32.dll' inside the archive (the v.3.1 also has a 'glu32.dll', but it's not necessary for Quake III).
 * Now we need to install Quake.

The installation should now be completed. But you MUST configure some things first, before you can run it.

Configuration / Optimization
If you don't want to configure/optimize Quake III at your own (which will cost you a lot of time), you can use my preset 'q3config.cfg'. Skip the following description if you want to.

Configuration at your own: To be able to even start Quake III, you must at least add one line to the Quake III config file ('...quakedir...\baseq3\q3config.cfg'). Add the line: seta r_allowSoftwareGL "1" This will enable the use of a software renderer. Now you can run it, but the mouse won't work correctly and it will be damned slow. To enable the mouse, change the line: seta in_mouse "1" to: seta in_mouse "-1" This setting describes the used "mouse feeling" of Quake (search the web for more information). For some strange reason, only the older one ("-1") works. Now you should start Quake III Arena and optimize it using the menus. I experienced that you can much much more improve performance if you optimize it by modifying the 'q3config.cfg' because you can set a lot of options not available through the menus (There are even useful options which are not in the configuration file by default). There are many pages on the web describing possible options and how they affect the performance (e.g. http://www.gamesurge.com/pc/hardware/tweaks/q3atweak.shtml). But be careful, changing options (including what you can specify in the menus) can cause Quake III to crash. So change only one option at a time and reset it, if it doesn't work.

Use my 'q3config.cfg': To use my already-highly-optimized 'q3config.cfg', download it from inside the 'files' directory and copy it to your '...quakedir...\baseq3' directory. You can replace your eventually existing config file (of course except you made important changes at your own) because if something gets messed up, simply delete the 'q3config.cfg' and it will be recreated next time you start Quake III Arena. My config file already includes nearly all possible options to increase Quakes performance. I can't advert you to try changing system-related options with the menus if you use my config file because Quake will change the config file and may mess some other important options up.

Now good luck and happy "playing". But before, you must know, it will be after all not really playable. Read the next section for what's not or just bad working.

Problems / Things that don't work
You'll need a really fast PC to be able to play it. I guess that it's so slow because the Mesa libraries aren't optimized for speed but for quality. Therefore other OpenGL implementations (featuring software rendering) may work better. Unfortunately there aren't much more other ones. One implementation, which shall be more optimized and faster (what I can acknowledge because of tests on a Windows system) is the SGI OpenGL implementation (Windows version: http://www.berkelium.com/OpenGL/sgi-download.html). But sadly it seems to be outdated and at least it doesn't work with Quake III (it loads up but then it can't perform a special action and Quake aborts loading). Another implementation is the one from Microsoft for Windows 95/98 - but this one really doesn't work with Odin. Therefore it doesn't matter if you activated full-screen support for DirectDraw in Odin or not. Quake III will simply take the space it needs in the upper left corner of your screen. So it may be helpful to decrease the screen resolution in OS/2 before starting Quake.
 * It's REALLY REALLY SLOW! As already mention even with my settings on my 1.7 GHz Celeron machine, I just got 10 FPS (my record).
 * Full-screen doesn't work (it can't change the screen resolution). This is probably a compatibility problem between Mesa and Odin (maybe some necessary APIs aren't implemented yet).
 * The sound is scattered. I don't know what's the reason for this but I guess it's because the graphics take almost all processing power so that there's not even enough for correct sound output.
 * "Bitmaps" - for example the mouse cursor, the crosshair or menu backgrounds have black instead of transparent backgrounds.

So that's all I can say about it at the moment.

For corrections, enhancements or if you made some progress in making it playable, please mail me. I think it will be in the interest of all OS/2 users if we can show these Windows/Linux/Unix-followers using Quake III Arena what OS/2 is capable of :-).

My E-Mail: None-Brain@web.de

Links

 * Files