Settings reference
Every emulator setting the app shows, with its name in the interface, TOML key, default, options, level and when each one takes effect.
This page is generated from the app's code in build 63: the settings schema, the interface catalog, the English strings and the default_config.toml template. It changes by itself when the app changes.
- Name: as it appears in the app.
- Key: the section and name in the configuration file, as in
[GPU] framerate_limit. The site search (/) finds a setting by its key. - Default: the value the app writes on first launch. When the
default_config.tomltemplate has the key, its value is used; otherwise, the one from the app's schema. - Level: Essential, Advanced or All (see levels).
| Group | Essential | Advanced | All | Total |
|---|---|---|---|---|
| Image | 9 | 10 | 3 | 22 |
| Performance | 2 | 10 | 9 | 21 |
| Audio | 1 | 2 | 7 | 10 |
| Controls | 4 | 1 | 1 | 6 |
| Compatibility | 0 | 6 | 35 | 41 |
| Driver and Vulkan | 1 | 0 | 18 | 19 |
| Console and system | 6 | 9 | 12 | 27 |
| Debugging | 1 | 0 | 26 | 27 |
Differences between versions #
The build 63 and the current main have the same settings.
Image #
22 settings · Essential 9, Advanced 10, All 3
Scaling & sharpening [Display] postprocess_scaling_and_sharpening
Upscaling filter for the final image, from plain bilinear to AMD CAS sharpening, FSR upscaling, Qualcomm SGSR (experimental), Lanczos (sharp, no halos) or a CRT look (scanlines and darker corners)
Default: Bilinear Level: Essential Applies at the next launch; can also change live from the in-game menu
Options: Bilinear · AMD CAS · FSR 1 · SGSR (beta) · Lanczos · CRT
Resolution scale, width (real) [GPU] draw_resolution_scale_x
The real resolution scale: renders the game at this multiple of its native width. Whole steps only, and it cannot go below 1x. Costs GPU time and memory
Default: 1x Level: Essential Applies at the next launch of the game
Options: 1x · 2x · 3x
Resolution scale, height (real) [GPU] draw_resolution_scale_y
The real resolution scale: renders the game at this multiple of its native height. Whole steps only, and it cannot go below 1x. Costs GPU time and memory
Default: 1x Level: Essential Applies at the next launch of the game
Options: 1x · 2x · 3x
Anisotropic filtering [GPU] anisotropic_override
Keeps textures sharp when seen at a slant (floors, roads, walls). "Game decides" leaves each texture as the game set it; 16x costs a little GPU bandwidth.
Default: Game decides Level: Essential Applies at the next launch of the game
Options: Game decides · Off · 1x · 2x · 4x · 8x · 16x
Antialiasing [Display] postprocess_antialiasing
Apply FXAA post-process anti-aliasing to smooth edges; recommended when CAS or FSR is active
Default: Off Level: Essential Applies at the next launch of the game
Options: Off · FXAA · FXAA extreme
Reduce color banding [Display] postprocess_dither
Adds a fine noise to the final image so gradients (skies, fog, menus) show no steps on 8-bit screens. Applies on the next game start; off on true 10-bit displays.
Default: On Level: Essential Applies at the next launch of the game
Present letterbox [Display] present_letterbox
Keep the game's aspect ratio by adding black bars instead of stretching to fill the screen
Default: On Level: Essential Applies at the next launch of the game
Widescreen [Console] widescreen
Reports a 16:9 display to games instead of 4:3, controlling their aspect ratio
Default: On Level: Essential Applies at the next launch of the game
Display mode reported to game [Console] internal_display_resolution
Not a scaler: it only tells the game what the TV is. Most titles render at a fixed size and ignore it, so the picture usually will not change. For higher detail use Resolution scale under GPU
Default: 1280x720 Level: Essential Applies at the next launch of the game
Options: 640x480 · 640x576 · 720x480 · 720x576 · 800x600 · 848x480 · 1024x768 · 1152x864 · 1280x720 · 1280x768 · 1280x960 · 1280x1024 · 1360x768 · 1440x900 · 1680x1050 · 1920x540 · 1920x1080 · Custom
Custom width [Video] internal_display_resolution_x new in the interface
Width reported to the game when the display mode is Custom. The core accepts 1 to 1920.
Default: 1,280 px Level: Advanced Applies at the next launch of the game Range: 1 to 1,920 px, in steps of 16
Only applies with “Display mode reported to game” set to Custom.
Custom height [Video] internal_display_resolution_y new in the interface
Height reported to the game when the display mode is Custom. The core accepts 1 to 1080.
Default: 720 px Level: Advanced Applies at the next launch of the game Range: 1 to 1,080 px, in steps of 8
Only applies with “Display mode reported to game” set to Custom.
Keep narrow surfaces at native size [GPU] draw_resolution_scale_threshold new in the interface
With the resolution scale above 1x, surfaces up to this width stay at native size. Bloom and depth of field often break when upscaled; use the smallest value that fixes the effect.
Default: Off Level: Advanced Applies at the next launch of the game
Options: Off · up to 80 px · up to 160 px · up to 320 px · up to 640 px
CAS: extra sharpness [Display] postprocess_ffx_cas_additional_sharpness
Extra sharpening on top of CAS (Scaling & sharpening: cas); higher is sharper and may show halos.
Default: 0.0 Level: Advanced Applies at the next launch of the game
Options: 0.0 · 0.25 · 0.5 · 0.75 · 1.0
Only applies with “Scaling & sharpening” set to AMD CAS.
FSR: sharpness reduction [Display] postprocess_ffx_fsr_sharpness_reduction
How much FSR softens its sharpening (Scaling & sharpening: fsr); 0 is the sharpest, 2 the softest.
Default: 0.2 Level: Advanced Applies at the next launch of the game
Options: 0.0 · 0.1 · 0.2 · 0.5 · 1.0 · 2.0
Only applies with “Scaling & sharpening” set to FSR 1.
FSR: upsampling passes [Display] postprocess_ffx_fsr_max_upsampling_passes new in the interface
How many times FSR may upscale in a row when the screen is much larger than the game. More passes cost GPU time.
Default: 4 Level: Advanced Applies at the next launch of the game Range: 1 to 4
Only applies with “Scaling & sharpening” set to FSR 1.
TV gamma curve [Kernel] kernel_display_gamma_type
Display gamma reported to games. BT.709 is the closest to an Xbox 360 on an HDTV
Default: BT.709 (HDTV) Level: Advanced Applies at the next launch of the game
Options: Linear · sRGB (CRT) · BT.709 (HDTV) · Custom power
Custom gamma [Kernel] kernel_display_gamma_power new in the interface
Gamma exponent used when the gamma type is power (custom). The core's default is 2.22.
Default: 2.22 Level: Advanced Applies at the next launch of the game
Options: 1.8 · 2.0 · 2.2 · 2.22 · 2.4 · 2.6 · 2.8
Only applies with “TV gamma curve” set to Custom power.
Keep at least this much of the width [Display] present_safe_area_x
When the picture would get bars at the sides or top, how much of its width must stay on screen; below 100 the edges may be cut instead of drawing bars.
Default: 90% Level: Advanced Applies at the next launch of the game Range: 50 to 100%
Keep at least this much of the height [Display] present_safe_area_y
When the picture would get bars at the top or sides, how much of its height must stay on screen; below 100 the edges may be cut instead of drawing bars.
Default: 90% Level: Advanced Applies at the next launch of the game Range: 50 to 100%
Draw resolution-scaled texture offsets [GPU] draw_resolution_scaled_texture_offsets
Scale texture fetch offsets with the resolution scale for more correct shadows and bloom
Default: On Level: All Applies at the next launch of the game
Resolve scale: fill half-pixel offset [GPU] resolve_resolution_scale_fill_half_pixel_offset
With resolution scaling, patch edge gaps from the half-pixel offset; some games need it to render
Default: On Level: All Applies at the next launch of the game
Present render-pass clear [Display] present_render_pass_clear
Clear the whole screen via the render pass instead of separate clears of the letterbox bars
Default: On Level: All Applies at the next launch of the game
Performance #
21 settings · Essential 2, Advanced 10, All 9
Frame rate limit [GPU] framerate_limit
Caps how many frames the emulator presents per second. The console never went above 60, so frames beyond your screen's refresh are just heat and battery. Unlimited lets it run as fast as it can
Default: Unlimited Level: Essential Applies at the next launch; can also change live from the in-game menu
Options: 60 FPS · 30 FPS · 45 FPS · 90 FPS · 120 FPS · Unlimited
Cap guest display refresh (VSync) [GPU] guest_display_refresh_cap
Cap vblanks at the console's 50/60Hz rate; off lets the game run as fast as possible
Default: On Level: Essential Applies at the next launch of the game
Asynchronous shader compilation [GPU] async_shader_compilation
Creates shaders and pipelines on background threads: no stutter while a scene is new, but its first frames may miss an object. Off creates them on the spot: stutter, nothing missing.
Default: On Level: Advanced Applies at the next launch of the game
Interpret vertex shaders while they compile [GPU] async_shader_vs_interpreter new in the interface
Draws new vertex shaders with the interpreter until their compiled version is ready, instead of stalling on the translation.
Default: On Level: Advanced Applies at the next launch of the game
Only applies with “Asynchronous shader compilation” set to On.
Skip draws until the shader is ready [GPU] async_shader_skip_draws new in the interface
Skips draws whose shader cannot be used yet (tessellation, for one) until it compiles in the background. Avoids stutter; the geometry shows up a few frames later.
Default: On Level: Advanced Applies at the next launch of the game
Create stored pipelines when a game starts [GPU] pipeline_storage_precreate new in the interface
Creates, when a game starts, the pipelines earlier sessions used, so they do not compile mid-game. Off still reuses the stored shaders.
Default: On Level: Advanced Applies at the next launch of the game
Store shaders [GPU] store_shaders
Keeps translated shaders and loads them when the game starts again, so a second session stutters less
Default: On Level: Advanced Applies at the next launch of the game
Precise game waits [Kernel] precise_guest_delays new in the interface
Serves the game's waits with sub-millisecond accuracy. A plain system sleep overshoots and lengthens every frame.
Default: On Level: Advanced Applies at the next launch of the game
Audio performance hint (ADPF) [APU] apu_performance_hint new in the interface
Registers an ADPF performance hint session over the dispatch and audio threads so the system holds clocks for the audio deadline.
Default: On Level: Advanced Applies at the next launch of the game
Force maximum GPU clocks [Vulkan] adrenotools_force_max_clocks
Force the GPU to its maximum clocks via the custom driver; more speed, more heat and battery drain.
Default: Off Level: Advanced Applies at the next launch of the game
Request maximum clocks again every [Vulkan] adrenotools_turbo_reassert_seconds new in the interface
The max-clocks request is lost when the app leaves the foreground; this asks again every this many seconds after resuming. 0 asks only at start. Needs Force max GPU clocks.
Default: 5 s Level: Advanced Applies at the next launch of the game Range: 0 to 30 s
Only applies with “Force maximum GPU clocks” set to On.
Only with Force maximum GPU clocks on.
Pipeline creation threads [Vulkan] vulkan_pipeline_creation_threads
Threads that create pipelines in the background. 0 creates them on the spot
Default: 4 Level: Advanced Applies at the next launch of the game Range: 0 to 5
Submit to the GPU every N draws [GPU] vulkan_mid_frame_submission_draws
Submit GPU work after this many draws instead of once per frame; 0 off, too low hurts tiled GPUs.
Default: 1,300 Level: All Applies at the next launch of the game Range: 0 to 4,096, in steps of 50
Game scheduler (cooperative fibers) [Kernel] guest_scheduler
Run guest threads as cooperative fibers on a few host threads instead of one thread each; takes effect next launch.
Default: On Level: All Applies at the next launch of the game
Guest scheduler quantum (us) [Kernel] guest_scheduler_quantum_us
How long a guest thread runs before yielding to another; lower is fairer but switches more often
Default: 1,000 µs Level: All Applies at the next launch of the game Range: 250 to 8,000 µs, in steps of 250
Only applies with “Game scheduler (cooperative fibers)” set to On.
Texture cache soft limit (MB) [GPU] texture_cache_memory_limit_soft
Texture cache size in MB above which old unused textures start being evicted
Default: 384 MB Level: All Applies at the next launch of the game Range: 384 to 4,096 MB, in steps of 64
Texture cache hard limit (MB) [GPU] texture_cache_memory_limit_hard
Host texture memory cap in MB; textures above it are destroyed as soon as possible
Default: 768 MB Level: All Applies at the next launch of the game Range: 512 to 4,096 MB, in steps of 64
GPU stall spin iterations [GPU] gpu_stall_spin_iterations
How long the graphics thread busy-waits for the game to send more work before going to sleep. Lower frees up a CPU core and cuts heat; too low can add a little latency to each batch of drawing. 0 sleeps immediately
Default: 32 Level: All Applies at the next launch of the game Range: 0 to 512
Ignore thread affinities [Kernel] ignore_thread_affinities
Ignores game-requested CPU core pinning and lets the host schedule threads freely
Default: On Level: All Applies at the next launch of the game
Ignore thread priorities [Kernel] ignore_thread_priorities
Ignores game-requested thread priorities and lets the host schedule threads normally
Default: On Level: All Applies at the next launch of the game
Time scalar [General] time_scalar
Speeds up or slows down guest time (1 = normal, 2 = double speed, 0.5 = half)
Default: 1 Level: All Applies at the next launch of the game Range: 1 to 8
Audio #
10 settings · Essential 1, Advanced 2, All 7
Volume [APU] volume new in the interface
Volume of all audio output. The in-game menu still changes it live; this is the starting value.
Default: 100% Level: Essential Applies at the next launch; can also change live from the in-game menu Range: 0 to 100%, in steps of 5
Audio buffer depth [APU] apu_aaudio_buffer_bursts
How much audio the device buffers ahead. Lower means less audio delay; too low and audio breaks up on slower devices.
Default: 4 Level: Advanced Applies at the next launch of the game Range: 2 to 8
Adaptive audio buffer [APU] apu_aaudio_adaptive_buffer
After audio breaks up, buffer one step more (up to three times the depth above); after 30 s without a break, one step less. Fewer dropouts in slow scenes, the chosen delay otherwise.
Default: Off Level: Advanced Applies at the next launch of the game
APU backend [APU] apu
Audio output backend to use (AAudio, OpenSL ES, or no audio)
Default: aaudio Level: All Applies at the next launch of the game
Options: nop · aaudio · opensles
XMA decoder [APU] xma_decoder
Which XMA audio decoder to use, trading stability against legacy Xenia behavior.
Default: new Level: All Applies at the next launch of the game
Options: new · old · master · fake
Use dedicated XMA thread [APU] use_dedicated_xma_thread
Decodes XMA audio on its own thread; disabling may sound better but costs performance
Default: On Level: All Applies at the next launch of the game
Max queued frames [APU] apu_max_queued_frames
Max buffered audio frames (4-64); lower cuts audio delay but may cause stutter
Default: 8 Level: All Applies at the next launch of the game Range: 4 to 64
Audio pump top-up [APU] apu_pump_topup
Keep the audio buffer full by submitting ahead; turn off if a game's audio distorts
Default: On Level: All Applies at the next launch of the game
Enable XMP [APU] enable_xmp
Enables Xbox 360 Music Player playback
Default: On Level: All Applies at the next launch of the game
XMP default volume [Console] xmp_default_volume
Default music player volume (0-100) used when the game doesn't set one
Default: 70% Level: All Applies at the next launch of the game Range: 0 to 100%, in steps of 5
Controls #
6 settings · Essential 4, Advanced 1, All 1
Show on-screen controller [HID] show_touch_overlay
Draw the on-screen controller while playing. Starts off when a physical controller was attached on first launch, on when none was. While on, a controller playing P1 puts it aside until it disconnects (touch layout option)
Default: On Level: Essential Applies at the next launch; can also change live from the in-game menu
Controller vibration [HID] vibration new in the interface
Turns the vibration a game asks for on or off.
Default: On Level: Essential Applies at the next launch of the game
Left stick dead zone [HID] left_stick_deadzone_percentage
Ignores small movements of the left stick, for a controller whose stick drifts. It adds to the small dead zone the app already applies.
Default: Off Level: Essential Applies at the next launch of the game
Options: Off · 5% · 10% · 15% · 20% · 25% · 30%
Right stick dead zone [HID] right_stick_deadzone_percentage
Ignores small movements of the right stick, for a controller whose stick drifts. It adds to the small dead zone the app already applies.
Default: Off Level: Essential Applies at the next launch of the game
Options: Off · 5% · 10% · 15% · 20% · 25% · 30%
Send the Guide button to the game [HID] guide_button new in the interface
Forwards Guide button presses to the game.
Default: On Level: Advanced Applies at the next launch of the game
HID backend [HID] hid
Input backend used for controllers; 'any' picks the first one available
Default: android Level: All Applies at the next launch of the game
Options: android · nop
Compatibility #
41 settings · Essential 0, Advanced 6, All 35
Refresh memory page state [GPU] clear_memory_page_state
Makes GPU writes the game reads back visible. Fixes missing models in Team Ninja games. Costs a pass per frame: use it per game
Default: Off Level: Advanced Applies at the next launch of the game
Convert float24 depth in the pixel shader [GPU] depth_float24_convert_in_pixel_shader
Avoids GPU hangs (device lost) on Adreno with Turnip in some games, such as Ninja Gaiden II
Default: Off Level: Advanced Applies at the next launch of the game
Occlusion query [GPU] occlusion_query
How visibility queries (lens flares, culling, auto-exposure) are answered: faked, async, or exact.
Default: Fast Level: Advanced Applies at the next launch of the game
Options: Simulated · Fast · Fast, precise zeros · Strict
Wait for resolve readbacks [GPU] readback_resolve_sync new in the interface
Waits for the GPU after each copy to the game's memory so it is coherent in the same frame. Off copies without waiting.
Default: On Level: Advanced Applies at the next launch of the game
Precise interpolation [GPU] precise_interpolation new in the interface
Interpolates pixel shader inputs exactly as the console does. Fixes noise in games such as Perfect Dark and Tenchu Z. Needs barycentrics in the driver (VK_KHR_fragment_shader_barycentric).
Default: On Level: Advanced Applies at the next launch of the game
Needs barycentrics in the driver (VK_KHR_fragment_shader_barycentric).
Decal depth in the shader [GPU] depth_bias_shader_offset new in the interface
Avoids Z-fighting in games that rely on tiny depth bias values. Small cost.
Default: Off Level: Advanced Applies at the next launch of the game
CPU readback of resolves [GPU] readback_resolve
Which resolves are copied back to guest RAM; UMA reads mapped memory directly and is the only mode that works on Adreno.
Default: UMA (direct) Level: All Applies at the next launch of the game
Options: UMA (direct) · Fast · All · Off
Memory export visible to the CPU [GPU] memexport_enable new in the interface
Makes memory export output visible to the CPU, for games that read back what the GPU exported. No effect on Turnip, which lacks VK_EXT_external_memory_host.
Default: Off Level: All Applies at the next launch of the game
No effect on Turnip: it lacks VK_EXT_external_memory_host.
Reverse depth straight to the driver [Vulkan] vulkan_allow_reverse_z new in the interface
Passes reverse depth ranges (inverse-Z) directly to the driver. Turn off if the driver draws them wrong.
Default: On Level: All Applies at the next launch of the game
Stack multiplier (hack) [Kernel] stack_size_multiplier_hack new in the interface
Hack for games with setjmp/longjmp problems.
Default: 1× Level: All Applies at the next launch of the game Range: 1 to 8×
Shorten counted waits [CPU] collapse_memory_delay_spins
Skips the real time of the game's wait loops. Turn off for a game that depends on that time
Default: On Level: All Applies at the next launch of the game
Depth float24 round [GPU] depth_float24_round
Round to nearest instead of truncating when converting depth to 24-bit float; off is recommended
Default: Off Level: All Applies at the next launch of the game
Depth transfer not-equal test [GPU] depth_transfer_not_equal_test
Skip rewriting unchanged depth during depth transfers to keep depth compression effective
Default: On Level: All Applies at the next launch of the game
Half-pixel offset [GPU] half_pixel_offset
Emulate the console's half-pixel offset; correct for most games, off may fix slight UI blur in a few
Default: On Level: All Applies at the next launch of the game
Native 2x MSAA [GPU] native_2x_msaa
Use the GPU's real 2x MSAA when available instead of emulating it with 4x samples
Default: On Level: All Applies at the next launch of the game
Render target path [GPU] render_target_path
Render target emulation path: fast fixed-function or slower pixel-exact software blending
Default: performance Level: All Applies at the next launch of the game
Options: performance · accuracy
snorm16 render target full range [GPU] snorm16_render_target_full_range
Remap 16-bit render targets to keep their full value range at some cost to blending correctness
Default: On Level: All Applies at the next launch of the game
Non-seamless cube map [GPU] non_seamless_cube_map
Skip filtering across cube map face edges where possible to match Direct3D 9 behavior
Default: On Level: All Applies at the next launch of the game
Accuracy: per-axis gradient LOD bias [GPU] texture_gradient_exp_bias
Honor per-axis mipmap bias when sampling; more accurate but adds shader cost to every gradient texture fetch
Default: Off Level: All Applies at the next launch of the game
Accuracy: integer num_format texture scaling [GPU] texture_integer_num_format
Rescale integer-format textures to guest units; more accurate but adds shader cost to every affected texture fetch
Default: Off Level: All Applies at the next launch of the game
Accuracy: resolve number formats and gamma [GPU] accurate_resolve_number_formats
Handle signed/integer resolve destinations and gamma-decode 8_8_8_8_GAMMA sources; a few titles need it, but it enlarges every full resolve shader and costs significant frame rate on mobile GPUs
Default: Off Level: All Applies at the next launch of the game
Accuracy: full-resolve destination packing [GPU] resolve_copy_dest_number_packing
Packs full-resolve destinations by copy_dest_number instead of assuming an unsigned fraction; only has an effect with accurate resolve number formats on
Default: Off Level: All Applies at the next launch of the game
MRT EDRAM used-range clamp to min [GPU] mrt_edram_used_range_clamp_to_min
With multiple render targets, estimate EDRAM writes conservatively to reduce copying between them
Default: On Level: All Applies at the next launch of the game
Allow invalid fetch constants [GPU] gpu_allow_invalid_fetch_constants
Tolerate invalid texture/vertex fetch constants instead of failing; works around errors in some games
Default: On Level: All Applies at the next launch of the game
Convert quad lists to triangle lists [GPU] force_convert_quad_lists_to_triangle_lists
Always convert quad lists to triangles on the CPU even when the GPU can draw them natively
Default: Off Level: All Applies at the next launch of the game
Convert triangle fans to lists [GPU] force_convert_triangle_fans_to_lists
Always convert triangle fans to triangle lists on the CPU even when the GPU supports fans
Default: Off Level: All Applies at the next launch of the game
Unclipped draw VS on CPU [GPU] execute_unclipped_draw_vs_on_cpu
Run unclipped draws' vertex shaders on the CPU to estimate EDRAM use; faster and avoids corruption
Default: On Level: All Applies at the next launch of the game
Unclipped draw VS on CPU (scissor) [GPU] execute_unclipped_draw_vs_on_cpu_with_scissor
Run CPU vertex-shader extent estimation even on scissored unclipped draws; may add CPU cost
Default: Off Level: All Applies at the next launch of the game
Unclipped draw VS on CPU (PSI backend) [GPU] execute_unclipped_draw_vs_on_cpu_for_psi_render_backend
Also apply CPU vertex-shader extent estimation with the pixel shader interlock backend; fewer barriers
Default: On Level: All Applies at the next launch of the game
value_convert_7e3_8888_reuse [GPU] value_convert_7e3_8888_reuse
Decode HDR EDRAM tiles reused as 8-bit color before blending, avoiding garbage-colored backgrounds
Default: On Level: All Applies at the next launch of the game
Inline MMIO access [CPU] inline_mmio_access
Inlines constant-address hardware (MMIO) loads and stores into compiled code for speed
Default: On Level: All Applies at the next launch of the game
Disable context promotion [CPU] disable_context_promotion
Turns off a CPU optimization that some sports games depend on being absent; fixes them at a cost to performance. Takes effect next time a game starts
Default: Off Level: All Applies at the next launch of the game
Store all context values [CPU] store_all_context_values
Keeps dead register stores in JIT output to aid debugging, at a performance cost
Default: Off Level: All Applies at the next launch of the game
Clock no scaling [CPU] clock_no_scaling
Bypasses guest clock scaling and pulls time straight from the host; ignores time scalar
Default: Off Level: All Applies at the next launch of the game
Clock source raw [CPU] clock_source_raw
Uses the raw CPU counter (CNTVCT) as the time source instead of OS clock calls
Default: Off Level: All Applies at the next launch of the game
mmap address high [Memory] mmap_address_high
High address slot (1-124, in 4GB steps) for guest memory; change if mappings collide and crash
Default: 8 Level: All Applies at the next launch of the game Range: 2 to 63
Protect zero page [Memory] protect_zero
Blocks reads and writes to the zero page so null-pointer accesses fault instead of corrupting
Default: On Level: All Applies at the next launch of the game
Protect on release [Memory] protect_on_release
Locks freed memory so any later access faults, catching use-after-free bugs
Default: Off Level: All Applies at the next launch of the game
Scribble heap [Memory] scribble_heap
Fills newly allocated heap memory with a junk value to expose uninitialized-memory bugs
Default: Off Level: All Applies at the next launch of the game
Writable executable memory [Memory] writable_executable_memory
Allows memory that is both writable and executable, mimicking platforms that permit it
Default: On Level: All Applies at the next launch of the game
Ignore offset for ranged allocations [Memory] ignore_offset_for_ranged_allocations
Drops the 4K offset on ranged physical allocations; some games require the exact lower address
Default: Off Level: All Applies at the next launch of the game
Driver and Vulkan #
19 settings · Essential 1, Advanced 0, All 18
Custom Vulkan driver [Vulkan] vulkan_lib_path
Path to a custom Vulkan driver library (e.g. Turnip) to load instead of the system driver
Level: Essential Applies an action, runs right away
Turnip debug mode [Vulkan] turnip_debug
Comma-separated TU_DEBUG flags for the Turnip driver; e.g. sysmem disables tiled rendering (Turnip only).
Default: sysmem Level: All Applies at the next launch of the game
Options: (none) · sysmem · sysmem, nolrz · sysmem, noubwc
Dynamic rendering [Vulkan] vulkan_dynamic_rendering new in the interface
Uses VK_KHR_dynamic_rendering instead of traditional render passes. May improve or worsen performance depending on the driver.
Default: On Level: All Applies at the next launch of the game
Avoid geometry shaders [Vulkan] vulkan_avoid_geometry_shaders new in the interface
On tile-based GPUs (Adreno/Turnip), routes point sprites and quad lists through cheaper paths. Read when the GPU starts.
Default: On Level: All Applies at the next launch of the game
Native D24 depth [Vulkan] vulkan_depth_unorm24 new in the interface
Uses the D24_UNORM_S8_UINT format when the driver supports it. Off forces the float32 emulation, as on Adreno's own driver.
Default: On Level: All Applies at the next launch of the game
Extended dynamic state [Vulkan] vulkan_dynamic_pipeline_state
Use dynamic state for cull/depth/blend to cut pipeline permutations and shader-compile stutter
Default: On Level: All Applies at the next launch of the game
Async skip draws [Vulkan] vulkan_async_skip_draws
Drop draws whose shaders are still compiling instead of waiting; brief pop-in instead of stutter
Default: On Level: All Applies at the next launch of the game
Placeholder pipelines [Vulkan] vulkan_placeholder_pipelines
Render a stand-in shader while the real one compiles, instead of skipping the draw until it is ready
Default: Off Level: All Applies at the next launch of the game
Allow present mode: immediate [Vulkan] vulkan_allow_present_mode_immediate
Allow immediate presentation for lowest latency, at the cost of possible tearing
Default: On Level: All Applies at the next launch of the game
Allow present mode: mailbox [Vulkan] vulkan_allow_present_mode_mailbox
Allow mailbox presentation, giving low latency without tearing when the driver supports it. Off by default: on HyperOS the image could freeze after minutes of play with it
Default: Off Level: All Applies at the next launch of the game
Allow present mode: FIFO relaxed [Vulkan] vulkan_allow_present_mode_fifo_relaxed
Allow relaxed vsync presentation, which may tear when frames miss the display refresh rate
Default: On Level: All Applies at the next launch of the game
In-pass EDRAM resolve [Vulkan] vulkan_in_pass_resolve
Resolve EDRAM copies inside the render pass on tiled GPUs, avoiding a pass break per resolve
Default: On Level: All Applies at the next launch of the game
Resolve-to-texture: store [Vulkan] vulkan_resolve_to_texture
Have in-pass resolves write the destination texture directly; needs the promote toggle, pairs with skip upload
Default: On Level: All Applies at the next launch of the game
Resolve-to-texture: promote [Vulkan] vulkan_resolve_to_texture_promote
Allocate resolve-target textures so a resolve can write them directly; costs framebuffer compression on those textures
Default: On Level: All Applies at the next launch of the game
Resolve-to-texture: skip upload [Vulkan] vulkan_resolve_to_texture_serve
Skip re-uploading textures an in-pass resolve already filled this frame; this is where the round-trip traffic disappears
Default: On Level: All Applies at the next launch of the game
Cache texture descriptors [Vulkan] vulkan_cache_texture_descriptors
Reuse texture/sampler descriptor sets across unchanged draws; disable to debug texture corruption
Default: On Level: All Applies at the next launch of the game
Texture descriptor gate: edge (off = hash) [Vulkan] vulkan_texture_descriptor_reuse_edge
Use upstream's descriptor reuse check instead of the content-hash one, for A/B comparison
Default: Off Level: All Applies at the next launch of the game
Only applies with “Cache texture descriptors” set to On.
GPU backend [GPU] gpu
Graphics backend to use for rendering (Vulkan or null)
Default: vulkan Level: All Applies at the next launch of the game
Options: vulkan · null
Console and system #
27 settings · Essential 6, Advanced 9, All 12
User language [Console] user_language
Console language ID reported to games (1=English, 2=Japanese, 3=German, …)
Default: English Level: Essential Applies at the next launch of the game
Options: English · Japanese · German · French · Spanish · Italian · Korean · Chinese · Portuguese · Polish · Russian · Swedish · Turkish · Norwegian Bokmål · Dutch · Chinese
User country [Console] user_country
Console country/region ID reported to games
Default: United States Level: Essential Applies at the next launch of the game
Options: United Arab Emirates · Albania · Armenia · Argentina · Austria · Australia · Azerbaijan · Belgium · Bulgaria · Bahrain · Brunei · Bolivia · Brazil · Belarus · Belize · Canada · Switzerland · Chile · China · Colombia · Costa Rica · Czechia · Germany · Denmark · Dominican Republic · Algeria · Ecuador · Estonia · Egypt · Spain · Finland · Faroe Islands · France · United Kingdom · Georgia · Greece · Guatemala · Hong Kong SAR China · Honduras · Croatia · Hungary · Indonesia · Ireland · Israel · India · Iraq · Iran · Iceland · Italy · Jamaica · Jordan · Japan · Kenya · Kyrgyzstan · South Korea · Kuwait · Kazakhstan · Lebanon · Liechtenstein · Lithuania · Luxembourg · Latvia · Libya · Morocco · Monaco · North Macedonia · Mongolia · Macao SAR China · Maldives · Mexico · Malaysia · Nicaragua · Netherlands · Norway · New Zealand · Oman · Panama · Peru · Philippines · Pakistan · Poland · Puerto Rico · Portugal · Paraguay · Qatar · Romania · Russia · Saudi Arabia · Sweden · Singapore · Slovenia · Slovakia · El Salvador · Syria · Thailand · Tunisia · Türkiye · Trinidad & Tobago · Taiwan · Ukraine · United States · Uruguay · Uzbekistan · Venezuela · Vietnam · Yemen · South Africa
Apply patches [General] apply_patches
Applies user patch files to games when they load
Default: On Level: Essential Applies at the next launch of the game
Android keyboard for game text input [UI] android_soft_keyboard
Pops up the Android keyboard when a game asks you to type (gamertags, save names). With this off the game is answered with its own default text
Default: On Level: Essential Applies at the next launch of the game
Android dialog for game message boxes [UI] android_message_box
Shows a game's own prompts (Xbox LIVE sign-in, save confirmations) as a dialog you answer. With this off the game is answered with whichever button it pre-selected
Default: On Level: Essential Applies at the next launch of the game
Show achievement notification [UI] show_achievement_notification
Shows a pop-up notification on screen when you unlock an achievement
Default: On Level: Essential Applies at the next launch of the game
Achievement where the game asks [UI] achievement_notification_position_by_game new in the interface
Off, the achievement notification always shows at the bottom centre.
Default: Off Level: Advanced Applies at the next launch of the game
Executable to launch [General] launch_module new in the interface
Executable on the disc or package to launch instead of default.xex. Blank uses the default.
Default: empty Level: Advanced Applies at the next launch of the game
Mount memory unit (MU) [Storage] mount_memory_unit new in the interface
Mounts a memory unit (MU) like the console's.
Default: Off Level: Advanced Applies at the next launch of the game
Apply title updates [Kernel] apply_title_update
Applies installed title updates when launching a game.
Default: On Level: Advanced Applies at the next launch of the game
Allow incompatible title updates [Kernel] allow_incompatible_title_update
Applies title updates even when their signature doesn't match the game.
Default: On Level: Advanced Applies at the next launch of the game
Networking [Kernel] network_enabled
Lets games see a network connection
Default: On Level: Advanced Applies at the next launch of the game
License mask [Content] license_mask
Which content licenses games see as owned: none, the first, or all (unlocks full versions of arcade games)
Default: disable Level: Advanced Applies at the next launch of the game
Options: disable · first · all
Video standard [Console] video_standard
Video signal standard the console reports (NTSC, NTSC-J, or PAL); can affect region behavior.
Default: NTSC Level: Advanced Applies at the next launch of the game
Options: NTSC · NTSC-J · PAL-60
50 Hz mode [Console] use_50Hz_mode
Runs PAL games in 50Hz (PAL-50) mode instead of 60Hz.
Default: Off Level: Advanced Applies at the next launch of the game
Console type [Kernel] console_type new in the interface
Console type reported to the game.
Default: Retail Level: All Applies at the next launch of the game
Options: Retail · Development kit · Test kit
Extra command line for the game [Kernel] cl new in the interface
Arguments handed to the game when it starts.
Default: empty Level: All Applies at the next launch of the game
End when a game thread crashes [General] guest_crash_is_fatal new in the interface
Writes a full report and ends the game, instead of leaving the thread stopped (which looks like a hang). Turn off only to inspect.
Default: On Level: All Applies at the next launch of the game
AV pack [Video] avpack
Emulated AV cable/connection type reported to games (component, SCART, HDMI, VGA, etc.)
Default: HDMI Level: All Applies at the next launch of the game
Options: PAL-60 Component (SD) · Unused · PAL-60 SCART · 480p Component (HD) · HDMI+A · PAL-60 Composite/S-Video · VGA · TV PAL-60 · HDMI
Interlaced [Video] interlaced
Reports an interlaced video mode to games instead of progressive scan
Default: Off Level: All Applies at the next launch of the game
Enable 3D mode [Video] enable_3d_mode
Lets titles enable stereoscopic 3D output if they support it
Default: Off Level: All Applies at the next launch of the game
Storage selection dialog [UI] storage_selection_dialog
Shows a storage device picker when a game asks; off auto-selects a device
Default: Off Level: All Applies at the next launch of the game
Headless [UI] headless
Suppresses in-game system dialogs, answering prompts automatically with defaults. Text-entry prompts are exempt while the Android keyboard setting is on
Default: On Level: All Applies at the next launch of the game
Mount scratch [Storage] mount_scratch
Mounts the scratch: drive some games use for temporary files
Default: Off Level: All Applies at the next launch of the game
Mount cache [Storage] mount_cache
Mounts the cache: drive games use for cached data; some titles need it to run properly
Default: Off Level: All Applies at the next launch of the game
Allow plugins [General] allow_plugins
Allows loading homebrew plugin/trainer XEX modules per title; experimental
Default: Off Level: All Applies at the next launch of the game
Staging mode [Kernel] staging_mode
Runs dashboards in staging/preview mode so they render extra debug information
Default: Off Level: All Applies at the next launch of the game
Debugging #
27 settings · Essential 1, Advanced 0, All 26
Export session logs to Downloads [Logging] dump_session_logs
Exports this session's emulator log and logcat as a zip to Downloads
Level: Essential Applies an action, runs right away
Log level [Logging] log_level
Maximum log verbosity: 0 errors, 1 warnings, 2 info, 3 debug.
Default: Info Level: All Applies at the next launch of the game
Options: Error · Warning · Info · Debug
Log filter [Logging] log_mask
Which subsystems write to the log: everything, only one (GPU, audio, kernel or CPU), or all but one. Lines with no subsystem always stay; takes effect at the next start.
Default: Everything Level: All Applies at the next launch of the game
Options: Everything · GPU only · Audio only · Kernel only · CPU only · All but the kernel · All but the GPU
Debug overlay [Display] show_debug_overlay
Show an on-screen overlay with FPS, frame times, and in-flight shader compiles.
Default: Off Level: All Applies at the next launch of the game
Log sessions to keep [Logging] log_sessions_keep
How many past sessions' log zips to keep in the logs folder before old ones are rotated out.
Default: 4 Level: All Applies at the next launch of the game Range: 1 to 16
Flush log [Logging] flush_log
Flushes the log file after each batch of lines; keeps crash logs intact but slightly slower
Default: On Level: All Applies at the next launch of the game
Log string-format kernel calls [Logging] log_string_format_kernel_calls
Logs guest calls to kernel string formatters like sprintf
Default: Off Level: All Applies at the next launch of the game
Log high-frequency kernel calls [Logging] log_high_frequency_kernel_calls
Logs even very frequent kernel calls; extremely verbose and slows things down
Default: Off Level: All Applies at the next launch of the game
Log debug messages [Vulkan] vulkan_log_debug_messages
Write Vulkan debug-utils messages to the emulator log instead of the system debug output
Default: Off Level: All Applies at the next launch of the game
Validation layers [Vulkan] vulkan_validation
Vulkan validation level: off, standard, +synchronization, +GPU-assisted; higher catches more bugs but is much slower
Default: Off Level: All Applies at the next launch of the game
RenderDoc capture layer [Vulkan] vulkan_renderdoc_capture
Load the RenderDoc capture layer so frames can be captured by attaching from qrenderdoc
Default: Off Level: All Applies at the next launch of the game
Log ringbuffer kickoff initiator BTs [GPU] log_ringbuffer_kickoff_initiator_bts
Log a pseudo-stacktrace of the guest thread that kicked off the ringbuffer (debug builds only)
Default: Off Level: All Applies at the next launch of the game
Log guest-driven GPU register writes [GPU] log_guest_driven_gpu_register_written_values
Log every GPU register write made by the guest (debug builds only)
Default: Off Level: All Applies at the next launch of the game
Trace GPU stream [GPU] trace_gpu_stream
Trace all GPU command packets for debugging; very slow
Default: Off Level: All Applies at the next launch of the game
Guest scheduler stats logging [Kernel] guest_scheduler_stats
Log scheduler counters once a second; use to check re-poll rate and I/O queueing when diagnosing stalls
Default: Off Level: All Applies at the next launch of the game
Kernel PIX [Kernel] kernel_pix
Exposes the PIX GPU profiler interface to the game for debug captures
Default: Off Level: All Applies at the next launch of the game
Kernel cert monitor [Kernel] kernel_cert_monitor
Reports the certification monitor as present to the game (debug/testing feature)
Default: Off Level: All Applies at the next launch of the game
Kernel debug monitor [Kernel] kernel_debug_monitor
Reports a debug monitor (remote debugger) as attached to the game
Default: Off Level: All Applies at the next launch of the game
Validate HIR [CPU] validate_hir
Runs extra validation on the JIT's intermediate code during compilation; slow, for debugging
Default: Off Level: All Applies at the next launch of the game
Trace function references [CPU] trace_function_references
Records function address references during JIT compilation for developer analysis
Default: Off Level: All Applies at the next launch of the game
Trace function coverage [CPU] trace_function_coverage
Records per-instruction coverage statistics for compiled functions; developer debugging aid
Default: Off Level: All Applies at the next launch of the game
Break condition truncate [CPU] break_condition_truncate
Truncates the conditional-breakpoint register value to 32 bits before comparing
Default: On Level: All Applies at the next launch of the game
Break on unimplemented instructions [CPU] break_on_unimplemented_instructions
Breaks into the debugger (or crashes) when an unimplemented PowerPC instruction is hit
Default: On Level: All Applies at the next launch of the game
Break on start [CPU] break_on_start
Breaks into the debugger as soon as the emulator starts
Default: Off Level: All Applies at the next launch of the game
Log delay-collapse rejects [CPU] log_delay_collapse_rejects
Logs each delay loop that the collapse looked at and turned down, with the reason. Diagnostic aid for working out why a game sees no benefit; noisy while a game is loading
Default: Off Level: All Applies at the next launch of the game
Record safepoint addresses (wedge diagnosis) [CPU] log_safepoint_pc
Records where each guest thread last reached a yield point, so a freeze report can say where a stuck thread actually is instead of only where it last called from. Slows the emulator slightly; turn on only when chasing a freeze
Default: Off Level: All Applies at the next launch of the game
FFmpeg verbose [APU] ffmpeg_verbose
Enables verbose FFmpeg output in the log for audio decoding
Default: Off Level: All Applies at the next launch of the game