ref_gl on Linux through 3Dfx's fxMesa, as the 1997 release shipped it; within 3 pixels of Mesa.
Quake II GL (3Dfx) runs on PRISM, a C and C++ compiler written in plain JavaScript. ★ Star it on GitHub if you liked seeing it here.
Arguments
`+map <name>` loads a level; `+set vid_ref softx` is the X11 software renderer -- softX, not soft: vid_so.c skips its is-this-owned-by-root check only for a library whose name contains "softx", and the svgalib one it would otherwise want needs root.
They go in this page's address, so a link to it starts the program the same way.
PRISM's log
What PRISM says while it runs the program shows here once it is playing.
Needs baseq2/ from your copy: the page asks for your copy, a folder or a .zip, and reads it where it is; nothing is uploaded.
It needs a keyboard, and most games take the mouse too.