Citra
Developer(s) | Citra Team |
---|---|
Latest version | N/A |
Active | No |
Platform(s) | Windows Linux macOS Android |
Emulates | Nintendo 3DS |
Compatibility | Official List |
Website | Citra-emu.org |
Programmed in | C++ |
License | GPLv2 |
Source code | GitHub (archive) |
BIOS/Keys | Required for some games and decryption |
Citra (formerly Akiru) is a discontinued free and open-source Nintendo 3DS emulator/debugger written in C++. It is also available as a libretro core. The emulator is no longer active.
Contents
Overview[edit]
Citra emulates a subset of 3DS hardware and therefore is useful for running/debugging homebrew applications, and it is also able to run many commercial games. Some of these do not run at a playable state. On May 23, 2020, a official Android release for Citra came out. The minimum requirements are Android 8 (64-bit) and OpenGL ES 3.2 support. Since 15th September 2023, Citra has also added support for Vulkan, resulting in improved performance in a number of scenarios. Many games achieve playable framerates on a variety of hardware, though the developers recommend an Android device with a Snapdragon 835 chip or better.
Discontinuation[edit]
See Yuzu#Lawsuit.
Download[edit]
Latest Archived Builds Latest Archived Nightly (2104) Latest Archived Canary (2798) |
- We do not recommend using Citra anymore. Instead, we recommend using active forks of Citra.
Forks[edit]
Developer(s) | OpenSauce and other contributors |
---|---|
Latest version | 2119.1 [+] |
Active | No |
Platform(s) | Windows Linux macOS Android |
Emulates | Nintendo 3DS |
Programmed in | C++ |
License | GPLv2 |
Source code | GitHub |
BIOS/Keys | Required for some games and decryption |
Developer(s) | Citra Team, Weihuoya |
---|---|
Latest version | git |
Active | Yes |
Platform(s) | Android |
Emulates | Nintendo 3DS |
Programmed in | C++ |
License | GPLv2 |
Source code | GitHub |
Developer(s) | PabloMK7 and other contributors |
---|---|
Latest version | git |
Active | No |
Platform(s) | Windows Linux macOS Android |
Emulates | Nintendo 3DS |
Programmed in | C++ |
License | GPLv2 |
Source code | GitHub |
BIOS/Keys | Required for some games and decryption |
- Azahar
- A merger of the PabloMK7 and Lime3DS Citra forks.
- PabloMK7 fork
- A Citra fork that free and open-source written in C++ and initially created to add online play,[1] but continues to receive new updates and other new features following the end of support for upstream Citra. PabloMK7 was a contributor of Citra, and the repository has also seen work from other active Citra contributors such as GPUCode, who was among the most active contributors before the repository was deleted. Being a fork of Citra, the emulator emulates a subset of 3DS hardware and therefore is useful for running/debugging homebrew applications; it is also able to run many commercial games. Some of these do not run in a playable state. On May 5, 2024, PabloMK7 announced an upcoming feature known as Artic Base,[2] released on May 12, 2024.[3] Artic Base is a 3DS homebrew app that can stream game data from the 3DS system to an instance of Citra over the local network, allowing users to play their own games on Citra without having to dump them. Artic Base can also sync save data between the 3DS and Citra. On October 29, 2024, development had been ceased pending the start of a "new, more serious continuation project."[4] This new project won't be a solo endeavour, as this new Citra fork is a collaborative effort between both Lime3DS and PabloMK7's fork to create a new, unified project called Azahar.[5]
- Citra MMJ
- Citra MMJ is a unofficial Nintendo 3DS emulator for Android written by weihuoya and forked from Citra. Offers less stuttering and greater performance than mainline Citra on Android, along with additional features. Minimum hardware requirements for this fork are not defined, although games should run more quickly on weaker hardware than mainline requires.
- Folium
- A Citra port to iOS/iPadOS devices developed by Jarrod Norwell. Previously known as emuThreeDS and Limón. Now continued as a multi emulator named Folium. Cytrus is the Nintendo 3DS emulation core used in Folium.[1]
- Lime3DS
- A Citra fork. The main goal of the project is to act as a revival of Citra.[6] Much like its predecessor, Lime3DS is mainly written in C++. Development for Lime3DS began on the same day as Citra's closure, on March 4, 2024. Unlike some other forks appearing at this time, the developers for Lime intended to separate their branding from that of Citra and create a separate successor. The emulator has seen steadily updated since then, boasting high compatibility and stability for many 3DS titles. Development has ceased pending a merger with the PabloMK7 Citra fork, which will be a collaborative project called Azahar between the two emulator teams.[5]
- Mandarine
- A Citra fork. It was originally named as "Citra-Enhanced." Development ceased temporarily in March 2024 due to the stoppage of Citra development. Afterward, the project changed its name to Lemonade[7] and shifted its focus to the Android platform while planning to add new features and enhancements. However, due to critique stemming from Lemonade's developers alleged stealing of code from other forks, violation of Citra's GPL license, and berating of developers of other forks,[8] much of the team has since abandoned the project.[9] The fork was thereafter renamed back to Citra-Enhanced, before then renaming again to Mandarine after an alleged repository hijack attempt.[10]
[edit]
Some 3DS games make use of shared files from the console's system software. These games will not boot in Citra if said files are not present in the user folder.
These files are not provided by the Citra developers for legal reasons, so they can be downloaded from the Emulator Files page.
Importing saves[edit]
Some games require this to bypass bugs in title screens.
- Get the Title ID for the game version you have from here. For example, we'll try with the European version of Zelda: ALBW. Its full Title ID is
00040000000EC400
. - Take the last 8 digits of the Title ID. (in our example,
000EC400
) In case this method fails later, take00000000
instead, or make sure the save file and the ROM image are from the same region. - Make an empty folder named as that partial Title ID (
000EC400
). Put inside it another folder named "data", then inside that one put another folder named00000001
, then inside that one put the actual save data files. - Move the folder with the title ID and put it here:
\user\sdmc\Nintendo 3DS\00000000000000000000000000000000\00000000000000000000000000000000\title\00040000
Issues[edit]
Emulation issues[edit]
Emulation for various features is non-existent or not actively worked on enough to be in a usable state. This includes:
- Connectivity features relying on Wi-Fi (Wii U/3DS, Switch/3DS, 3DS Local Multiplayer, 3DS Online...), not in small part due to the setbacks hindering Wi-Fi DS emulation. However, Download Play is emulated.
- New 3DS mode. It is now in a playable state, but some games may still crash with it enabled.
Game image format[edit]
Citra accepts games in .3ds, .cia or .cxi format. Furthermore, in Summer 2017, chances are your existing dumps tailor-made for Citra most probably made with the officially recommended tool braindump, which were missing some data yet could be emulated on Citra, have had their compatibility broken as a design choice with no options provided to fix those dumps. You'll have to get new dumps.
While the latest sighax exploit allows for dumping decryption keys to convert (and possibly load) encrypted games in either .3ds or .cia format, development for a solution to allow for this Citra, even one requiring keys from your console, was formerly not actively pursued as a design choice. Tools on 3DS and PC exist to convert those to decrypted .3ds format, and a guide can be found here. However, Citra now allows loading/installing encrypted 3ds/CIA files if the necessary AES keys are provided. The required keys are provided with the 3DS Shared Data downloadable above.
Telemetry[edit]
Citra developers decided to implement a telemetry feature, uploading to them through Internet connection detailed logs and data about your computer specs and the games you're playing. When booting Citra for the first time, you get asked if you want to enable it.
macOS compatibility[edit]
Although macOS support in Citra is still poor, macOS builds have returned to Citra Canary 2485 and newer thanks to the addition of the new Vulkan renderer. Previously, macOS builds were discontinued after build 1782 due to the developers raising the OpenGL requirements to version 4.3, while macOS only supports up to version 4.1. The new Vulkan renderer addresses this by utilizing the MoltenVK translation layer instead of OpenGL, enabling compatibility with macOS systems. Additionally, these latest builds are Universal and have native support for both Intel and Apple Silicon.
Issues with downloading[edit]
If you decide to install it from the archived link, The updater tries to fetch for updates and cant fetch any due to it shutting down forcing you to quit the setup
However, you can download Citra from "Manual Installation" section and you can download and use Citra as usual.