Ioquake3 SGI MIPS question

Hi Devs,

When loading the most recent version of ioquake3 on sgi mips (version 1.35SVN1323M) When reading the console I noticed this:
“Architecture doesn’t have a bytecode compiler, using interpreter”

I am not an expert, but does this mean that not all of the engine has been properly optimized for MIPS? And if so, would there be a straightforward way of compiling a more optimized build? Don’t worry, I will do my own homework and learn what I need to do if I could just get a nudge in the right direction… :slight_smile:

PS will it be possible to compile with SMP support, as MIPS machines can have many CPUs.

Cheers

The first step would be upgrading from a 11+ year old build by compiling the latest ioquake3 code. If it’s an older GPU you may want to use the following command line arguments ioquake3 +set cl_renderer opengl1. SMP (two threads) support was removed; I think because it only helps if the GPU is the performance bottleneck.

To stop using the QVM interpreter a new QVM bytecode compiler would have to be written for MIPS which requires knowledge of assembly and MIPS instruction set. See x86, sparc, powerpc, and armv7l QVM bytecode compilers. If you’re not playing a mod (locally or on non-pure servers) you can use native libraries for game logic (baseq3/cgamemips.so, also game*.so and ui*.so) instead of QVMs for best performance using the follow command line arguments. ioquake3 +set sv_pure 0 +set vm_cgame 0 +set vm_game 0 +set vm_ui 0

1 Like