Play Quake 4 on modern systems with an open-source engine and SDK-licensed game-code replacement built around the original retail assets.
Latest release: 0.13.2 | Release status | Get Started | Features | Player Guides | Build from Source | Technical Reference
openQ4 replaces the Quake 4 engine and game binaries with a GPL-covered engine and SDK-licensed, source-available game modules. It keeps the original game playable on modern PCs while improving visuals, audio, controls and everyday usability.
It is for players who want the original Quake 4 experience on today's hardware.
Note
openQ4 does not include Quake 4 assets. You still need a legitimate Quake 4 copy from Steam or GOG.
- Built for modern displays. Widescreen, ultrawide, multi-monitor, borderless and fullscreen setups all work. On 144 Hz and 240 Hz screens the camera, weapons and moving objects are drawn smoothly between the game's 60 Hz ticks, while gameplay, networking, demos and saves keep their original timing.
- Optional visual upgrades. Bloom, HDR, anti-aliasing, soft particles, baked light grids, cel shading, a CRT filter and cleaner shadow maps, each one switchable.
- Real liquids. Wade, swim and drown in water, take damage in slime and lava, with underwater visuals and audio. Retail Quake 4 has no liquids, so they appear in maps built for them; see the Liquids guide.
- OpenAL audio, including bundled OpenAL Soft in experimental macOS packages.
- Controller support and quality-of-life fixes, including a better console and modern settings behaviour.
- More single-player. Alongside the original campaign there is an experimental Arena Campaign: bot matches across five tiers of the stock maps, with boss matches and saved progress.
- Better multiplayer (experimental): a server browser with sorting, filters and favourites, readable chat with history, Duel queues and spectator match controls.
- A demo library and player with pause, speed, stepping, rewind and fast-forward, plus free-fly playback of full-match recordings.
- Single-player and multiplayer in one install on Windows, Linux and Steam Deck, with experimental Apple Silicon macOS packages.
- An experimental Vulkan renderer, chosen with
r_renderApi vulkan. OpenGL is the recommended default in this release. - Renderer previews, all off by default: temporal anti-aliasing and dynamic resolution and volumetrics, reflections and indirect light.
See the 0.13.2 notes and release status for upgrade advice and the withdrawn 0.14.0 release.
Bloom and HDR on mp/q4dm2: normal rendering on the left, enhanced post-processing on the right.
Baked light-grid lighting on mp/q4dm2, off and on.
The CRT filter on mp/q4dm8, off and on.
Tip
OpenGL is the default and recommended renderer in 0.13.2. Vulkan is experimental on every platform in this release: set r_renderApi vulkan and restart to try it. An initialization failure falls back to OpenGL. On macOS, Vulkan uses bundled MoltenVK. See Display Settings.
You need a legitimate Quake 4 install plus the openQ4 package that matches your operating system and CPU architecture.
| Tier | Practical target |
|---|---|
| Minimum | 64-bit CPU, 4 GB RAM, a working OpenGL compatibility driver with ARB2-era vertex/fragment program support, and about 12 GB free for the openQ4 package plus retail Quake 4 assets. Use the minimum or lowpower performance preset on constrained systems. |
| Recommended | Modern quad-core CPU, 8 GB RAM, OpenGL 4.1+ compatibility-class GPU with 2 GB+ VRAM, current graphics drivers, and 15 GB+ free. For high resolutions, quality, or ultra, 16 GB RAM and 6 GB+ VRAM gives much better headroom. |
Packages are available for Windows x64, Linux x64 and Steam Deck/SteamOS, with preview Linux ARM64, experimental Apple Silicon/arm64 macOS and experimental Windows ARM64 builds:
- Linux ships as directly executable AppImages and archives for
x86_64andaarch64. Linux ARM64 needs a desktop OpenGL compatibility driver. - macOS players can get signed and notarized builds for Apple Silicon and Intel Macs from Schnapple at Mac Source Ports. Our GitHub OpenGL/Metal bridge packages remain unsigned Apple Silicon previews; players have run them only on current macOS.
- Windows ARM64 packages are built but have not yet been confirmed to run on real hardware.
See Getting Started for platform details.
- Install Quake 4 from Steam or GOG.
- Download the latest available release, openQ4 0.13.2.
- On Linux, make the matching
x86_64oraarch64AppImage executable and launch it; for an extracted archive, launchopenQ4-client_<arch>(oropenQ4-steamdeckon Steam Deck). - If openQ4 does not find your Quake 4 install automatically, follow the path setup notes in the Getting Started guide.
When upgrading, replace the whole openQ4 package rather than individual files. If returning from withdrawn 0.14.0, follow the rollback and save guidance.
Start with release status and documentation corrections. The guides below are pinned to 0.13.2.
- Getting Started - system requirements, installation, first launch, and common setup questions
- Client Settings Guide - where to find the most useful in-game settings
- Server Setup Guide - dedicated server setup and common server variables
- Server and Remote-Console Security - secure remote console and password handling
- Display Settings - fullscreen, windowed mode, resolution scale, multi-monitor, and renderer choice
- Input Settings - keyboard, mouse, controller, and bindings
- Gameplay Settings - gameplay and audio options
- Arena Campaign (experimental) - tiers, unlocks, maps, game types, and bots
- Steam Deck - launcher, controls, and handheld notes
- Multiplayer Networking (experimental) - connection tuning and lag compensation
- Multiplayer Chat - chat controls, history, and layout
- Competitive Matches (experimental) - match rules, voting, readiness, rounds, and One Flag
- Demo Library and Multi-View Demos - browsing, playback controls, and recording full matches
- Shadow Mapping - shadow-map options, flashlight shadows, and troubleshooting
- Light Grids - baked indirect lighting
- Classic Dynamic Lights - Quake II/III style lights on muzzle flashes, projectiles, and explosions
- Cel Shading - the cel-shaded look
- Temporal AA and Dynamic Resolution (experimental) - temporal anti-aliasing, upscaling, and automatic resolution scaling
- Advanced Screen-Space Lighting (experimental) - volumetrics, reflections, and indirect light
- DDS Texture Replacements - installing texture packs
- Level-Load Cache (experimental) - optional local load caches, and how to clear them
- Liquids - water, slime, and lava behaviour, and how to add them to maps
- Map Entity Strings - replace or extend a map's entities without editing the map
- openQ4 targets the official Quake 4 retail assets and ships its own engine and game modules.
- It is not a drop-in runtime for mods built on the original proprietary Quake 4 game DLLs.
- Retail Quake 4 multiplayer clients and servers cannot connect to openQ4. Use matching openQ4 builds; see the documentation correction.
- The project is in beta development, so compatibility work is ongoing. Current-source features are documented separately from the available package in release status.
Please use the issue tracker and include crash logs or setup details when you can. For macOS crashes, follow the macOS support-data guide first. Windows ARM64 and Linux ARM64 have their own issue templates; a report that everything simply worked is as useful there as a bug.
Current source builds default to the modern interface and preserve saved preferences. See Modern and classic screens for release defaults and switching interfaces.
Bug reports, compatibility reports, testing feedback, and code contributions are all welcome. To build openQ4 yourself, start with BUILDING.md; for project conventions, see CONTRIBUTING.md.
Developers can also find advanced configuration and file layout in TECHNICAL.md, the experimental ARM64 APK and source builds in Android, GLES and SigmaTouch, and the current implemented/experimental/missing status of every subsystem in the engine capability matrix.
- themuffinator - openQ4 development and maintenance
- Schnapple / Mac Source Ports - signed and notarized macOS builds for Apple Silicon and Intel Macs
- Emile Belanger (emileb) - contributor and original author of the Android port, SigmaTouch integration, OpenGL ES 3.0 renderer, GLES shader variants, ETC2/EAC compression, and associated mobile memory/loading work. This integration builds on his Android branch and GLES shader-variants branch; see the contribution and adaptation record.
- DarkMatter Productions - project stewardship and website
- The RmlUi Team, CodePoint, Shift Technology and contributors - MIT-licensed layout library behind the new interface, with openQ4 patches; licence notice
- Baptiste Lepilleur and the JsonCpp authors - JSON parser for the new interface's source files, used under its MIT option with an openQ4 patch; licence notice
- Mikko Mononen, Eric Veach and the libtess2 contributors - SGI-B-2.0 polygon tessellator for the new interface's vector shapes, with an openQ4 precision patch; licence notice
- Q2REX Project Team - design reference for the multiplayer chat panel
- MuffMode and Q4MAX - multiplayer workflow and usability references
- Team Beef - design reference for VR mode: PreyVR (Luboš Vonásek, GLKarin, DrBeef, Baggyg, Bummser and contributors) and Doom3Quest (DrBeef and contributors) shaped its head-driven movement, two-handed aim, zoom, comfort options and physical crouch; ideas only, no code copied
- Justin Marshall - Quake4Doom and early BSE reverse engineering reference work, and recovering and publishing Quake 4: The Awakening
- Robert Beckebans - renderer modernization reference work, including RBDOOM-3-BFG inspiration
- id Software's official Doom 3 and Doom 3 BFG source releases - retained idTech 4 source lineage; see the source provenance inventory
- id Software and Raven Software - Quake 4 and the underlying technology
- Raven Software and Ritual Entertainment - Quake 4: The Awakening, the unreleased expansion whose single-player campaign openQ4 can run
- Chris Robinson and the OpenAL Soft contributors - cross-platform OpenAL runtime bundled in macOS packages
- Sam Lantinga and the SDL contributors - cross-platform window, input and microphone support, including the dummy audio driver used in automated voice tests; SDL uses the zlib licence
- Sean Barrett and the stb_vorbis contributors - MIT/public-domain Vorbis decoding; openQ4 adds a virtual-filesystem callback path for bounded compressed streaming
- The Khronos Group and glslang contributors - GLSL-to-SPIR-V compiler used by the Vulkan renderer; its complete licence ships under
licenses/ - The Khronos Group, Valve Corporation and LunarG - Apache-2.0 OpenXR loader and headers behind VR mode; licence notice
- The Khronos Group - MIT-licensed OpenGL ES API headers, with their original notices retained
- akacross (Discord user) - Thorough playtesting on Linux and Windows, a huge help moving the project forward!
openQ4 engine code is licensed under the GNU General Public License v3.0. See LICENSE for details. Files retaining Doom 3 or Doom 3 BFG Edition headers also retain their upstream notices and are accompanied by the corresponding published Additional Terms; the source-provenance inventory records their scope, pinned audit references, and intermediate lineage without offering a legal conclusion.
The game-library code in src/game and src/mpgame is derived from the Quake 4 SDK and remains subject to id Software's SDK EULA. LICENSING.md distinguishes component terms and the unresolved linked-distribution licensing question. Quake 4 assets remain the property of id Software and ZeniMax Media.
openQ4 is an independent project and is not affiliated with, endorsed by, or sponsored by id Software, Raven Software, Bethesda, or ZeniMax Media.
Website | Repository | Game Sources | Issues | Releases



