> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/dolphin-emu/dolphin/llms.txt
> Use this file to discover all available pages before exploring further.

# Graphics Settings

> Configure video backends and graphics options in Dolphin

Dolphin provides extensive graphics configuration options to balance performance and visual quality. This guide covers all graphics settings available in the emulator.

## Accessing Graphics Settings

<Steps>
  <Step title="Open Graphics Settings">
    Navigate to **Graphics** in the main menu, or **Options** > **Graphics Settings**
  </Step>

  <Step title="Select Tab">
    Choose from:

    * General
    * Enhancements
    * Hacks
    * Advanced
  </Step>
</Steps>

## General Settings

### Video Backend

Dolphin supports multiple rendering backends:

<Tabs>
  <Tab title="Vulkan">
    Modern cross-platform API with excellent performance and features.

    * **Recommended** for most users
    * Best performance on modern GPUs
    * Supports all Dolphin features
  </Tab>

  <Tab title="D3D12">
    DirectX 12 backend (Windows only).

    * Good performance on Windows 10/11
    * Requires DirectX 12 compatible GPU
  </Tab>

  <Tab title="D3D11">
    DirectX 11 backend (Windows only).

    * Stable and mature
    * Good compatibility with older GPUs
  </Tab>

  <Tab title="OpenGL">
    Cross-platform graphics API.

    * Available on all platforms
    * Good compatibility
    * Performance varies by driver quality
  </Tab>

  <Tab title="Metal">
    Apple's graphics API (macOS only).

    * Best performance on macOS
    * Required for Apple Silicon Macs
  </Tab>

  <Tab title="Software Renderer">
    CPU-based rendering for debugging.

    * Very slow
    * Pixel-perfect accuracy
    * For debugging only
  </Tab>

  <Tab title="Null">
    No rendering output.

    * For testing and benchmarking
    * Maximum performance
  </Tab>
</Tabs>

<Info>
  Vulkan is recommended for most users as it provides the best performance and feature support across platforms.
</Info>

### Adapter

Select which GPU to use for rendering (if you have multiple graphics cards).

### Aspect Ratio

Choose how the game display is presented:

* **Auto**: Automatically detect 4:3 or 16:9 based on game settings
* **Force 16:9**: Widescreen mode (may cause stretching in some games)
* **Force 4:3**: Standard aspect ratio
* **Stretch to Window**: Fill the entire window
* **Custom**: Set custom aspect ratio

<Note>
  Some games have native widescreen support. Check game-specific settings for best results.
</Note>

### V-Sync

Enable vertical synchronization to eliminate screen tearing:

* **On**: Syncs to display refresh rate (may cause input lag)
* **Off**: Maximum performance but may cause tearing

### Display Resolution

Configure fullscreen display settings and window resolution.

## Enhancements

Improve visual quality beyond original hardware capabilities.

### Internal Resolution

Increase rendering resolution for sharper graphics:

* **Auto (Window Size)**: Match window resolution
* **1x Native (640x528)**: Original GameCube resolution
* **2x Native (1280x1056)**: 2x resolution
* **3x Native (1920x1584)**: 3x resolution
* **4x Native (2560x2112)**: 4x resolution
* **5x Native - 8x Native**: Higher resolutions for powerful GPUs

<Warning>
  Higher internal resolutions significantly impact performance. Start with 2x-3x and increase if your system can handle it.
</Warning>

### Anti-Aliasing (MSAA)

Smooth jagged edges:

* **None**: No anti-aliasing
* **2x MSAA**: Light smoothing
* **4x MSAA**: Moderate smoothing
* **8x MSAA**: Heavy smoothing (performance intensive)

### SSAA (Supersampling)

Render at higher resolution then downsample for superior quality (very GPU intensive).

### Anisotropic Filtering

Improve texture quality at oblique angles:

* **1x**: Default (no filtering)
* **2x, 4x, 8x, 16x**: Increasing quality levels

<Tabs>
  <Tab title="Performance">
    Use 4x for a good balance of quality and performance.
  </Tab>

  <Tab title="Quality">
    Use 16x for maximum texture quality with minimal performance impact on modern GPUs.
  </Tab>
</Tabs>

### Texture Filtering

Force texture filtering modes:

* **Default**: Use game's filtering
* **Nearest Neighbor**: Sharp pixels (retro look)
* **Linear**: Smooth textures

### Output Resampling

Improve scaling when displaying at non-native resolutions:

* **Default**: Simple bilinear
* **Bilinear**: Smooth scaling
* **Bicubic (B-Spline)**: Sharp with minimal ringing
* **Bicubic (Mitchell-Netravali)**: Balanced
* **Bicubic (Catmull-Rom)**: Sharp
* **Sharp Bilinear**: Preserve pixel art
* **Area Sampling**: High quality downscaling

### Post-Processing Effects

Apply shader-based post-processing:

* Click **\[Select]** to choose from available shaders
* Options include CRT simulation, color correction, bloom, etc.

<Note>
  Post-processing shaders are stored in the `Shaders` folder and can be downloaded or created.
</Note>

### Color Correction

#### Color Space Correction

* **Correct Color Space**: Convert between color spaces for accurate colors
* **Game Color Space**: NTSC, PAL, or NTSC-J

#### Gamma Correction

* **Correct Gamma**: Enable gamma correction
* **Game Gamma**: Set source gamma (2.2 - 2.8)
* **Display Gamma**: Set target gamma (2.2 - 2.4)

### HDR Output

Enable High Dynamic Range output for compatible displays:

* **Paper White Nits**: Set brightness level (80-500 nits)

## Hacks

<Warning>
  Graphics hacks can improve performance but may cause visual glitches. Test each hack with your games.
</Warning>

### EFB Copies

#### Skip EFB Copy to RAM

Avoid CPU copy of embedded framebuffer:

* **Enabled**: Better performance
* **Disabled**: More accurate (required for some effects)

#### Store EFB Copies to Texture Only

Store framebuffer copies in VRAM instead of RAM:

* Improves performance
* May break some effects

### Texture Cache

#### Accuracy

Set texture cache accuracy:

* **Fast**: Best performance, may have glitches
* **Middle**: Balanced
* **Safe**: Slowest but most accurate

### External Frame Buffer (EFB)

#### Store EFB Access from CPU

* **Enabled**: Accurate CPU EFB access (slower)
* **Disabled**: Faster but may cause missing effects

#### Ignore Format Changes

Ignore EFB format changes:

* Improves performance
* May cause visual issues in some games

### XFB (External Frame Buffer)

<Tabs>
  <Tab title="Virtual XFB">
    Emulate XFB in GPU memory (recommended).

    * Good performance
    * Good compatibility
  </Tab>

  <Tab title="Real XFB">
    Accurate XFB emulation.

    * Most accurate
    * Required for some effects
    * Lower performance
  </Tab>

  <Tab title="Disabled">
    No XFB (fastest but breaks many games).
  </Tab>
</Tabs>

#### Immediate XFB

Render XFB immediately without buffering:

* Reduces latency
* May cause performance issues

### Other Hacks

* **Fast Depth Calculation**: Faster but less accurate depth calculations
* **Disable Bounding Box**: Disable bounding box emulation (breaks some games)
* **Vertex Rounding**: Fix vertex position rounding (required for some games)
* **Fast Texture Sampling**: Faster texture sampling (may reduce quality)

## Advanced Settings

### Shader Compilation

Control how shaders are compiled:

<Tabs>
  <Tab title="Synchronous">
    Compile shaders as needed during gameplay.

    * Causes stuttering when new shaders appear
    * Most accurate
  </Tab>

  <Tab title="Synchronous (Ubershaders)">
    Use ubershaders while compiling specialized shaders.

    * Reduces stuttering
    * Slight performance cost
  </Tab>

  <Tab title="Asynchronous (Ubershaders)">
    Compile specialized shaders in background.

    * Minimal stuttering
    * Recommended for most users
  </Tab>

  <Tab title="Asynchronous (Skip Drawing)">
    Skip rendering until shaders compile.

    * No stuttering
    * May cause brief visual glitches
  </Tab>
</Tabs>

### Performance Options

#### Backend Multithreading

Enable multithreaded GPU command submission:

* Improves performance on most systems
* Recommended to keep enabled

#### Shader Cache

Cache compiled shaders to reduce stuttering:

* Shaders compile once and are saved
* Reused on subsequent runs

#### Wait for Shaders Before Starting

Compile all shaders before starting the game:

* Eliminates shader compilation stuttering
* Causes delay at game start

### Utility

#### Dump Textures

Export textures from games:

* Textures saved to dump folder
* Useful for creating texture packs

#### Load Custom Textures

Replace game textures with high-resolution versions:

* Place textures in `Load/Textures/[GameID]/` folder
* Significantly improves visual quality

#### Prefetch Custom Textures

Load custom textures into RAM at startup:

* Reduces stuttering with custom textures
* Requires more RAM

### Debugging

<Note>
  These options are for developers and advanced users:
</Note>

* **Enable Wireframe**: Show polygon wireframes
* **Show Statistics**: Display rendering statistics
* **Enable Validation Layer**: Check for API usage errors (Vulkan only)
* **Dump EFB Target**: Export EFB to images
* **Dump XFB Target**: Export XFB to images

## Per-Game Graphics Settings

Override graphics settings for specific games:

<Steps>
  <Step title="Right-click Game">
    Right-click a game in the game list
  </Step>

  <Step title="Open Properties">
    Select **Properties** from the context menu
  </Step>

  <Step title="Graphics Tab">
    Navigate to the **Graphics** tab
  </Step>

  <Step title="Override Settings">
    Enable specific overrides for this game
  </Step>
</Steps>

## Graphics Mods

Dolphin supports graphics mods that can:

* Increase texture resolution
* Fix visual bugs
* Add widescreen support
* Improve lighting and effects

Manage graphics mods in **Graphics** > **Graphics Mods** or per-game properties.

## Recommended Settings

### For Best Performance

* **Backend**: Vulkan or D3D12
* **Internal Resolution**: 2x-3x Native
* **Skip EFB Copy to RAM**: Enabled
* **Shader Compilation**: Asynchronous (Ubershaders)
* **Backend Multithreading**: Enabled

### For Best Quality

* **Backend**: Vulkan
* **Internal Resolution**: 4x-6x Native
* **MSAA**: 4x or 8x
* **Anisotropic Filtering**: 16x
* **EFB to RAM**: Disabled
* **XFB**: Virtual or Real
* **Shader Compilation**: Synchronous (Ubershaders)
