|

User Directory Overview

The user directory in Citra can be accessed through the “Open Citra Folder” option within the application. Depending on the operating system, the directory path varies:

  • On any system, if a folder named “user” exists in the same location as the Citra executable, it will override the default directory and be used instead.
  • Windows: The path is C:/Users/[your-user-name]/AppData/Roaming/Citra/. The AppData folder is hidden by default, so you may need to enable hidden files to view it.
  • Older Citra Versions: Previously, the user directory was stored in a folder named “user” within the same directory as the Citra executable.
  • Linux: Running echo $XDG_DATA_HOME in the terminal will display the user-specific data directory. If this variable is unset, the default location is ~/.local/share/citra-emu/. Additionally, configuration files are stored in ~/.config/citra-emu/, unless overridden by echo $XDG_CONFIG_HOME.
  • Flatpak Installation: The user directory is found at ~/.var/app/org.citra_emu.citra/data/citra-emu/, while configuration files are located at ~/.var/app/org.citra_emu.citra/config/.
  • macOS: The directory is located at ~/Library/Application Support/Citra/.
  • Legacy macOS Versions (pre-2023): Previously, macOS used the same directory structure as Linux. If an older directory still exists, Citra may use it for backward compatibility.

Within the user directory, you will find several subdirectories, including config, nand, and sdmc. Each serves a distinct purpose.

Diagram of Citra’s User Directory

"User directory"
├── config
├── nand
│ ├── 00000000000000000000000000000000 (optional)
│ └── data
│ ├── sysdata
│ └── extdata
├── sdmc
│ └── Nintendo 3DS
│ ├── 00000000000000000000000000000000
│ | └── 00000000000000000000000000000000
│ | ├── title
│ | └── extdata
│ └── Private
└── sysdata (optional)
└── aes_keys.txt (optional)
└── seeddb.bin (optional)

Extracting Files from a 3DS

This guide provides instructions on how to extract files from a Nintendo 3DS to integrate with Citra. While these files are not required for basic functionality, certain games may require specific data to run properly.

To extract files, you will need an SD card reader or a method for wirelessly transferring files from your 3DS to your computer. Additionally, the 3DS must have Homebrew Launcher access. Advanced users may also need custom firmware and Decrypt9WIP.

For specific guides, refer to:

  • Extracting System Archives and Shared Fonts
  • Extracting Config Savegame
  • Extracting Save Data and Extra Data

Config Directory

This folder contains configuration files that control Citra’s behavior. These are stored in plain text and can be manually edited, though incorrect modifications may cause errors or malfunctions. Key settings include:

  • Control mapping
  • CPU and audio settings
  • Graphics and rendering options
  • Region settings
  • Virtual SD card insertion

If Citra fails to launch after editing a config file, deleting the config directory will force Citra to regenerate default settings upon restart.

Log Directory

This folder houses citra_log.txt, a file that stores logging information. It is automatically overwritten each time Citra is launched.

NAND Directory

This directory emulates the internal NAND storage of a 3DS. While it does not exactly match a real 3DS’s NAND structure, it contains necessary system files, including:

  • data: Stores system and extra data.
  • sysdata: Contains system save data, indexed by title ID.

Some games require a 3DS’s config savegame to run. Instructions for obtaining this data are available in the “Extracting Config Savegame” guide.


Extra Data (extdata)

This directory contains additional game-related data. The structure includes:

  • A 00048000 folder (or in some cases, a 00000000 folder, which should be removed if both exist).
  • Folders named F000000# corresponding to extra data title IDs.

Data can be extracted using a save manager like JKSM and manually placed in this directory. However, most NAND extra data is not required for Citra to function.


System Archives Directory

This directory, named 00000000000000000000000000000000, appears only if system archives have been dumped from a physical 3DS. These archives are necessary for certain games to function. Follow the “Extracting System Archives and Shared Fonts” guide to retrieve them.


SDMC Directory

The sdmc folder emulates an SD card and stores:

  • Game saves
  • Extra data
  • Installed titles (encrypted)

Inside sdmc, you will find:

  • Nintendo 3DS: Main storage directory
  • Private: Stores camera and audio data
  • 00000000000000000000000000000000: Houses game save files and extra data

Game Save Data

Save files are stored in:

  • sdmc/Nintendo 3DS/00000000000000000000000000000000/title/00040000/

Save data can be transferred from a real 3DS to Citra by following the “Extracting Save Data” guide. Additionally, Citra can load decrypted game backups directly from the filesystem.

Game Updates and DLC

On a real SD card, updates and DLC are stored in 0004000e (updates) and 0004008c (DLC). These files can be backed up and installed in Citra as decrypted CIA files using GodMode9.

Other SD Card Folders

Citra does not require certain folders found on real 3DS SD cards, such as:

  • dbs: Holds the 3DS title database
  • backups: Stores Home Menu backup data
  • Nintendo DSiWare: Contains DSiWare exports

These folders are unnecessary for Citra and can be ignored.

System Files

  • shared_font.bin: Legacy system font data (deprecated, replaced by an open-source alternative).
  • aes_keys.txt: Contains decryption keys for various features.
  • seeddb.bin: Used for seed crypto operations.

This guide provides a structured overview of Citra’s directory system and data management, ensuring smooth operation and compatibility with various games.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *