> ## 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.

# Building on Windows

> Complete guide to building Dolphin Emulator on Windows with Visual Studio

## System Requirements

<Note>
  Windows 10 version 1903 or higher is required to run Dolphin.
</Note>

### Hardware Requirements

* **Processor**: CPU with SSE2 support (modern 3 GHz Dual Core recommended, not older than 2008)
* **Graphics**: Graphics card supporting Direct3D 11.1 or OpenGL 3.3 (Direct3D 11.1 / OpenGL 4.4 recommended)

## Build Requirements

### Required Software

<Steps>
  <Step title="Install Visual Studio">
    Dolphin targets the latest MSVC shipped with Visual Studio or Build Tools. Other compilers are not tested or recommended.

    Download [Visual Studio](https://visualstudio.microsoft.com/) with C++ development tools.
  </Step>

  <Step title="Install Git">
    Git must be installed for building Dolphin.

    Download from [git-scm.com](https://git-scm.com/)
  </Step>

  <Step title="Install Windows SDK">
    The latest Windows SDK must be installed when building.

    This is typically included with Visual Studio installation.
  </Step>
</Steps>

## Building Dolphin

### Clone the Repository

First, clone the Dolphin repository and initialize submodules:

```bash theme={null}
git clone https://github.com/dolphin-emu/dolphin.git
cd dolphin
git submodule update --init --recursive
```

<Warning>
  Make sure to pull submodules before building. Building without submodules will fail.
</Warning>

### Build with Visual Studio

<Steps>
  <Step title="Open Solution File">
    Open the solution file `Source/dolphin-emu.sln` in Visual Studio.
  </Step>

  <Step title="Select Configuration">
    Choose your build configuration:

    <Tabs>
      <Tab title="Release">
        The **Release** configuration includes performance optimizations for the best user experience.

        Use this for normal usage and distribution.

        <Note>
          Release builds complicate debugging due to optimizations.
        </Note>
      </Tab>

      <Tab title="Debug">
        The **Debug** configuration makes debugging Dolphin easier.

        <Warning>
          Debug builds are significantly slower, more verbose, and less permissive.
        </Warning>
      </Tab>
    </Tabs>
  </Step>

  <Step title="Build Solution">
    Build the solution using **Build > Build Solution** or press `Ctrl+Shift+B`.

    The compiled binaries will be output to the build directory.
  </Step>
</Steps>

## Uninstalling

<Tabs>
  <Tab title="Portable Installation">
    Simply remove the extracted Dolphin directory.
  </Tab>

  <Tab title="NSIS Installer">
    Uninstall Dolphin like any other Windows application through:

    * Settings > Apps > Apps & features
    * Control Panel > Programs > Uninstall a program
  </Tab>
</Tabs>

<Note>
  To completely remove Dolphin, also delete the global user directory if you don't plan on reinstalling.
</Note>

## Command Line Usage

Dolphin can be launched from the command line with various options:

```bash theme={null}
Dolphin.exe [options]... [FILE]...
```

### Common Options

<CodeGroup>
  ```bash Basic Usage theme={null}
  # Launch a game directly
  Dolphin.exe -e "path/to/game.iso"

  # Run in batch mode (no UI)
  Dolphin.exe -b -e "game.iso"
  ```

  ```bash Advanced Options theme={null}
  # Set configuration option
  Dolphin.exe -C System.Section.Key=Value

  # Specify video backend
  Dolphin.exe -v D3D12 -e "game.iso"

  # Load with save state
  Dolphin.exe -s "savestate.sav" -e "game.iso"
  ```

  ```bash Debugging theme={null}
  # Enable debugger and logger
  Dolphin.exe -d -l -e "game.iso"
  ```
</CodeGroup>

### Available Video Backends

* **D3D** - Direct3D 11 (Windows only)
* **D3D12** - Direct3D 12 (Windows only)
* **OGL** - OpenGL
* **Vulkan** - Vulkan API
* **Null** - No rendering
* **Software Renderer** - CPU rendering (debugging only)

### Audio Emulation Modes

* **HLE** (High Level Emulation) - Faster but less accurate
* **LLE** (Low Level Emulation) - Slower but close to perfect
  * LLE has Interpreter and Recompiler submodes (cannot be selected from command line)

## Troubleshooting

<AccordionGroup>
  <Accordion title="Build fails with submodule errors">
    Ensure you've initialized and updated all submodules:

    ```bash theme={null}
    git submodule update --init --recursive
    ```
  </Accordion>

  <Accordion title="Missing Windows SDK">
    Install the latest Windows SDK through Visual Studio Installer:

    1. Open Visual Studio Installer
    2. Click "Modify" on your Visual Studio installation
    3. Under "Individual components", ensure Windows SDK is checked
  </Accordion>

  <Accordion title="MSVC version too old">
    Update Visual Studio to the latest version through Visual Studio Installer.

    Dolphin targets the latest MSVC compiler.
  </Accordion>
</AccordionGroup>
