The objective is to unlock the frame rate while preventing the “physics speed-up” glitch, ensuring John Marston doesn’t move at 2x speed when the FPS exceeds 30.
1. Core Engine Optimizations (xenia-canary.config.toml)
Open your configuration file (usually in the same folder as the .exe or in %LocalAppData%\Xenia) and apply these specific values:
| Parameter | Recommended Value | Technical Purpose |
gpu | "vulkan" | Best stability for RDR1; avoids the “Vertex Exploding” bug on NVIDIA. |
gpu_allow_invalid_fetch_constants | true | Critical: Fixes missing textures and “black squares” on the ground. |
draw_resolution_scale_x/y | 2 or 3 | 2 = 1440p, 3 = 4K. Internal upscaling is cleaner than FSR. |
apply_patches | true | Enables the external .patch.toml system. |
mount_cache | true | Reduces stuttering during high-speed horse riding. |
2. Enabling the “Master Patches” for RDR1
You must download the latest 5454082B - Red Dead Redemption.patch.toml from the official Xenia Canary game-patches repository and place it in the /patches/ folder.
Essential Patches to Enable (is_enabled = true):
- 60 FPS: Unlocks the 30 FPS cap.
- Disable Depth of Field & Motion Blur: Drastically improves image clarity at high resolutions and recovers ~5% GPU performance.
- 16x Anisotropic Filtering: Fixes the blurry ground textures typical of the original Xbox 360 hardware.
- Disable Sun Flare: Fixes the “blinding light” glitch that occurs when looking at the horizon in upscaled modes.
3. Technical Stability: Vsync and Frame Pacing
RDR1 uses an aggressive double-buffering system. If your FPS drops to 59, the emulator may snap back to 30 FPS to stay in sync.
- The Fix: Set
vsync = falsein the.tomland use an external limiter like RivaTuner (RTSS) or NVIDIA Control Panel to cap the game at 60 FPS. - Physics Note: Do not exceed 60 FPS if possible. While 120 FPS is achievable on modern hardware, certain scripted events (like horse racing or lassoing) can break because the engine’s physics delta ($dt$) is partially tied to the frame rate.
4. Troubleshooting: The “Memory Record” Crash
If the game crashes during the intro or when entering a town:
- Ensure
license_maskis set to-1in the config. - Set
user_language = 1(English) to avoid UI-related memory overflows in certain localized versions. - Check that you are using the GOTY (Disc 1) or the original NTSC version, as many patches are version-specific ($Hash_{check}$).