Nintendo 3DS (Citra)Link
Contribute to this documentationLink
In order to propose improvements to this document, visit its corresponding source page on github. Changes are proposed using "Pull Requests."
Citra is an experimental open-source Nintendo 3DS emulator/debugger written in C++. It is written with portability in mind.
This core requires that you use OpenGL as the video driver. Go to Settings -> Driver. If ‘video driver’ is set to ‘vulkan’, switch it back to ‘gl’, and then restart.
The Citra core requires OpenGL 3.3 or higher in order to work.
There is currently no ‘working’ macOS version available. This is because this core requires OpenGL core 3.3 context, and RetroArch on macOS currently does not support this. We will have to add support for this to a future version of RetroArch on macOS before this core will start to work on it.
Also, you need to turn on ‘Enable Shared Hardware Context’ so that fullscreen toggling will work properly.
First, you need to ensure that ‘Show Advanced Settings’ is turned on. Go to Settings -> User Interface and turn ‘Show Advanced Settings’ on.
Now, go back, and go to Settings -> Core.
Once inside the ‘Core’ settings, set ‘Enable Shared Hardware Context’ to ON.
How to get and install the Citra core:Link
Start up RetroArch. Inside the main menu, go to 'Online Updater'.
Just to make sure we have the latest info files, select 'Update Core Info FIles'. Wait until this is done. Then, select 'Core Updater'.
Browse through the list and select 'Nintendo 3DS (Citra)'.
After this has finished downloading, the core should now be ready for use!
How to play (after installation):Link
Go back to RetroArch's main menu screen. Select 'Load Content'.
Browse to the folder that contains the content you want to run.
Select the content that you want to run.
If you are asked which core to select, choose 'Nintendo 3DS (Citra)'.
The game should now start running!
- Citra Emulation Project
A summary of the licenses behind RetroArch and its cores have found here.
Content that can be loaded by the Citra core have the following file extensions:
RetroArch database(s) that are associated with the Citra core:
|Crop Overscan (in RetroArch's Video settings)||✕|
The Citra core's directory name is 'Citra'
Core provided aspect ratioLink
The Citra core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded. Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
- Enable CPU JIT (Off/On)
- Enable hardware renderer (Off/On)
- Enable shader JIT (Off/On)
- Resolution scale factor (1x (Native)/2x/3x/4x/5x/6x/7x/8x/9x/10x)
- Screen layout positioning (Default Top-Bottom Screen/Single Screen Only/Large Screen, Small Screen)
Screen layout positioning - Default Top-Bottom Screen
Screen layout positioning - Single Screen Only
Screen layout positioning - Large Screen, Small Screen)
- Prominent 3DS screen (Top/Bottom)
- Right analog function (C-Stick and Touchscreen Pointer/Touchscreen Pointer/C-Stick)
- Emulated pointer deadzone (%) (0 to 35 in increments of 5. 15 is default.)
- Enable frame limiter (Off/On)
- Enable audio stretching (Off/On)
- Enable virtual SD card (Off/On)
- 3DS system model (Old 3DS/New 3DS)
- 3DS system region (Auto/Japan/USA/Europe/Australia/China/Korea/Taiwan)
- Enable GDB stub (Off/On)
The Citra core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):
User 1 device typesLink
- None - Input disabled.
- RetroPad - Joypad
- Nintendo 3DS - Joy[ad
Joypad and analog device type tableLink
|User 1 input descriptors||Nintendo 3DS|
|N/A||Right analog function|
|N/A||X||Circle Pad X|
|N/A||Y||Circle Pad Y|
|N/A||X||Right analog function X|
|N/A||Y||Right analog function Y|
Pointer device type tableLink
|User 1 input descriptors||Touchscreen Pointer|
|N/A||Pointer Pressed||Touchscreen Pressed|