Skip to content
rawdatafeel edited this page Apr 25, 2023 · 100 revisions

Citra is a Nintendo 3DS Emulator.

Website: https://citra-emu.org/

Github: https://github.com/citra-emu/citra

Compatibility List: https://citra-emu.org/game/


Citra Table of Contents

  1. Getting Started with Citra

  2. Common Issues

  3. Citra Tips and Tricks


Getting Started with Citra

Back to the Top

Citra is a fairly straight-forward emulator to set up. Place your ROMs in Emulation/roms/n3ds or Emulation/roms/3ds. No additional setup is required if you are using decrypted ROMs. Read the Configuration section to learn more about Citra and its folder locations. The Configuration section covers where to place your aes_keys.txt if you are using encrypted ROMs.

To launch your ROMs in game mode, use Steam ROM Manager and use one of the following parsers to play your Citra ROMs:

  • EmulationStation-DE
  • Nintendo 3DS - Citra
  • Emulators

Configuration

Back to the Top

  • Type of Emulator: Flatpak
  • Config Location: /home/deck/.var/app/org.citra_emu.citra
  • ROM location: Emulation/roms/3ds or Emulation/roms/n3ds
  • aes_keys.txt location: /home/deck/.var/app/org.citra_emu.citra/data/citra-emu/sysdata/
    • Only necessary if the 3DS ROM is encrypted
    • If the sysdata folder does not exist, create it.
  • Saves Location:
    • Symlink: Emulation/saves/citra/saves
    • Target: /home/deck/.var/app/org.citra_emu.citra/data/citra-emu/sdmc
  • Savestates Location:
    • Symlink: Emulation/saves/citra/states/
    • Target: /home/deck/.var/app/org.citra_emu.citra/data/citra-emu/states

Note: ~/.var is an invisible folder by default. In Dolphin (file manager), click the hamburger menu in the top right, click Show Hidden Files to see these folders.

Works With

  • Steam ROM Manager
  • EmulationStation-DE

How to Update Citra

Back to the Top

How to Update Citra

  • Update through Discover (Shopping bag icon)
  • Through the Update your Emulators & Tools section on the Manage Emulators page in the EmuDeck application

How to Launch Citra in Desktop Mode

How to Launch Citra in Desktop Mode

  • Launch Citra from the Applications Launcher (Steam Deck icon in the bottom left of the taskbar)
  • Launch the script from Emulation/tools/launchers, citra.sh
  • Launch the emulator from Steam after adding it via the Emulators parser in Steam ROM Manager

File Formats

Back to the Top

  • .3ds
  • .3dsx
  • .app
  • .axf
  • .cci
  • .cxi
  • .elf

IMPORTANT:

  • .cia can only be used if you install it through Citra. Do not place your .cia ROMs in either the Emulation/roms/3ds or the Emulation/roms/n3ds folders. The .cia file format is not compatible with Steam ROM Manager and EmulationStation-DE.

How to Manage DLC and Updates

Back to the Top

Read: https://citra-emu.org/wiki/dumping-updates-and-dlcs/ to learn how to properly dump your DLC and update files from your 3DS.

DLC and update files typically are .CIAs, an installable file format through Citra. After installing your DLC or updates, you may discard these files.

How to Install DLC and Updates

  1. In Desktop Mode, open Citra
  2. Click File in the top left
  3. Click Install CIA...
  4. Navigate to your DLC or update files

Hotkeys

Back to the Top

Hotkeys

Citra comes with a Steam Input profile for Hotkeys. Activate the Steam Input profile by clicking the Game Controller icon in Game Mode, change the template to Emudeck - Citra 3DS. The hotkeys below can only be used if you have the Steam Input profile active.

Hotkey Citra
Full Screen Toggle L4
Layout Toggle L5
Swap Screens R4
Quit Long Press R5
Save State Left Trackpad Touch Menu
Load State Left Trackpad Touch Menu
Fast Forward Left Trackpad Touch Menu
Pause Left Trackpad Touch Menu
Exit Double Tap Left Trackpad Touch Menu
Full Screen Left Trackpad Touch Menu
Swap Screens Left Trackpad Touch Menu
Change Screen Layout Left Trackpad Touch Menu

For a tutorial on how to select Steam Input Profiles, refer to: https://github.com/dragoonDorise/EmuDeck/wiki/hotkeys#how-to-select-a-steam-input-profile.

Steam Deck Button Layout: https://github.com/dragoonDorise/EmuDeck/wiki/Hotkeys#steam-deck-button-layout


Common Issues

Back to the Top


Why did my game suddenly stop working?

Back to the Top

A recent update to some back-end changes may cause some crashing with games that were working previously. To fix this issue, you will need to delete the shaders folder.

Here's How

  1. In Desktop Mode, open /home/deck/.var/app/org.citra_emu.citra/data/citra-emu
    • ~/.var is an invisible folder by default. In Dolphin (file manager), click the hamburger menu in the top right, click Show Hidden Files to see these folders
  2. Delete the shaders folder
  3. Try your game again

This should be a one-time fix and your games should work again moving forward.


Citra Tips and Tricks

Back to the Top


How to Configure Gyro

Back to the Top

Gyro for Cemu requires SteamDeckGyroDSU. SteamDeckGyroDSU can be installed via EmuDeck, or it can be installed manually.

Visual Reference:

How to Install SteamDeckGyroDSU: https://github.com/dragoonDorise/EmuDeck/wiki/frequently-asked-questions#how-do-i-install-steamdeckgyrodsu


How to Optimize Performance (Power Tools)

Back to the Top

Prerequisites


Recommended Settings

  • Power Tools: Turn SMT off
    • Open the QAM ("..." button), select the Socket icon, select POWERTOOLS, turn off SMT
      • Visual Reference:
    • (Optional) Use the Persistent toggle to set these settings on a per-game basis
      • Visual Reference:
  • Steam Deck Performance Menu: Set Manual GPU Clock Control to 1200 frequency
    • Open the QAM ("..." button), select the Battery icon, enable Advance View, scroll down, enable Manual GPU Clock Control, and set it to 1200
      • Visual Reference:
    • Toggle per game profiles
      • Visual Reference:
  • IMPORTANT: Some 3DS games will not perform well regardless and will require the Citra team to improve compatibility
    • In some cases, these games may have workarounds through modifying settings or applying patches or mods. Search on Google for your respective game, and see if these workarounds exist
    • Check the Citra Compatibility List: https://citra-emu.org/game/

How to Install Custom Textures

Back to the Top

Here's how to install custom textures for Citra:

  1. Open the Citra emulator. Click Emulation in the top left. Click Configuration, Graphics, and check Use Custom Textures
    1. Preload Custom Textures is generally recommended as well but in the current version of Citra, it crashes the emulator. Read the explanation below the tutorial for additional detail.
    2. Visual Reference:
  2. Open https://3ds.jdbye.com/?details=USA&split=0&display=0 in a browser, and note down the Title ID for the game you would like to install custom textures for.
  3. Open /home/deck/.var/app/org.citra_emu.citra/data/citra-emu/load/textures
    1. ~/.var is an invisible folder by default. In Dolphin (file manager), click the (hamburger menu) in the top right, click "view hidden files" to see these folders.
    2. If the load and textures folder do not exist, create them.
  4. In the textures folder from Step 3, create a folder matching the TitleID from Step 2.
  5. Put your texture files directly into this folder.
  6. Your texture pack should now be installed.

IMPORTANT: There is a current bug where turning on Preload Textures will crash the game if it is being launched from a shortcut made by Steam ROM Manager or EmulationStation-DE.

There are two workarounds:

  • Turn off Preload Textures. Turning off Preload Textures may negatively impact performance.
  • Turn on Preload Textures and launch your game directly from Citra instead of through a shortcut made by Steam ROM Manager or EmulationStation-DE.

For a visual on how to install custom textures, watch the following GIF:


How to Configure Bottom Screen as PiP

Back to the Top

Credit: NexLevel

Citra allows you to configure the bottom screen as a sort of PiP (Picture in Picture) overlay on the top screen, by editing the qt-config file.

Here's How

(Add specific steps)

qt-config:

[Layout]
custom_top_bottom=784
custom_top_left=0
custom_top_right=1280
custom_top_top=16
custom_bottom_bottom=800
custom_bottom_left=520
custom_bottom_right=760
custom_bottom_top=620
custom_second_layer_opacity=33
custom_layout=true
layout_option=1
layout_option\default=false
yup you can move up the screen a bit. if you want to keep the same 5:3 aspect ratio, set custom_top_top=0 and custom_top_bottom=768

How to Configure Bottom Screen With Opacity

Back to the Top

Credit: NexLevel

A recent update of Citra allows the ability to set the opacity on the bottom screen. In combination with setting the bottom screen as a PiP overlay: [link], you can create a Citra layout that looks like the following:

Example 1:

Example 2:

Here's How

(Add specific steps)

qt-config:

[Layout]
custom_top_bottom=784
custom_top_left=0
custom_top_right=1280
custom_top_top=16
custom_bottom_bottom=800
custom_bottom_left=520
custom_bottom_right=760
custom_bottom_top=620
custom_second_layer_opacity=33
custom_layout=true
layout_option=1
layout_option\default=false
here is my layout config as shown in the screenshots. the opacity can be any integer between 1-100. be sure to remove the default=true lines

Clone this wiki locally