Half-Life: Alyx: Best vr_settings.ini for Low-End VR Gear

For entry-level VR setups, the primary goal is maintaining a consistent 72Hz or 80Hz refresh rate to avoid motion sickness. Half-Life: Alyx’s automated “Fidelity Level” system often overestimates hardware capabilities, causing sudden frame drops in physics-heavy scenes. By manually configuring the vr_settings.ini, we can disable high-cost post-processing effects and stabilize the rendering resolution, ensuring a smoother journey through City 17.

File Path

To optimize the VR experience, you must edit the VR configuration file located in the game’s settings folder:

\Steam\steamapps\common\Half-Life Alyx\game\hlvr\cfg\vr_settings.ini

Note: If the file is empty or does not exist, you can create it manually. Always ensure you have a backup of your cfg folder before making deep engine changes.

vr_settings.ini Configuration Block

Add or update the following parameters to reduce the load on your CPU and GPU:

[VRSettings]
// Disable dynamic resolution to prevent stutter
vr_fidelity_level_auto=0
vr_fidelity_level=3

[Graphics]
// Optimize shadows and lighting for low-end VRAM
shadow_map_size=1024
sun_shadow_map_size=1024
indirect_lighting_quality=0
character_shadows=0

[Performance]
// Multithreading and memory management
r_texture_stream_max_resolution=1024
r_gpu_mem_limit_mb=4096
r_threaded_particles=1

Technical Breakdown and Performance Analysis

The following settings are critical for optimizing the Source 2 VR pipeline on limited hardware:

ParameterRecommended ValueTechnical Impact
vr_fidelity_level_auto0Disables the game’s automatic resolution scaling, which is the main cause of “blur-to-sharp” stuttering.
vr_fidelity_level3Sets a fixed resolution multiplier. “3” is roughly 100% native resolution; lower this to “1” or “2” for even weaker GPUs.
shadow_map_size1024Reduces shadow resolution, significantly lowering VRAM usage in outdoor areas.
character_shadows0Disables dynamic shadows for NPCs, which saves considerable CPU cycles during combat.
r_threaded_particles1Ensures smoke and sparks are handled by multiple CPU cores, preventing hitches during explosions.

HowTo: Implementing the Entry-Level VR Setup

Follow these steps to stabilize Half-Life: Alyx for your hardware on GameEngineer.net:

  1. Backup: Duplicate your cfg folder before editing.
  2. Launch Options: Right-click Half-Life: Alyx in Steam, go to Properties, and add the following to Launch Options: -novid -console -vconsole +vr_fidelity_level_auto 0 +vr_fidelity_level 3.
  3. SteamVR Resolution: Open SteamVR settings while the game is running and set “Resolution Per Eye” to Manual (100%). Do not use “Auto” as it will conflict with your .ini settings.
  4. Save & Read-Only: Save the vr_settings.ini file and set it to Read-only to prevent Steam from resetting your fidelity overrides.
  5. Spectator Window: Minimize the game window on your desktop monitor. Rendering the game twice (on the headset and the monitor) consumes unnecessary GPU power.

Technical Explanation: Understanding Dynamic Fidelity Desync

Source 2 uses a Fidelity Level system that ranges from 0 to 16. On low-end gear, the engine constantly shifts between these levels (e.g., jumping from level 3 to level 1) to maintain the target refresh rate. This “shifting” triggers a texture reload and resolution buffer resize, causing a visible micro-stutter. By setting vr_fidelity_level_auto=0, we lock the buffer size. This allows the GPU to maintain a steady frametime, as it no longer has to constantly reallocate memory for varying pixel counts, which is vital for preventing the “wobble” effect (reprojection) in VR.

Leave a Comment