Tuesday, December 6, 2022

Quake [OpenGL] [Vulkan] [DX9] [DX11]

3D Vision (and geo-11) fixes and recommendations for multiple Quake versions and source ports. Each fix with a different downloadable fix.

The list of ports I tried/fixed/configured is: vkQuake (including vkquake-rt), QuakeSpasm Spiked, Darkplaces, ezQuake, MarkV, Quake Enhanced.

For the older DirectQ source port (DX9), you can check this blog post by eqzitara.

Quake Enhanced will be fixed at a later date when it's available on GOG. Done.


I recommend keeping a separate Quake installation for each version/port, because config files, mods, save files or 3D fixes can have conflicts.


Fixes in OpenGL done with OpenGL3DVision. For outputs different than 3D Vision, check and configure the "3DVisionWrapper.ini" file.

Fixes in Vulkan done with Vk3DVision. For outputs different than 3D Vision, check and configure the "Vk3DVision\Vk3DVision.ini" file or read the included manual.

Fixes in DirectX 11 done with geo-11.


Update (2022-12-26): added Quake Enhanced fix, done with geo-11.

Update (2022-12-06): updated vkQuake fix to support the "vkquake-rt" version (1.0.1 at this moment), with ray tracing. It also supports vkQuake 1.22.1 (the latest version as of this day). Support for older vkQuake versions (like 1.11.0) is dropped.


vkQuake (Vulkan)






Pros

  • The smoothest of all at 120fps, with great performance.
  • Correct physics at any fps.
  • Good MSAA and supersampling options.
  • Option to enable the classic underwater effect.
  • The fix lets you put the crosshair at depth (static).
  • Ray tracing, when using vkquake-rt instead of the normal vkQuake. Nvidia GPUs of 2000 series and newer is mandatory, as well as recent drivers.


Cons

  • No HD textures support.
  • No new advanced graphics (shadows, lighting...). Except when using the ray tracing version, of course.


Fixed

  • Stereoized graphics.
  • Fixed "classic" option for the "underwater fx" setting.
  • Crosshair at depth with the F7 hotkey.
  • (vkquake-rt) Stereoized ray tracing.
  • (vkquake-rt) Stereoized (more or less) denoiser. You can use F1 to disable it, making the game flicker more.
  • (vkquake-rt) Corrected some sky elements.
  • (vkquake-rt) Volumetric lighting, although it's "sticky" for some reason. Also fixed its occlusion.
  • (vkquake-rt) Radial blur. It can also be disabled with the 0 key.
Known issues
  • The crosshair hotkey slightly affects some other HUD elements. I couldn't avoid that.

Installation
  • Install vkQuake. The fix was done for the 1.22.1 version.
  • First configure the game graphics in 2D as you like, because changing the video mode (resolution, antialiasing...) while in 3D may crash the game.
  • Download Vk3DVision and unzip it anywhere, if you don't have it already. Version 4.19.20 at the very least.
  • Download this file and extract its contents in your "Vk3DVision\Profiles" folder, which comes with Vk3DVision.
  • By default the presentation is configured SBS_LEFT. Open "Vk3DVision\Profiles\vkQuake\Vk3DVision.ini" and change the "Stereo3DViewMode = SBS_LEFT" line to what you need.
  • Run "Vk3DVision.exe" and then "vkQuake.exe". Close the Vk3DVision window after you have stopped playing the game.
  • To play the expansions or other custom maps, you can make shortcuts to the exe and then add a "-" and the name of the folder to the end, like "-hipnotic" (without quotes).

Recommendations
  • I like the look of the textures and antialiasing when configured like this (your resolution and antialiasing samples may vary if you need better performance):

  • To enable the crosshair, press the tilde key (or whatever is at the left of your 1 key) and type "crosshair 1". To increase the size to x5, for example, type "scr_crosshairscale 5". Update: crosshair option now available through the menu.
  • Change fov through the console, by typing for example "fov 105".
  • For the "vkquake-rt" version, the "VINTAGE" graphics mode is good for performance. 1024x768 is adequate for a 2080Ti GPU (or just 1280x720 resolution). The CRT mode is also interesting.
     



Hotkeys
  • F1: toggle to disable the ray tracing denoiser, when using the vkquake-rt version.
  • F7: toggle to put the crosshair at 95% depth. It's at screen depth by default.
  • F8: 24 convergence toggle. It's at 16 convergence by default.
  • 0 (not the numpad): radial blur toggle for vkquake-rt. Not disabled by default.

QuakeSpasm Spiked (OpenGL)


Pros

  • As smooth as vkQuake, with great performance.
  • Correct physics at any fps.
  • MSAA support.


Cons

  • No HD textures support.
  • No new advanced graphics (shadows, lighting...).
  • No supersampling option.
  • The crosshair can't be at depth because of incompatibilities with correct geometry. Better disable it.


Fixed

  • Stereoized graphics, thanks to the legacy mode in the OpenGL wrapper.

Installation
  • Install QuakeSpasm Spiked, the latest "Win64" version.
  • First configure the game graphics in 2D as you like, because changing the video mode (resolution, antialiasing...) while in 3D may crash the game.
  • It's important to set "sleep between frames" to "off" to get the maximum smoothness, as well as "maximum fps" to your refresh rate number.
  • Download this file and extract its contents in your "Quake" folder (or whatever you called it), where "quakespasm-spiked-win64.exe" is. This is just Helifax's OpenGL wrapper (64 bits version) configured with legacy mode and a preconfigured convergence of 16. Default convergence is 16, but you need to run the game as admin at least once for that to apply.
  • To play the expansions or other custom games, you can make shortcuts to the exe and then add a "-game " and the name of the folder to the end, like "-game hipnotic" (without quotes).
  • If you need to change resolution or antialiasing later on, temporarily rename the "opengl32.dll" file to something else to not trigger 3D.

Recommendations
  • In your "config.cfg" file from the subfolder you use, set vid_fsaa "8" to get 8x antialiasing, although that won't help as much as supersampling if you decide to keep textures pixelated.
  • As I mentioned in the installation instructions, set "sleep between frames" to "off".
  • Change fov through the console, by typing for example "fov 105".

Darkplaces (OpenGL)


Pros

  • HD textures support.
  • New advanced graphics (shadows, lighting...).
  • MSAA support.


Cons

  • Worst performance of the bunch, if you enable all the extra graphics options and use antialiasing.
  • Character movement is jerky, although camera movement is fine.
  • No supersampling option (but that would make it way too demanding anyway).
  • The crosshair can't be at depth because of incompatibilities with lighting. Better disable it.

Fixed

  • Stereoized graphics.
  • Fixed shadows and lighting while preventing some geometry problems.

Known issues

  • The new lighting has clipping problems that I can't solve.

Installation
  • Install Darkplaces. The latest Windows 64 OpenGL build.
  • First configure the game graphics in 2D as you like, because changing the video mode (resolution, antialiasing...) while in 3D may crash the game.
  • Download this file and extract its contents in your "Quake" folder (or whatever you called it), where "darkplaces.exe" is. Default convergence is 16, but you need to run the game as admin at least once for that to apply.
  • To play the expansions or other custom games, you can make shortcuts to the exe and then add a "-game " and the name of the folder to the end, like "-game hipnotic" (without quotes).
  • If you need to change resolution or antialiasing later on, temporarily rename the "opengl32.dll" file to something else to not trigger 3D.

Recommendations
  • I recommend not using any antialiasing in the game options, because the game can become very demanding (and not only for the GPU).
  • Configure your desired FOV through the ingame options.


ezQuake (OpenGL)


Pros

  • HD textures support.


Cons

  • Not smooth to me, for both character and camera movement.
  • Not any graphics configuration inside the game. What the hell?
  • Crosshair can't be at depth. Better disable it.


Fixed

  • Stereoized graphics, thanks to the legacy mode in the OpenGL wrapper.

Installation
  • Install ezQuake.
  • First configure the game graphics in 2D as you like, because changing the video mode (resolution, antialiasing...) while in 3D may crash the game.
  • Download this file and extract its contents in your "Quake" folder (or whatever you called it), where "ezquake.exe" is. It's the exact same fix as for QuakeSpasm Spiked (legacy mode), but with 32 bit dll files. Default convergence is 16, but you need to run the game as admin at least once for that to apply.
  • To play the expansions or other custom games, you can make shortcuts to the exe and then add a "-game " and the name of the folder to the end, like "-game hipnotic" (without quotes).
  • If you need to change resolution or antialiasing later on, temporarily rename the "opengl32.dll" file to something else to not trigger 3D.

Recommendations
  • Change fov through the console, by typing for example "fov 105".

MarkV (DirectX 9)


Pros

  • HD textures support. Although I don't know how to make textures work from other ports.
  • DirectX 9, so 3D works out of the box.
  • Smooth, with synchronized left and right images instead of sequential.
  • The underwater effect is the classic one, like in vkQuake.
  • Some window reflections.


Cons

  • No MSAA nor supersampling options.
  • The crosshair can't be at depth because of incompatibilities with lighting.
  • Apparently I can't fix the underwater effect (waves start from screen depth) because I can't hunt the shader.
  • No crosshair at depth (again, I think I can't hunt the shader). Better disable it.

Installation
  • Install MarkV.
  • Play in fullscreen.
  • Not fix provided because it isn't necessary.
  • To play the expansions or other custom games, you can make shortcuts to "mark_v.exe" and then add a "-game " and the name of the folder to the end, like "-game hipnotic" (without quotes).

Recommendations
  • Change your FOV through the console, by typing for example "fov 105".

Quake Enhanced (DirectX 11)




Pros

  • Smooth, with synchronized left and right images instead of sequential.
  • Advanced lighting and improved models, as well as other extra effects.
  • Dynamic crosshair depth in the fix.
  • Expansions included in the game.


Cons

  • No MSAA nor supersampling options.

Fixed

  • Lighting and shadows.
  • Skyboxes.
  • Added dynamic crosshair depth, except for splitscreen local multiplayer.
  • Motion blur.

Installation
  • Install the game and make sure it runs in DX11 mode. The "%USERPROFILE%\Saved Games\Nightdive Studios\Quake\kexengine.cfg" file should contain this:
    seta r_rhirenderfamily "d3d11"
  • geo-11 fix (with build v0.6.90): download this file and extract its contents in the "Quake Enhanced" folder, where "Quake_Shipping_Playfab_GOG_x64.exe" is (at least that's the exe name for the GOG version). Remember to edit "d3dxdm.ini" to change your "direct_mode" to the output you need. It's sbs by default. For 3D Vision monitors, "direct_mode = nvidia_dx11" works (in both borderless and fullscreen) but "direct_mode = nvidia_dx9" doesn't at this moment (black screen).
  • This is mandatory to make the dynamic crosshair work: "Options -> Enhancements -> Resolution -> High".

Hotkeys
  • F1: three convergence presets, with or without autoconvergence (enabled by default in "d3dxdm.ini" to also handle third person camera). By default the middle preset is used.
  • F2: static HUD depth presets (0%, 20%, 40%, 60%, 80%, 100%). 0% by default.
  • F4: dynamic crosshair toggle. Enabled by default.


If you liked the fix and want to contribute for more future fixes, you can donate to this PayPal account: masterotakusuko@gmail.com

6 comments:

  1. I hate to admit it, but I've actually never played Quake before. Looking forward to trying this out in 3D... thank you so much!

    ReplyDelete
  2. MSAA/SGSSAA work perfectly with Mark V if forced using Nvidia Inspector (at least on my system).

    ReplyDelete
  3. Wow... this... is a.. HUGE LIST!!! AWESOME and congrats!!!

    ReplyDelete
  4. I know most prefer true geometry 3d (as do I), but if you want to play Quake Enhanced in 3d right now it works great in Dx11 mode using Nvidia CM mode. I used the same settings as Alien Isolation and it looks good to me with pretty decent depth/convergence with very little halos.

    ReplyDelete