Quake3 is a graphically intensive 3D game released by id software in 1999. The game engine id tech 3 was originally closed source but was opened up in 2005.
The GPL'd source has been improve by many and the best derivative repository is ioQuake3 (http://ioquake3.org/).
It is possible to compile the Quake3 game natively on the BeagleBoard/Pandaboard.
It is worth noting that because the BeagleBoard/PandaBoard does not implement Open GL in hardware, Quake 3 will default to software rendering and this will result in about 9 fps without modifications. In the future it is hoped the ioQuake3 engine is ported to use OpenGL ES 2.0 which the BeagleBoard/PandaBoard does implement in hardware. This would dramatically improve the framerate.
0. Install the dependencies:
sudo apt-get install libcurl4-openssl-dev libopenal-dev libsdl1.2-dev bison
1. Change into a directory that you want Quake3 to live in.
2. Use subversion to check out the source tree:
svn co svn://svn.icculus.org/quake3/trunk ioquake3
If you need to install subversion try "sudo apt-get install subversion"
3. Change into the directory created with cd ioquake3
4. If you want to build the with the default settings you can now run make (with one variable being set) and compile the game binaries. To do this you run:
If you are on the PandaBoard or some other multi core system you should use the "-j" option with make, this allows multiple threads to execute at the same time.
he Pandaboard has 2 cores so lets set the threads to 3 to ensure each core is kept busy:
make -j 3 USE_LOCAL_HEADERS=0
5. If you want to see the load your board is under whilst ioQuake3 compiles, open another window and run "htop". You may need to install it first with "sudo apt-get install htop"
Here is a screenshot showing the PandaBoard compiling ioQuake3. On the left is htop showing both cores are at 100% and on the right are the files being built for ioQuake3.
You should now have "ioQuake3.armv7l" inside a newly created "build" folder.
6. Now we need to copy the files so the game can run.
7. Under the "build" directory you should have "release-linux-armv7l" at this location you need to copy the "baseq3" folder from the original Quake3 installation as well as the 1.3 Point Release files from here: updated pk3 files
8. You should now be able to run the executable:
I get about 10fps when setting the graphics to "fastest"
Whilst this is not playable the BeagleBoard/Pandaboard are capable of fast 3D graphics if the OpenGL display system is re-written to work with Open GL ES 2.0 hardware.