Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
Quake 4 · openQ4
PORTSNATIVE

Quake 4 · openQ4

NATIVE PORTSHOOTER / ACTIONWINDOWSLINUXMACOSBETA

Quake 4 · openQ4

Quake 4

OriginWindows

TechnologyNative C/C++ port (engine reimplementation)

Available forWindows, Linux, macOS

View official project

About the project

Quake 4 es el cuarto videojuego de la serie de videojuegos de disparos en primera persona, Quake, publicado en el año 2005. Ha sido desarrollado por Raven Software y distribuido por Activision. Raven Software ha colaborado con Id Software quienes, para este juego, han supervisado su desarrollo y proporcionado el Id Tech 4, motor gráfico de Doom 3, con el que ha sido construido. Quake 4 fue publicado el 18 de octubre de 2005 para PC. Existe además una versión para Xbox 360.

Official project information

Author's original READMEOpen on GitHub ↗

<a id="top"></a>

[!IMPORTANT] Calling all vibe masters. openQ4 got this far on sharp prompts, stubborn validation runs and a healthy disregard for sleep, but the Strogg aren't beaten yet. The remaining work is mapped out in the development roadmap, and we'd welcome more hands (and more agents) to help bring it home. Before you unleash your favourite model, check in on the #openq4 channel of the DarkMatter Discord: we'll point you at the work that needs you most and keep everyone's agents from fragging each other over the same roadmap item. Then brief your model with AGENTS.md and open a pull request. Reviews are human, standards are high, and the snacks are strictly virtual.

<div align="center"> <img src="assets/docs/img/banner.png" alt="openQ4 banner">

Licensing: GPL engine and SDK game code Status Platform Architecture Proudly vibecoded

Play Quake 4 on modern systems with an open-source engine and SDK-licensed game-code replacement built around the original retail assets.

<a href="https://github.com/themuffinator/openQ4/releases"> <img src="https://img.shields.io/badge/Download-Latest%20Release-2d8f4e?style=for-the-badge&logo=github" alt="Download the latest openQ4 release"> </a> <a href="https://github.com/themuffinator/openQ4/stargazers"> <img src="https://img.shields.io/github/stars/themuffinator/openQ4?style=for-the-badge&logo=github&label=Star%20on%20GitHub" alt="Star openQ4 on GitHub"> </a> <a href="https://github.com/themuffinator/openQ4/fork"> <img src="https://img.shields.io/github/forks/themuffinator/openQ4?style=for-the-badge&logo=github&label=Fork%20on%20GitHub" alt="Fork openQ4 on GitHub"> </a> <a href="https://discord.gg/T32mFejwR4"> <img src="https://img.shields.io/badge/Join%20the-Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Join the openQ4 Discord server"> </a>

Latest release: 0.13.2 | Release status | Get Started | Features | Player Guides | Build from Source | Technical Reference

</div>
<p align="center"> <img src="assets/docs/img/readme-airdefense1-cinematic.png" alt="openQ4 airdefense1 intro cinematic showing ships approaching Stroggos" width="92%"> </p>

What is openQ4?

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.


Features in 0.13.2

  • 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.


Screenshots

<p align="center"> <img src="assets/docs/img/readme-bloom-hdr.png" alt="openQ4 bloom and HDR side-by-side comparison on mp q4dm2" width="92%"> </p> <p align="center"><sub>Bloom and HDR on mp/q4dm2: normal rendering on the left, enhanced post-processing on the right.</sub></p> <p align="center"> <img src="assets/docs/img/readme-lightgrid.png" alt="openQ4 light-grid indirect diffuse off and on comparison" width="92%"> </p> <p align="center"><sub>Baked light-grid lighting on mp/q4dm2, off and on.</sub></p> <p align="center"> <img src="assets/docs/img/readme-crt.png" alt="openQ4 CRT post-process off and on comparison on mp q4dm8" width="92%"> </p> <p align="center"><sub>The CRT filter on mp/q4dm8, off and on.</sub></p>

[!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.


System requirements

You need a legitimate Quake 4 install plus the openQ4 package that matches your operating system and CPU architecture.

TierPractical target
Minimum64-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.
RecommendedModern 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_64 and aarch64. 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.


Getting started

  1. Install Quake 4 from Steam or GOG.
  2. Download the latest available release, openQ4 0.13.2.
  3. On Linux, make the matching x86_64 or aarch64 AppImage executable and launch it; for an extracted archive, launch openQ4-client_<arch> (or openQ4-steamdeck on Steam Deck).
  4. 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.


Player guides

Start with release status and documentation corrections. The guides below are pinned to 0.13.2.

Start here

  • 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

Play and tune

  • 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

Mapping and modding

  • 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

Compatibility

  • 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.

Reporting problems

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.


Contributing

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.


Credits

  • 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!

License and disclaimer

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

Back to Top

Read official guide
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Shooter / Action
Status
beta
Original platform
Windows
Technology
Native C/C++ port (engine reimplementation)
Version
—
Updated
—

Target platforms 3

Windows
Linux
macOS
View on GitHub
Advertisement