The modern way to play QUAKE 4.
An open-source engine and game-code replacement that runs the original retail game on today's PCs, handhelds and Macs.
Quick start · Features · Screenshots · Platforms · Guides · Help · Build from source
openQ4 replaces Quake 4's engine and game binaries with its own: a GPL engine and source-available game modules built from the Quake 4 SDK. Your original campaign and multiplayer maps play as they always did, now with widescreen and high-refresh displays, modern controls, optional visual upgrades and one install for single-player and multiplayer.
- Install Quake 4 from Steam or GOG.
- Download openQ4 0.14.1 for your system and extract it into its own folder.
- Launch it:
- Windows:
openQ4-client_x64.exe - Linux: make the
x86_64oraarch64AppImage executable and run it - Steam Deck:
openQ4-steamdeckfrom the Linux archive
- Windows:
- openQ4 finds your Quake 4 install on its own. If it doesn't, see If auto-detection fails.
Tip
Not sure which settings to pick? Open Settings → System and press Auto-Detect next to the performance preset.
Upgrading? Install the whole package into a fresh folder rather than replacing individual files, and read upgrading to 0.14.1 first: it covers your saves.
What you get in 0.14.1, the latest release:
- 🪐 Two campaigns. Play Quake 4 or The Awakening, the recovered expansion, from Single Player → Campaign, each with its own saves. You supply the expansion files.
- 🖥️ A new interface. Rebuilt menus and settings, the Remastered HUD, weapon wheels, scopes and animated crosshairs, ready for controllers, touch, tall screens and larger text. The classic look is one setting away.
- 🌗 Modern lighting, each switchable: stable shadow maps on the Quality and Ultra presets, bloom, HDR, temporal AA, motion blur, baked light grids, cel shading and a CRT filter.
- ⚡ Built for modern displays. Widescreen, ultrawide and portrait screens, smooth motion at 144 Hz and beyond, presets with Auto-Detect, and display changes that apply without a restart.
- 🔺 Your choice of renderer. Vulkan is supported on Windows and chosen automatically, with OpenGL as the fallback.
- 🎯 Better multiplayer (experimental): bots that take orders, quick and voice chat, objective markers, a server browser with favourites and readable chat.
- 📼 A demo library and player for full matches and whole campaigns, with markers, fast seeking, Auto-Track and free-fly playback. See demos.
- 🏆 More to play. The experimental Arena Campaign offers bot matches across five tiers of the stock maps, with boss matches and saved progress.
- 🔊 Sound as designed. Room reverb for every map, subtitles and a separate dialogue volume.
- 🌍 Twelve languages, including German, Brazilian Portuguese, Czech, Hungarian, Turkish and Ukrainian. See Languages.
- 🌊 Real liquids. Swim, wade and drown in water, and take damage in slime and lava, in maps built for them. See Liquids.
- 🧪 Experimental extras: VR through OpenXR, an Android app, a level editor and PBR materials for mods.
Read the full 0.14.1 release notes. Development continues toward 1.0; see the roadmap.

Bloom and HDR on q4dm2: standard rendering left, enhanced post-processing right.

Baked light grids on q4dm2, off and on.

The CRT filter on q4dm8, off and on.
Packages are built for Windows x64, Linux x64 and Steam Deck, with preview Linux ARM64, preview Apple Silicon/arm64 macOS and experimental Windows ARM64 and Android builds.
| Platform | Package | Notes |
|---|---|---|
| Windows x64 | Installer or ZIP | Windows 10/11 recommended |
| Linux x64 | AppImage (x86_64) or archive |
A modern 64-bit desktop, comparable to Ubuntu 24.04 or newer |
| Steam Deck | Linux archive | Launch openQ4-steamdeck; see the Steam Deck guide |
| Linux ARM64 | AppImage (aarch64) or archive |
Preview; needs a desktop OpenGL compatibility driver |
| macOS | Apple Silicon archive | Preview. These are unsigned OpenGL/Metal bridge packages; players have run them only on current macOS |
| macOS (signed) | Mac Source Ports | Signed and notarized Apple Silicon and Intel builds by Schnapple |
| Windows ARM64 | Installer or ZIP | Experimental; not yet confirmed on real hardware |
| Android | ARM64 APK | Experimental; Android 7.0 or newer with OpenGL ES 3.0. See Android setup |
| Minimum | Recommended | |
|---|---|---|
| CPU | 64-bit, dual-core | Modern quad-core |
| Memory | 4 GB | 8 GB (16 GB for high presets and resolutions) |
| Graphics | OpenGL driver with ARB2-era vertex/fragment program support, ~1 GB VRAM | OpenGL 4.1+ GPU with 2 GB+ VRAM (6 GB+ for quality and ultra) |
| Storage | ~12 GB including Quake 4 | 15 GB+ |
Details for each platform are in Getting Started.
These guides match the 0.14.1 release. Start with release status for corrections made since it shipped.
Set up
-
Getting Started: install, first launch and common questions
-
Client Settings: where the most useful options live
-
Display Settings · Input Settings · Gameplay Settings · Steam Deck
-
Languages · VR (experimental) · Android Setup (experimental)
Play
- Campaigns · The Awakening: choosing and installing a campaign
- Arena Campaign (experimental): tiers, unlocks, maps and bots
- Multiplayer Networking (experimental) · Multiplayer Chat · Competitive Matches (experimental)
- Demo Library and Multi-View Demos: browse, play back and record full matches
Look and feel
- Shadow Mapping · Light Grids · Classic Dynamic Lights · Cel Shading
- Temporal AA and Dynamic Resolution · Advanced Screen-Space Lighting (both experimental)
- DDS Texture Replacements · Level-Load Cache (experimental)
Host and create
- Server Setup · Server Security (read the protocol correction)
- Liquids · Map Entity Strings: for mappers and modders
- Level Editor (experimental) · PBR Materials: build maps and author modern materials
- openQ4 runs the official retail Quake 4 assets with its own engine and game modules.
- Mods built for the original proprietary Quake 4 game DLLs won't load.
- Retail Quake 4 clients and servers can't join openQ4 games, or the other way round. Play with matching openQ4 builds.
- openQ4 is in beta: compatibility work is ongoing.
- Something broken? Open an issue with your log file and setup details.
- On a Mac? Collect support data with the macOS support-data guide first.
- On ARM64? The Windows and Linux ARM64 issue templates want your results, and "it just worked" counts as a useful report.
- Want to chat? Find us in #openq4 on the DarkMatter Discord.
- BUILDING.md: build openQ4 on Windows, Linux and macOS
- TECHNICAL.md: configuration, file layout and engine internals
- Android, GLES and SigmaTouch: the experimental Android build
- The engine capability matrix: what is implemented, experimental or missing
- CONTRIBUTING.md: project conventions for pull requests
themuffinator leads openQ4's development, with stewardship from DarkMatter Productions. Thanks to Schnapple / Mac Source Ports for the signed macOS builds, Emile Belanger (emileb) for the Android port and OpenGL ES renderer, and akacross for tireless playtesting on Linux and Windows.
Full credits and third-party software
- 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
- Daniel Gibson and the dhewm3 contributors: cinematic JPEG handling inherited through Quake4Doom, and the
dds/texture-replacement naming convention openQ4 follows - 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
- 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): thorough playtesting on Linux and Windows, a huge help moving the project forward
The openQ4 engine is licensed under the GNU General Public License v3.0. Files that keep Doom 3 or Doom 3 BFG Edition headers also keep their upstream notices and Additional Terms; the source-provenance inventory records their scope and lineage.
The game code in src/game and src/mpgame is derived from the Quake 4 SDK and remains under id Software's SDK EULA. LICENSING.md explains each component's terms, including the open question about distributing them linked together. Quake 4's 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 · Releases · Issues · Discord · Back to top
