Use the Modelview matrix stack, which is actually the correct one (and fixes a problem on ArchLinux). gluErrorString(glGetError()) reporting stack overflow/underflow helped to debug this...