Home Home

XvQuake

Quake's official source includes video drivers for X11, SVGAlib and OpenGL, and ports have also been written for SDL and even tty. However, I couldn't find anything that uses X11's XVideo extension.

Xv can use hardware acceleration for rescaling, so that a small image can be scaled up to fill the screen without the need for either software scaling (which is often very slow) or changing screen resolution (which is annoying at the best of times, and next to useless on LCDs). It is used by MPlayer for exactly these reasons.

I hacked bits of the MPlayer Xv driver into Quake's X11 driver, and the result is in vid_xv.c. To use it, replace the file vid_x.c (in the WinQuake, or QW/client for QuakeWorld, directory of the Quake source tree) with the new file before compiling. If the window is resized while running, the output images will be rescaled appropriately. The function ``vid_fullscreen'' can be bound to any key, and will toggle fullscreen mode.

DISCLAIMER: Absolutely no warranty, use at your own risk. Depending on how stable the Xv drivers are for your graphics card, this program may hang your machine/burn out your video card/blow up your monitor. As a rough guide, if MPlayer's -vo xv driver works, chances are this will too.

Known bugs:

TODO/potential bugs that I haven't checked yet:


If you have any suggestions for this site, let me know at glyn (at) ox.compsoc.net .