A Sega Dreamcast port of QuakeSpasm with a native PowerVR renderer.
- Native PVR renderer — geometry streams straight to the Tile Accelerator.
- SH4 hardware math (sh4zam).
- Hardware table fog, per-vertex lighting with dynamic lights, and lightstyle animation.
- Alias (
.mdl) models, sky (flat / scrolling / skybox), warped water, particles, sprites, entity shadows, and underwater warp. - Hardware mipmaps for square world textures; N64-style translucent overlay HUD.
- VMU save games (zlib-compressed), plus config stored on the VMU.
- KallistiOS (with the SH4 toolchain)
- SDL2, built for the Dreamcast
- sh4zam — SH4 SIMD math
- zlib (kos-ports)
- mkdcdisc — builds the disc image
Source your KallistiOS environment first, then build the ELF:
source /opt/toolchains/dc/kos/environ.sh
cd Quake
./build_dreamcast.sh elfThe native PVR renderer is on by default (USE_PVR_RENDER=1); build with
USE_PVR_RENDER=0 to fall back to the GLdc path.
Put your pak0.pak (and optional pak1.pak / OGG music) in Dreamcast/cd/id1/,
then run the full build to compile, link, and package the disc image:
cd Quake
./build_dreamcast.sh # produces quakespasm.cdiBoot the resulting quakespasm.cdi on real hardware (GDEMU / ODE) or an emulator
such as Flycast or Redream.
GPLv2 — see LICENSE.txt. Quake game data is not included; you
must supply your own pak0.pak.

