-
-
Notifications
You must be signed in to change notification settings - Fork 222
Citra
Website: https://citra-emu.org/
Github: https://github.com/citra-emu/citra
Compatibility List: https://citra-emu.org/game/
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
- Type of Emulator: Flatpak
- Config Location:
/home/deck/.var/app/org.citra_emu.citra
- ROM location:
Emulation/roms/3ds
orEmulation/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
- Symlink:
- Savestates Location:
- Symlink:
Emulation/saves/citra/states/
- Target:
/home/deck/.var/app/org.citra_emu.citra/data/citra-emu/states
- Symlink:
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.
- Steam ROM Manager
- EmulationStation-DE
How to Update Citra
- Update through
Discover
(Shopping bag icon) - Through the
Update your Emulators & Tools
section on theManage Emulators
page in theEmuDeck
application
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 theEmulators
parser inSteam ROM Manager
- .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 theEmulation/roms/3ds
or theEmulation/roms/n3ds
folders. The .cia file format is not compatible with Steam ROM Manager and EmulationStation-DE.
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
- In Desktop Mode, open Citra
- Click
File
in the top left - Click
Install CIA...
- Navigate to your DLC or update files
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
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
- 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, clickShow Hidden Files
to see these folders
-
- Delete the
shaders
folder - Try your game again
This should be a one-time fix and your games should work again moving forward.
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
Prerequisites
- Decky Loader and Power Tools
- Power Tools can be installed via EmuDeck, or it can be installed manually
-
Visual Reference:
- Although this screen does not explicitly state Decky Loader, Decky Loader is included in this installation
-
Visual Reference:
- Step by Step Instructions on How to Install Power Tools: https://github.com/dragoonDorise/EmuDeck/wiki/frequently-asked-questions#how-do-i-install-power-tools-and-deckyloader
- Power Tools can be installed via EmuDeck, or it can be installed manually
Recommended Settings
- Power Tools: Turn SMT off
- Open the
QAM
("..." button), select theSocket
icon, selectPOWERTOOLS
, turn offSMT
- Visual Reference:
- Visual Reference:
- (Optional) Use the
Persistent
toggle to set these settings on a per-game basis- Visual Reference:
- Visual Reference:
- Open the
- Steam Deck Performance Menu: Set Manual GPU Clock Control to 1200 frequency
- Open the
QAM
("..." button), select theBattery
icon, enableAdvance View
, scroll down, enableManual GPU Clock Control
, and set it to1200
- Visual Reference:
- Visual Reference:
- Toggle per game profiles
- Visual Reference:
- Visual Reference:
- Open the
-
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/
Here's how to install custom textures for Citra:
- Open the Citra emulator. Click
Emulation
in the top left. ClickConfiguration
,Graphics
, and checkUse Custom Textures
-
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. - Visual Reference:
-
- 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. - Open
/home/deck/.var/app/org.citra_emu.citra/data/citra-emu/load/textures
-
~/.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. - If the
load
andtextures
folder do not exist, create them.
-
- In the
textures
folder from Step 3, create a folder matching theTitleID
from Step 2. - Put your texture files directly into this folder.
- 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 offPreload 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:

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