Skip to main content
Ryujinx emulates the Nintendo Switch’s Maxwell GPU using modern graphics APIs. This guide covers graphics backend selection, resolution scaling, and visual enhancements to optimize your gaming experience.

Graphics Backend Selection

Ryujinx supports three graphics backends depending on your platform:
Recommended for most usersAdvantages:
  • Best performance on modern GPUs
  • Lower CPU overhead
  • Better multi-threading support
  • Required for macOS (via MoltenVK)
Requirements:
  • Vulkan 1.2+ compatible GPU
  • Latest graphics drivers
Platform Support:
  • Windows (with compatible GPU)
  • Linux (native Vulkan)
  • macOS (via MoltenVK)

Changing Graphics Backend

1

Open Graphics Settings

Navigate to File > Settings > Graphics
2

Select Backend

Choose your preferred backend:
"GraphicsBackend": "Vulkan"
Options:
  • Vulkan (default on systems with Vulkan support)
  • OpenGL (fallback, not available on macOS)
3

Select GPU (Multi-GPU Systems)

If you have multiple GPUs:
  1. Click the Preferred GPU dropdown
  2. Select your dedicated GPU (usually marked as “dGPU”)
  3. Integrated GPUs are also listed but not recommended
4

Restart Ryujinx

Graphics backend changes require restarting Ryujinx to take effect.

Resolution Scaling

Increase rendering resolution for sharper graphics:

Resolution Scale Options

Native (1x)

720p docked / 1080p handheldOriginal Switch resolution. Best performance, lowest quality.

2x

1440p docked / 2160p handheldBalanced quality and performance. Recommended for most systems.

3x

2160p docked / 3240p handheldHigh quality. Requires powerful GPU.

4x

2880p docked / 4320p handheldMaximum quality. Very demanding, recommended for high-end GPUs only.

Custom Resolution Scale

For fine-tuned control:
1

Select Custom Scale

In Settings > Graphics, set Resolution Scale to Custom
2

Set Custom Value

Enter a floating-point multiplier:
"ResScale": -1,
"ResScaleCustom": 1.5
  • 1.0 - Native resolution
  • 1.5 - 1.5x scaling
  • 2.5 - 2.5x scaling
  • Up to 4.0 or higher
Resolution scaling has the most significant impact on performance. Start with 2x and adjust based on your GPU capabilities.

Visual Enhancements

Ryujinx offers six graphics enhancements:

1. Disk Shader Caching

Pre-compile and cache shaders for smoother gameplay:
"EnableShaderCache": true
First Run:
  • Shaders compile when needed during gameplay
  • May cause stuttering when new effects appear
  • Shaders are saved to disk
Subsequent Runs:
  • Cached shaders load instantly
  • No stuttering from shader compilation
  • Smooth gameplay experience
Cache Location:
<RyujinxFolder>/games/<TitleID>/cache/
Keep shader caching enabled unless experiencing specific issues. Disabling it will cause significant stuttering.

2. Anti-Aliasing (AA)

Smooth jagged edges for better image quality:
Default - No anti-aliasing
  • Best performance
  • Visible aliasing on edges
  • Recommended for lower-end GPUs
"AntiAliasing": "None"

3. Scaling Filters

Improve upscaling quality when using resolution scaling:
Default - Simple linear interpolation
  • Fast and efficient
  • Slight blur at higher resolutions
  • Best performance
Adjust FSR sharpness with the filter level:
  • 1-40 - Softer image, more blur reduction
  • 40-60 - Balanced (default: 80)
  • 60-100 - Maximum sharpness, may over-sharpen
Higher FSR levels increase sharpness but may introduce visual artifacts. 80 is the recommended default.

4. Anisotropic Filtering (AF)

Improve texture quality at oblique angles:
Default - Let games decide
"MaxAnisotropy": -1.0
Uses game’s built-in anisotropic filtering settings.
Anisotropic filtering has minimal performance impact on modern GPUs. 16x is recommended for best texture quality.

5. Aspect Ratio Adjustment

Change the display aspect ratio:

Fixed 16:9

Default - Native Switch aspect ratioMaintains original 16:9 display.

Fixed 21:9

Ultrawide aspect ratioStretches image to fit ultrawide monitors. May cause distortion.

Fixed 16:10

16:10 aspect ratioFor 16:10 displays like some laptops.

Stretched

Fill entire windowStretches to window size, may distort image.
"AspectRatio": "Fixed16x9"
Changing aspect ratio from 16:9 may cause visual distortion or UI issues in some games.

6. Texture Recompression

Reduce VRAM usage by recompressing textures:
"EnableTextureRecompression": false
Enable if:
  • GPU has limited VRAM (4GB or less)
  • Experiencing out-of-memory errors
  • Game textures don’t fit in VRAM
Disable if:
  • GPU has ample VRAM (6GB+)
  • Want maximum texture quality
  • Experiencing texture quality issues
Texture recompression trades quality for VRAM savings. Only enable if necessary.

Advanced Graphics Settings

Backend Threading

Control GPU driver threading behavior:
Recommended - Automatic threading decision
"BackendThreading": "Auto"
Ryujinx determines optimal threading based on your system.
Changing backend threading settings can affect stability. Only change from Auto if experiencing specific issues.

Macro HLE (High-Level Emulation)

Emulate GPU macros at high level:
"EnableMacroHLE": true
  • Enabled (default): Better performance, high compatibility
  • Disabled: Accurate macro emulation, slower
Macro HLE is recommended for all users. Disabling it only helps with very specific compatibility issues.

Color Space Passthrough

macOS only - Enable HDR color space passthrough:
"EnableColorSpacePassthrough": false
Requires macOS and compatible display.

VSync Configuration

Control frame pacing and screen tearing:

VSync Modes

Default - Match Switch’s 60 FPS
"VSyncMode": "Switch"
  • Locked to 60 FPS
  • Smooth, consistent frame pacing
  • Prevents screen tearing
  • Recommended for most games

Custom VSync Interval

For high refresh rate displays:
1

Enable Custom VSync

Check Enable Custom VSync Interval
2

Set Frame Rate

Adjust the slider or enter a value:
  • 30 FPS - Half speed (50% slider)
  • 60 FPS - Normal speed (100% slider)
  • 90 FPS - 1.5x speed (150% slider)
  • 120 FPS - 2x speed (200% slider)
  • 144 FPS - 2.4x speed (240% slider)
Custom VSync intervals higher than 60 FPS will speed up game logic. This can cause physics issues, timing problems, and game instability.

Shader Dump Path

For debugging or development, dump compiled shaders:
"GraphicsShadersDumpPath": ""
Leave empty unless specifically debugging shader issues.

Performance Optimization Tips

1

Start with Recommended Settings

  • Backend: Vulkan
  • Resolution Scale: 2x
  • Anti-Aliasing: None or SMAA
  • Scaling Filter: FSR (level 80)
  • Anisotropic Filtering: 16x
  • Shader Cache: Enabled
  • VSync: Switch (60 FPS)
2

Adjust Based on Performance

If experiencing low FPS:
  • Reduce resolution scale to 1x
  • Disable anti-aliasing
  • Use bilinear scaling filter
  • Reduce anisotropic filtering
If experiencing stuttering:
  • Ensure shader cache is enabled
  • Let shaders build on first playthrough
  • Check if PPTC is enabled in System settings
3

Monitor GPU Usage

Use GPU monitoring tools to identify bottlenecks:
  • MSI Afterburner (Windows)
  • GPU-Z (Windows)
  • System Monitor (Linux)
  • Activity Monitor (macOS)

Graphics Debug Levels

For troubleshooting graphics issues:
"LoggingGraphicsDebugLevel": "None"
Levels:
  • None (default) - No debug output
  • Error - Only errors
  • Warning - Warnings and errors
  • All - Verbose logging (performance impact)
Graphics debug logging is for advanced troubleshooting only. Keep at “None” for normal use.

Troubleshooting Graphics Issues

Solutions:
  1. Switch graphics backend (Vulkan ↔ OpenGL)
  2. Update GPU drivers to latest version
  3. Verify GPU supports minimum requirements:
    • OpenGL 4.5+ or Vulkan 1.2+
  4. Check if GPU is selected correctly (multi-GPU systems)
  5. Disable any overlays (Discord, MSI Afterburner, etc.)
Performance optimization:
  1. Reduce resolution scale to 1x or 2x
  2. Disable anti-aliasing
  3. Ensure shader cache is enabled
  4. Enable PPTC in System settings
  5. Close background applications
  6. Use Vulkan backend if available
  7. Lower graphics settings in-game
Common causes:
  • Outdated GPU drivers
  • Incompatible backend threading
  • GPU overheating or instability
Solutions:
  1. Update GPU drivers
  2. Set backend threading to Auto
  3. Try different graphics backend
  4. Reduce GPU overclock if applicable
  5. Check GPU temperatures
  6. Enable/disable Macro HLE
Solutions:
  1. Ensure VSync is set to “Switch”
  2. Enable VSync in GPU driver settings
  3. Use windowed mode instead of fullscreen
  4. Enable FreeSync/G-Sync on compatible displays
Expected behavior:
  • First time playing a game will stutter as shaders compile
  • Shaders are cached after compilation
  • Subsequent runs will be smooth
To minimize:
  1. Keep shader cache enabled
  2. Play through stuttering areas once to build cache
  3. Consider downloading pre-compiled shader caches (user-shared)

Next Steps

Audio Settings

Configure audio backend and volume settings

Configuration

Adjust system and emulator settings

Input Configuration

Set up controllers and keyboard input

Troubleshooting

Diagnose and fix common issues

Build docs developers (and LLMs) love