Citra Configuration

This is the official user guide for Citra Emulator, created to help you understand every feature and use the emulator with ease.

Here, you’ll find clear explanations, step-by-step tutorials, and detailed guides that cover everything from installation to advanced settings.

Whether you’re a beginner or an experienced user, this configuration guide will help you get the best possible experience from Citra.

Usage

You can start using Citra in two ways: either download a precompiled version directly from our site, or build the emulator yourself from the official source code.

Choose the setup guide that matches your device:

Each guide will walk you through the full installation process step by step.

Dumping Your 3DS Games

To play games on Citra, you must dump your own Nintendo 3DS titles from your personal console. This ensures full compatibility and keeps your setup legal and safe. You can dump games in two ways:

If you have existing save files or extra data on your Nintendo 3DS that you want to continue using in Citra, you’ll need to dump those files from your console as well.

If your 3DS has any game updates or DLC content that you want to use in Citra, you’ll need to dump those files from your console as well.

Some 3DS games need extra system files to run correctly in Citra. To make these games work, you’ll have to dump a few important system archives from your 3DS console.

These files help Citra load games properly, fix missing text issues, and improve overall compatibility.

  • Understanding Citra’s File Structure

To work smoothly with Citra, it’s helpful to understand where your files, saves, and configurations are stored. Start by reading the User Directory guide, which explains how Citra organizes your game files, saves, mods, shaders, and settings on your device.

  • Keyboard Controls (Default Bindings)

Citra comes with simple, ready-to-use keyboard controls so you can start playing immediately. You can check the full list of default keyboard bindings to see how each button is mapped, and customize them anytime in the settings.

Development Information

If you want to contribute to Citra or continue working with its codebase, this section gives you all the essential resources and technical references developers rely on. These tools, manuals, and libraries help you understand how the Nintendo 3DS works and how Citra emulates it.

3DS Hardware & Software Resources

To understand the internal structure of the Nintendo 3DS, the following resources are extremely valuable:

Homebrew Tools & Resources

If you want to test Citra without dumping commercial games, you can use various homebrew apps and demos.

Useful Links:

Homebrew Development Tools:

CPU Emulation in Citra

Citra uses two CPU cores to emulate the 3DS processor:

ARM Interpreter (dyncom):

  • Based on the “SkyEye” project
  • Updated to fully support ARMv6 (the instruction set used in the 3DS)
  • Executes instructions directly but is slower than JIT

JIT Recompiler (dynarmic):

  • Created by @MerryMage specifically for Citra
  • Recompiles ARMv6K instructions into x86_64 instructions in real time
  • Provides major performance boosts:
    • 15–20 FPS increase in most games
    • Up to 200% speed improvements in some titles
  • Automatically falls back to the interpreter when needed
  • Fully merged into Citra in September 2016

ARM9 Emulation

There are currently no plans to emulate the ARM9 chip inside the 3DS. ARM9 is mainly used for:

  • Security functions
  • Running Nintendo DS titles

Since Citra focuses only on Nintendo 3DS software, ARM9 emulation is not required.

Archive of 3DS Documentation

Because the Nintendo 3DS community never had a single official place to store technical research, information about the system is scattered across many different sites, notes, and developer posts.

This archive collects the most helpful and widely used 3DS documentation in one place, making it easier for developers, modders, and researchers to access what they need.

Reverse-Engineering & Technical Wikis

PICA200 GPU Research

Notes and research from Fincs, covering advanced graphics functions of the 3DS GPU:

  • Procedural texture generation
  • Shadow mapping
  • “Gaseous rendering” effects

Additional Resources

 Kernel & System Notes

Academic Papers & Presentations (DMP GPU)

Useful research from DMP, the creators of the PICA200 GPU:

  • Procedural texture techniques
  • Ohbuchi & Unno: A Real-Time Configurable Shader Based on Lookup Tables
  • Kazakov & Ohbuchi: Primitive Processing and Advanced Shading Architecture for Embedded Space (Public presentations exist, but full details are in paid academic papers.)

CRO, GPU LUT, and Other Low-Level Documentation

Technical notes from wwylele, including:

Save Format, Encryption & Network Documentation