Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/azahar-emu/azahar/llms.txt

Use this file to discover all available pages before exploring further.

Azahar’s graphics settings let you choose between different rendering APIs, scale the internal resolution above the 3DS’s native 400×240 display, and apply post-processing effects or texture filters. The right combination depends on your GPU, operating system, and the games you want to run. Start with the defaults and adjust from there once you know where your system bottlenecks.

Graphics API

Open Emulation → Configure → Graphics to reach the API Settings section.
OpenGL is the most compatible option and works on nearly all desktop GPUs. It requires OpenGL 4.3 or later. Use OpenGL if Vulkan causes crashes or graphical corruption on your system, or if you are on macOS (where Vulkan support is limited).Under OpenGL you can also enable SPIR-V shader generation, which compiles shaders to SPIR-V intermediate representation. When using this path you can optionally enable Disable GLSL → SPIR-V optimizer to reduce shader compilation stutter at minimal performance cost.
OpenGL requires version 4.3 or later. Vulkan requires version 1.1 or later. Azahar will warn you at startup if your driver does not meet the minimum requirement.

Renderer options

The Renderer section controls how shaders are compiled and executed.
Uses your GPU to accelerate shader emulation instead of the CPU. This is enabled by default and should stay on unless you encounter rendering bugs that disappear with it disabled. Requires a reasonably powerful GPU.When hardware shaders are on, you can also enable Accurate multiplication, which correctly handles edge cases in shader multiply operations. Some games require this to render properly. It reduces performance slightly, so enable it only when needed.
When hardware shaders are off, this option uses a just-in-time compiler for software shader emulation instead of the interpreter. Keep it enabled for better CPU-side performance.
Compiles shaders on background threads to avoid hitching when new shaders are encountered mid-game. You may see brief graphical glitches while shaders compile, but gameplay continues uninterrupted.
Saves compiled shaders to disk so they do not need to be recompiled on the next launch. Reduces first-run stutter significantly.

Advanced settings

Overrides the sampling filter the game requests when drawing textures. Options are:
  • Application Controlled — honours the game’s own filter setting (recommended default)
  • Nearest Neighbor — sharp, pixel-art look; may cause shimmer at higher resolutions
  • Linear — smooth interpolation between pixels
Change this only when upscaling reveals unwanted artefacts.
Prevents screen tearing by synchronising frame output to your monitor’s refresh rate. Disable it if you notice a performance impact, though tearing may appear.
Automatically disables VSync when your display’s refresh rate is lower than the 3DS’s internal rate (59.83 Hz), preventing emulation speed from being forced below 100%.
Delays GPU completion events to match measurements taken from real hardware. This stabilises dynamic framerate games and makes GPU timing behaviour more accurate. Disabling it may recover a small amount of performance in rare cases.
Adds a configurable delay (in microseconds) each time the emulated game submits rendering commands. Use this only for the small set of dynamic-framerate games that run poorly without it.

Enhancements

Enhancements settings are in the Enhancements tab of the configuration window.

Internal resolution

The Internal Resolution dropdown scales the rendered image above the 3DS’s native top-screen resolution of 400×240.
SettingTop screen resolution
Auto (Window Size)Matches the emulator window
Native (1×)400×240
2× Native800×480
3× Native1200×720
4× Native1600×960
5× Native2000×1200
6× Native2400×1440
7× Native2800×1680
8× Native3200×1920
9× Native3600×2160
10× Native4000×2400
Very high resolution multipliers (7× and above) demand significant GPU memory and fill rate. Make sure your GPU can handle the target resolution before committing to it.
Use Integer Scaling forces the output window to display at a whole-number multiple of the original 240 px screen height, which keeps pixels crisp and prevents sub-pixel blurring. Enable Linear Filtering smooths the final output image. Most players prefer this off when using high internal resolutions because the upscaling already provides detail.

Texture filter

The Texture Filter dropdown applies an upscaling algorithm to individual textures before they are rendered. This is independent of the internal resolution setting.
FilterCharacter
NoneNo filtering applied
Anime4KMachine-learning–style upscaler optimised for animated content
BicubicSmooth, general-purpose bicubic interpolation
ScaleForceEdge-preserving upscaler
xBRZPixel-art–aware scale filter
MMPXContour-following pixel art upscaler

Post-processing shader

The Post-Processing Shader dropdown applies a full-screen shader effect to the final image. Shaders are loaded from the shaders/ directory inside your Azahar user data folder. Leave this on None if you do not have custom shaders installed.

Stereoscopic 3D

Controls how the 3DS’s stereoscopic 3D output is rendered. Options are:
  • Off — renders only one eye (monoscopic)
  • Side by Side — left and right images placed next to each other
  • Side by Side Full Width — side-by-side output stretched to full width
  • Anaglyph — red/cyan colour channel separation for anaglyph glasses
  • Interlaced — alternating lines for passive 3D displays
  • Reverse Interlaced — interlaced with eye order swapped
The Depth spinner (0–255%) sets the strength of the stereo effect. Values above 100% are not achievable on real hardware and may cause visual artefacts.
When stereoscopic mode is off, choose whether the Left Eye (default) or Right Eye image is displayed.
Skips rendering the right-eye image entirely when not in stereoscopic mode. This can significantly improve performance in games that do heavy stereo rendering, but may cause flickering in some titles.
Exchanges the left and right eye outputs. Use this if your display’s stereo order is reversed.

Utility (custom textures)

OptionDescription
Use custom texturesLoads PNG texture replacements from load/textures/<Title ID>/
Preload custom texturesLoads all replacement textures into RAM at boot instead of on demand
Async custom texture loadingLoads replacements on a background thread to avoid stutter
Dump texturesExports the game’s textures as PNG files to dump/textures/<Title ID>/

Build docs developers (and LLMs) love