Compatibility target: Retail Quake Live (Steam) · Base version: 0.1.0 · Current build: 0.1.0
FnQL is a modernized Quake Live engine for players who want the retail Steam game to retain its familiar behavior while gaining faster rendering, modern audio and input, stronger platform support, and useful quality-of-life improvements inherited from FnQ3.
Retail Quake Live compatibility comes first. FnQL is engine-only: it does not
reconstruct or distribute Quake Live game code or assets, so a legitimate
Quake Live installation on Steam
is required. The official Windows package includes FnQL's open-source engine,
its WebUI overlay, and the compiled closed-source Steam provider. Linux
packages contain only redistributable FnQL components. No package includes
Valve's steam_api.dll or any retail game content.
- Extensive Quake Live compatibility — built around the retail Steam
release, with support for official assets and game modules, protocol 91
networking,
.dm_91demos, BSP v47 maps, advertisements, factories, player profiles, the retail WebUI, Steam integration and Workshop content. - Fast, modern hardware rendering — choose between optimized GLx, Vulkan raster and Vulkan RTX renderers, with GPU-cached world geometry, optimized lightmaps, reduced rendering overhead, improved depth precision and better performance on large or demanding maps.
- Modern visual upgrades — optional HDR rendering and output, MSAA, supersampling, render scaling, anisotropic filtering, bloom, tone mapping, colour grading, high-quality dynamic lighting and shadows, motion blur, lens flares, soft particles, enhanced liquids and per-map fog.
- Improved player visibility — optional player rim lighting, stencil outlines or both, with configurable enemy, teammate, team and free-for-all colours, intensity and outline thickness. Cel shading, model outlines and world-edge outlines are also available.
- Better modern hardware and OS support — SDL3-based video and input, OpenAL audio, modern graphics APIs, high-resolution and high-refresh displays, borderless/windowed/fullscreen modes, fast Alt+Enter switching, controller hotplugging and improved compatibility with current desktop systems.
- Low-latency, configurable controls — raw mouse input, Quake Live-accurate CPI scaling, signed acceleration, sensitivity caps and angle-history filtering, while retaining classic Quake3e/ioquake3 mouse styles. Modern gamepads and Unicode text input are also supported.
- Modern spatial audio — OpenAL and HRTF headphone positioning, surround output, reverb, geometry-based occlusion, output-device selection, live device recovery and automatic fallback to the classic software mixer.
- Major quality-of-life improvements — scalable TTF console text, smooth scrolling, mouse selection, clipboard support, drag-and-drop editing, live command/CVar/map completion, minimize hotkeys, focus muting, lower background CPU usage and more flexible player configuration.
- Better screenshots, video and streaming tools — PNG, TGA, JPEG and BMP capture, clipboard screenshots, custom filenames, camera metadata, configurable levelshots, watermarks, cubemap capture, arbitrary-resolution output and FFmpeg video piping.
- Faster content handling — quicker startup and map restarts with large PK3 libraries, raised filesystem and map limits, fast redirected downloads and automatic handling of server-required Workshop content.
- Greater stability and security — extensive Quake3e and FnQ3 bug fixes, improved memory management, lower memory usage, stronger network protection and graceful fallbacks when optional rendering, audio, WebUI or Steam functionality is unavailable.
First install Quake Live through Steam and launch the retail game once so Steam creates its normal files and player profile. Then download the package for your platform from the latest FnQL release.
- Extract the Windows
.zipinto the Quake Live installation folder. - Keep
FnQL-pkg.fnz,fnql-web.pak, the renderer modules, and packaged runtime libraries besidefnql.exe. - Leave Steam running and launch
fnql.exe. The official Windows build is Win32/x86 so it can load the retail game modules and WebUI.
- Install the 32-bit runtime libraries reported by
ldd ./fnql.dedon your distribution. The release is i686 so it can load retailqagamei386.sofrombaseq3/bin.pk3. - Extract the Linux archive with
tar -xzf fnql-*-linux-x86.tar.gz -C "<Quake Live folder>". The tarball preserves the executable bits on the engine and renderer modules. - From that folder, start the server with
./fnql.ded +set fs_steampath "$PWD" +set dedicated 2 +map campgrounds. Keep the two FnQL package sidecars and renderer modules beside the binaries.
- Download the ZIP matching Intel (
x86_64) or Apple Silicon (aarch64) and preserve the completeFnQL.applayout when extracting it. - The application already contains its renderer dylibs and FnQL sidecars.
Standalone
fnql.dedandfnql-audiozonescare included beside the app. - Release builds are produced and tested natively on both Apple architectures; local and normal CI builds receive no project-applied app-bundle or Developer ID signature by default. (Apple Silicon retains clang's required ad-hoc Mach-O signature.) See the Build Guide for opt-in signing, notarization, and Universal 2 staging commands.
CI covers native compilation, automated tests, packaging, and dependency audits; the explicit release lane also covers Developer ID signatures and notarization. A windowed renderer smoke test on physical Apple hardware is still a promotion gate, and the package intentionally includes no macOS Steam provider or Valve runtime.
Retail Quake Live ships native Linux server modules, but its client and WebUI
modules are Win32-only. The native Linux client executable is therefore an
engine/platform development target, not a supported retail-play path. Use the
Win32/x86 package for retail client play. Retail also ships no macOS game,
client, UI, or QVM modules, so the native Mac package supports the engine and
tools but cannot start a retail match. FnQL will not reconstruct those modules.
FnQL discovers conventional Steam
libraries on each supported OS; for a custom library use
+set fs_steampath "<Quake Live folder>". Optional Steam and WebUI services
fail safely when unavailable. To compile FnQL yourself, including native
x86_64 and ARM development builds, use the Build Guide.
- Display Guide for renderer selection, display modes, HDR, render scaling, anti-aliasing, bloom, lighting, shadows, fog, liquids, lens flares, motion blur, and other presentation controls.
- RTX Renderer Guide for ray-tracing requirements, renderer selection, fallback behavior, safe starting settings, and troubleshooting.
- Visuals Guide for player highlighting, team and enemy colours, cel shading, and outlines.
- Aspect Handling Guide for retail WebUI, menu, and cinematic layout behavior.
- Audio Guide for backends, devices, HRTF, spatial effects, fallback behavior, and troubleshooting.
- Console Guide for console layout, scaling, completion, clipboard use, and mouse interaction.
- Screenshot Guide for capture commands, formats, filenames, metadata, levelshots, watermarks, and cubemaps.
- Release History for published downloads and changelogs.
- Build Guide for compiling FnQL locally.
- GLx Renderer Guide for GLx availability, diagnostics, and troubleshooting.
- Input Compatibility Notes for retail mouse math, text input, controllers, and preserved legacy input profiles.
- WebUI Backend Notes for retail resources, platform boundaries, overlay order, and fallback rules.
- Steam Provider Notes for the open loader ABI, separately distributed provider, and runtime policy.
- RTX Renderer Contract for the renderer's Quake Live ABI boundary, conservative defaults, build gates, and runtime validation.
- Technical Notes for repository structure, release flow, compatibility workflow, and maintainer conventions.
FnQL follows a clear upstream lineage from the Quake III Arena SDK, through ioquake3, Quake3e, FnQ3, and QL-SRP.
See CREDITS.md for the full credits, acknowledgements, and trademark notice.