Skip to content

VKS3D v1.43.3161.1 | Update separation/convergence via hotkeys + QOL tweaks

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Nov 15:36
97059cb

Description

Vulkan drop-in installable ICD (plugin) that automatically intercepts and patches SPIR-V shaders with multiview (single-pass stereo) on-the-fly for high performance, efficient and eye-synced (not AFR/AER) geometric stereoscopic 3D rendering, with built-in generic shader fixes. Made from scratch with human-supervised free AI code.

Status

Works in many native Vulkan apps/games, and some Direct3D 5-12 and OpenGL games via wrappers, though expect some issues.

Recent Updates:

Update separation/convergence via hotkeys + QOL tweaks [2026/11/10]

Same as 3D Vision (Ctrl + F3-F6), with rate modifiers (Shift for 10x, Alt for 1/10)

vulkanscene.mp4

VulkanScene

🖼️More screenshots/updates

Fix swapchain AcquireNextImage crash/black screen [2026/11/08]

vkQuake_3maZ1C424n

Quake (vkQuake)

screen

Need for Speed III: Hot Pursuit (Direct3D 5) [D7VK]

Fix compatibility with latest DXVK [2026/11/05]

This improves compatibility with Direct3D 8-11:
MultithreadedRendering11_8Ro2oghUFi

MultithreadedRendering11

Fix compatibility with latest VKD3D-Proton [2026/11/03]

This improves compatibility with Direct3D 12:
693478090-f0025d5d-c34f-4b6e-98a3-111ed7b46a3c

D3D12nBodyGravity

Initial support for Direct3D 12 via Proton [2026/10/31]

690926282-69730d4d-f71a-41de-b997-e599bced83b0

SpinningCube12

SPIR-V shader validation fixes IV [2026/10/25]

bpSmDl0slz

Prince of Persia: The Two Thrones (OpenJade)

Improve UI shader classification 2.1 [2026/10/20]

6d1c7e1e-3f0d-4ef4-9afd-ffd151275e1c

Flatout

SPIR-V shader validation fixes II-III [2026/10/08-09]

Test_Voxelizer002

Improve geometry/UI shader classification [2026/09/14]

StuntRally3093

Stunt Rally

Generic depth fix for sky and UI shaders [2026/09/12]

supertuxkart002_085

SuperTuxKart

instancing001_085

Ray Tracing [2026/09/05]
raytracingreflections003

Zink support (OpenGL to Vulkan wrapper) [2026/09/06]
SoftShadows_pPzFdGjVtb

Dynamic lights
636597478-99b369a1-fa65-4917-b1c4-e123d771aab3

Omni directional shadows using a dynamic cube map
644804312-117f0b41-3e6e-4611-9977-f1989c78783c

RTX Remix (raytracing disabled)
640555440-95252f10-a111-4d4a-93f5-981c722987cc

Mesh Shaders
640555817-2f64f072-749d-46ca-837c-7f965a8eec15

Geometry Shaders
640556050-2481a2e2-12a6-40b8-beb5-c37ffa728e18

Variable Rate Shading
640556186-e7f6e348-e703-4f64-9349-815ee4ff8f31

Multisampling
640556231-6f98efc2-8d2b-495b-81ce-9469a89ba66c

Dynamic Rendering
640556784-68c4aca7-c424-48b4-a843-7c57b6bde51d

DXVK

DirectX SDK - ShadowMap sample (D3D9)
640556871-e0521bac-ddd8-41e7-a8e9-813337317176

Richard Burns Rally (D3D9)
640556731-642e583d-29b4-4a3d-a6ac-16eeeac6d674

Deferred Shadows
640557195-9f8cea6d-c4a1-4044-bf96-18064410ad6b

Bloom
640557260-3183b89b-7e82-4364-b535-48f82fe587ac

Compute Shader particles
640557392-b824c049-5fa5-4a5a-aabd-9f0c687e6c5d

Tessellation
640557964-a20d25e9-09f4-4311-b1d0-5e145d403fa2

For progress updates/discussion, join 3D Vision Fluxer server > VKS3D forum or chat mirror at Discord server > VKS3D forum

Installation

  1. Download VKS3D.zip (stable, or try nightly/archive)
  2. Extract to either:
    A. Executable folder, for game-specific (portable) installation (recommended).
    B. Permanent common folder (e.g. C:\Programs\VKS3D) for system-wide installation to force all apps/games using Vulkan to load it.
  3. Run VKS3D_Install.bat
    C. If you run the script again and close it before system-wide step, portable installations (if present) will load instead of system-wide installation.
  4. Edit settings in VKS3D.ini if needed (check out config database).
    • If using system-wide installation, you can add another VKS3D.ini next to the game executable to override global INI settings like separation/convergence.
  5. Run any game using Vulkan natively, or extract one of the following Direct3D/OpenGL wrappers' DLLs into the game's executable/DLL folder (EXPERIMENTAL):
Wrapper \ Supports: D3D2 D3D3 D3D5 D3D6 D3D7 D3D8 D3D9 D3D10 D3D11 D3D12 OpenGL Glide
D7VK ❔ ❔ ✅ ✅ ✅
DXVK-Sarek ❔ ❔ ❔ ❔ ❌ ✅ ✅ ✅ ✅
DXVK ✅ ✅ ✅ ✅
DXVK-Remix* ✅ ✅
VKD3D-Proton + DXGI ✅
MESA Zink* ✅
GXVK ❌
Notes
  • ❔ Supported by the wrapper but not yet tested with VKS3D
  • ❌ Supported by the wrapper but all tested games are mono/broken with VKS3D
  • ✅ Confirmed working with VKS3D
  • You can find a game's Direct3D version(s) in the API section of its PCGamingWiki article, e.g. Flatout uses D3D9
  • DXVK-Remix requires rtx.enableRaytracing = False in rtx.conf next to exe/dll
  • Zink may use shader objects which aren't yet supported so you might get 1 eye black unless you downgrade driver (596.21 confirmed working).
  • To disable/remove system-wide or local installation, run VKS3D_Uninstall.bat .

Troubleshooting

Crash
  • Run again. Startup (especially when using DXVK/VKD3D) might need to generate pipeline/shader caches before they can run properly.
  • Delete Vulkan shader/pipeline cache.
    • Might require looking up shader cache location. Emulators usually have a dedicated option and for DXVK, delete *.dxvk-cache file(s) next to the executable and in %LOCALAPPDATA%\dxvk.
Black Screen
  • Set low/0 separation to confirm geometry isn't getting shifted offscreen
  • Try lowering/disabling all graphics options (especially anti-aliasing/post-processing) to see if one of them is causing it while having VKS3D disabled
1 eye black
  • Try lowering/disabling all graphics options to see if one of them is causing it
Monoscopic
✅Each eye sees a shifted view/unique extra FOV
  • Increase separation and lower convergence
⚠️Everything is at screen depth
  • Set mono_ui=false in VKS3D.ini
  • Set sky_flatten=false in VKS3D.ini
  • Set sky_extend=false in VKS3D.ini
❌Left and right edges are stretched out/black
  • Shader not being stereoized properly or at all. Likely requires code change.
3D Vision not activating
  • It's preferable to run the game in windowed or borderless but with the same resolution as the screen. Also if 3DV deactivates when clicking the window, restart the game and press Alt+F4 to kill the NV3DLib layer (needed for stability) and Alt+Tab into the game window if not already in it.
Debug and collect logs/shader dumps to report bugs

Drag and drop executable (preferred) or shortcut into VKS3D_Debug.cmd to:

  • Create a log file
  • Verify integrity/check for corruption (requires Vulkan SDK for spirv-dism.exe) of dumped shaders, both original (-*s.spv) and patched (+*s.spv), and decompile if there's any errors.
  • Disable stereo for specific shaders (to make them mono, useful to flatten UI to screen depth) if you edit VKS3D_Debug.cmd and add hash (or comma-separated hashes) after Set VKS3D_SKIP_SHADER_PATCHES=. See the dumped shader filenames including + (patched) for hashes (don't include suffixes like +vs.spv or +fs.spv.asm)

You can also:

  • Drop shader dump (.spv) file to decompile any specific shader into plaintext human-readable ASM.
  • Drop VKS3D_r####@XXXXXXX.zip files to extract DLLs into VKS3D_DIR (VKS3D installation folder by default) and VKS3D_BUILDS (version numbered folders, edit VKS3D_Debug.cmd to change). Useful for quickly switching between builds. Requires having 7-zip installed.
  • Drop folder to extract its DLLs into VKS3D_DIR. Useful for switching between different DLL builds stored in separate folders.

Known issues

Fixed
  • Performance is really poor and/because GPU/CPU usage is really low. Fixed since r239
  • Deferred rendering is still 2D/flat. Partially fixed since r242 and r298
  • Resizing the window may crash. Fixed since r500
  • Resizing the window may render a black screen. Fixed since r538
  • UI is broken/rendered at wrong depth. Fixed since r552
  • DXVK renders black frames. Fixed in r748
  • 3D Vision mode blocks game focus/audio/cursor. Fixed in r550
  • Dynamic rendering renders mono/black. Fixed in r931
  • DXVK renders 2D. Fixed in r2016
  • flip_eyes=1 breaks off-axis projection
  • Enabling MSI Afterburner/RTSS stats overlay may cause 1 eye black/freeze/crash
  • Separation/convergence hotkeys don't reflect on stereo even though they change internally. Fixed in r3149
Fix pending
  • Fails some Vulkan Conformance Tests
  • 3D Vision mode crashes with D7VK/DXVK/VKD3D
  • Intel integrated graphics fall back to single view passthrough

Compatibility

Database

Spreadsheet

Vulkan Samples

Status as of main-r2630, driver 576.80 with RTX 2080 Ti

DirectX SDK samples

  • AntiAlias ⚠️ Works, but UI offset
  • BasicHLSL ✅
  • CompiledEffect ❌ Error
  • ConfigSystem ⚠️ 2D
  • CustomUI 2D
  • DepthOfField⚠️ Offset frame with black gap
  • EffectParam ✅
  • EmptyProject ✅
  • HDRCubeMap ⚠️ Reflection doubled
  • HDRFormats ⚠️ Offset frame with black gap and overexposed
  • HDRLighting ⚠️ Offset frame with black gap
  • HDRPipeline ⚠️ Black frame pipelines and glitchy graphics
  • HLSLwithoutEffects ✅
  • Instancing ✅
  • IrradianceVolume
  • LocalDeformablePRT⚠️ Background offset with gray gap
  • MeshFromOBJ ✅
  • MultiAnimation
  • OptimizedMesh ✅
  • ParallaxOcclusionMapping ⚠️ No stereo displacement
  • Pick ✅
  • PixelMotionBlur ⚠️ Offset frame with black gap
  • PostProcess ⚠️ Offset frame with black gap
  • PRTCmdLine
  • PRTDemo ⚠️ Offset background with black gap
  • ShadowMap ⚠️ Separation offsets shadow projection
  • ShadowVolume ⚠️ Shadow becomes 3D when looking at it from certain high angles
  • SimpleSample ✅
  • SkinnedMesh ✅
  • StateManager ⚠️ Geometry only rendered for left eye
  • Text3D ✅
  • UVAtlas

VRWorks OpenGL samples

  • Placeholder

Roadmap

  • Off-axis projection (depth past screen instead of just popout) Implemented since r316
  • Game-specific launch instead of system-wide installation Added instructions to Installation
  • Duplicate and shift cursor into each view
  • Support more APIs via wrappers:
    • ✅⚠️D7VK (Direct3D 2-7)
      • Direct3D 5, 6 and 7 confirmed working, although with some minor issues.
    • ✅⚠️DXVK (Direct3D 8-11)
      • Direct3D 8, 9, 10 and 11 confirmed working. Some shaders may be broken and apps may crash.
    • ✅⚠️🚧VKD3D (Direct3D 12)
      • Some basic apps/games work, but many crash/glitch out, especially demanding games.
    • ✅⚠️Zink (OpenGL)
      • Some apps/games confirmed working. Some shaders may be broken and games may crash.
  • Support 3D hardware:
    • ✅Side-By-Side
    • ⚠️Top-And-Bottom
      • Currently broken.
    • ✅⚠️3D Vision
      • Added since r316, improved in r550. Some games may still crash.
    • Spatial Labs
    • VR (Katanga/VRScreenCap)
  • Support emulators
    • ✅⚠️Some work, with varying degrees of success
  • UI
    • Stereo settings
      • 🚧Separation/IPD
      • 🚧Convergence
        • Auto-convergence
    • Shader toggling
    • Shader fix presets
      • 🚧Geometry
      • 🚧UI (flatten to screen depth)
      • 🚧Sky (flatten to max depth)
      • Overlay (flatten to screen depth + stretch to fill)
      • Crosshair (stick to background geometry depth)
      • Weapon (rescale if needed)
  • Shader fixes:
    • Manual fix loading
    • Generic
      • ✅Shadows
      • ✅Deferred rendering
      • ✅Multi-Sampling
      • ✅Screen depth UI
      • ✅Max depth sky
      • Lights
      • Reflection
      • Refraction
      • Ambient Occlusion
      • Depth of Field
  • Support RTX Remix raytracing
  • 6DOF VR

Credits

@ThreeDeeJay (3DJ) Project/repository management, code supervision/minor fixes, testing and "quality" assurance
@oneup03 - NV3D-Lib (3D Vision output mode)
@pdbourke - Off-axis stereo projection formula
Claude - Base ICD and major fixes that require extensive Vulkan knowledge
ChatGPT - Continuous minor fixes