Play Quake 4 on modern systems with an open-source engine and SDK-licensed game-code replacement built around the original retail assets.
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.
- A modern interface, still growing. The title screen, pause menu and loading screens are rebuilt as sharp, scalable screens; the other menus keep the classic look for now. If a modern screen can't be shown, for example because a mod brings its own main menu, the classic one appears instead. Prefer the classic screens throughout? See Modern and classic screens.
- 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.
- Rich, reliable audio through OpenAL: Quake 4's room reverb, 3D headphone audio and your device's own speaker layout. macOS packages bundle their own, so there is nothing extra to install; see Gameplay Settings.
- Controller support and quality-of-life fixes, including a better console and modern settings behaviour.
- Play in VR (experimental). With a PC VR headset, play the campaign or multiplayer in stereo: look around with your head, aim with a motion controller, and get menus and cinematics on a floating screen. See the VR guide.
- Play in your language. Menus and game text in English, French, German, Italian, Spanish, Brazilian Portuguese, Czech, Hungarian, Turkish and Ukrainian, plus Polish and Russian menus. Choose one in Settings > Game Options > Language; see the languages guide.
- 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. The Awakening campaign is available too if you supply its content.
- Better multiplayer (experimental): a server browser with sorting, filters and favourites, bots with team objectives and personalities, 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, Steam Deck and macOS.
- A Vulkan renderer on Windows: a stable alternative to OpenGL, chosen with
r_renderApi vulkan. - Physically based materials for mods. Maps and mods can ship PBR materials, with metalness, roughness, ambient occlusion, normal maps and glow, that render on OpenGL and Vulkan beside the stock surfaces, lit and shadowed by every light. Stock content looks exactly as before. See the PBR materials guide.
- Renderer previews, all off by default: temporal anti-aliasing and dynamic resolution and volumetrics, reflections and indirect light.
See the Releases page for what changed in each version.
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 renderer on every platform. Vulkan is a stable alternative on Windows and experimental on Linux and macOS: set r_renderApi vulkan and restart to use it. If Vulkan can't start, openQ4 switches back to OpenGL automatically. On macOS, Vulkan runs through the bundled MoltenVK translation layer. See Display Settings → Renderer Backend.
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, preview 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 downloads are unsigned OpenGL/Metal bridge packages, and 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 openQ4 build from the Releases page.
- 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.
- Getting Started - system requirements, installation, first launch, and common setup questions
- Campaigns - choosing Quake 4 or The Awakening, installing expansion content, and separate saves
- The Awakening - what openQ4 fixes and changes in the expansion's campaign
- 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
- Virtual Reality (experimental) - headsets, controller layout, comfort settings, and troubleshooting
- 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
- PBR Materials - authoring physically based materials and how they are lit
- 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
- Experimental Level Editor - the new editor workspace alongside the classic Radiant
- 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.
- Quake 4: The Awakening single-player is available from Single Player → Campaign once you supply its content, which is not included. It is unfinished alpha content, and its multiplayer changes are not supported. See the campaign guide.
- The project is in beta development, so compatibility work is ongoing.
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.
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, experimental Android 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
- 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
- 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



