RTX is FnQL's Vulkan ray-tracing renderer. It is one of the three renderer modules shipped with FnQL and does not change networking, demos, game logic, or the retail module ABI.
FnQL starts RTX conservatively: loading the module does not automatically turn on native ray tracing. Unsupported hardware retains a complete Vulkan raster frame unless you explicitly request strict ray tracing.
Native ray tracing requires a Vulkan GPU and driver with buffer device address, deferred host operations, acceleration structures, ray queries, and ray-tracing pipelines. FnQL also validates the required feature bits, limits, formats, descriptor capacity, and entry points before enabling the path.
The vkinfo command reports the selected device and capability result. Use
rtx_caps_report 1 for a compact RTX capability summary or rtx_caps_report 2
for the detailed report.
Use a build that includes the fnql_rtx_<arch> renderer module, then enter:
seta cl_renderer "rtx"
seta rtx_rt_mode "2"
seta rtx_rt_require "0"
vid_restartrtx_rt_mode controls the requested path:
0loads the RTX module but uses its complete raster renderer. This is the safe default.1requests ray-query capabilities while retaining raster output. This is a development mode rather than normal play.2requests the native ray-tracing pipeline for eligible primary-view world geometry.
Keep rtx_rt_require 0 for normal use. If native RT cannot initialize or
complete a frame, FnQL reports the reason and preserves the raster result.
Setting it to 1 is a strict validation mode: unsupported capabilities or a
failed RT frame stop the renderer instead of silently falling back.
FnQL keeps experimental and compatibility-sensitive presentation features disabled by default. Start with:
seta rtx_rt_mode "2"
seta rtx_rt_require "0"
seta rtx_rt_async_overlap "0"
seta rtx_rt_dynamic_blas "0"
seta rtx_rt_material_heuristics "0"
seta r_hdr "0"
seta r_globalFog "0"
seta r_liquid "0"
seta r_surfaceLightProxies "0"Change optional HDR, fog, liquids, and other presentation settings separately after confirming that the native renderer is stable on your GPU and driver. Native RT does not silently enable them.
For an eligible main view, native primary rays replace a conservative opaque world subset. The raster renderer remains responsible for advertisements, entities, weapons, sky, portals, complex or animated shader stages, fogged and translucent surfaces, liquids, particles, marks, flares, and UI. Secondary views such as mirrors, portals, stereo eyes, partial viewports, and cubemap faces deliberately use complete raster rendering.
This division preserves authored Quake Live content rather than approximating unsupported shader behavior as ordinary opaque ray-traced materials. Dynamic entities remain visible through the raster overlay when experimental dynamic acceleration structures are disabled.
If RTX cannot initialize:
- Run
vkinfoandrtx_caps_report 2and note the first failed capability. - Update the Vulkan GPU driver and make sure the
fnql_rtx_<arch>module is beside the FnQL executable. - Return to Vulkan raster with
cl_renderer vkfollowed byvid_restart, or to GLx withcl_renderer glxfollowed byvid_restart. - Leave
rtx_rt_require 0unless you are deliberately testing strict native RT activation.
Useful developer diagnostics include rtx_debug_vk_validation 1,
rtx_debug_framegraph 1, rtx_rt_perf_timing 1, and
rtx_rt_debug_visualizer 1. Keep them disabled during normal play.
- Display Guide for shared renderer and presentation settings.
- RTX Renderer Contract for architecture, known limits, build details, and maintainer validation.
- Build Guide for modular and static renderer builds.