Difference between revisions of "Citra"

From Emulation General Wiki
Jump to navigation Jump to search
(Emulation Issues)
m (Reverted edits by MelissaGoadReturns (talk) to last revision by Bot)
(47 intermediate revisions by 27 users not shown)
Line 1: Line 1:
{{Infobox
+
{{Infobox emulator
|image = citra.svg
+
|logo = citra.svg
|imagewidth = 150
+
|logowidth = 153
|first = -
+
|active = Yes
|second = Yes
+
|platform = Windows, Linux, macOS
|third = Windows, Linux, OS X
+
|target = [[Nintendo 3DS emulators|Nintendo 3DS]]
|fourth = [https://github.com/citra-emu/citra/graphs/contributors Citra Team]
+
|developer = [https://github.com/citra-emu/citra/graphs/contributors Citra Team]
|fifth = [http://citra-emu.org/ Citra-emu.org]
+
|prog-lang = C++
|sixth = [https://github.com/citra-emu/citra/ GitHub]}}
+
|website = [http://citra-emu.org/ Citra-emu.org]
 
+
|support = [https://www.patreon.com/citraemu Patreon]
'''Citra''' is an experimental open-source Nintendo 3DS emulator/debugger written in C++. It's currently able to run quite a few games well, though very few can run at fullspeed on existing hardware, and sound has issues with most titles.
+
|source = [https://github.com/citra-emu/citra/ GitHub]
 +
}}
 +
'''[[wikipedia:Citra (emulator)|Citra]]''' is an open-source [[Nintendo 3DS emulators|Nintendo 3DS]] emulator/debugger written in C++. It's currently able to run quite a few games well, though very few can run at full speed on existing hardware, and most titles have sound issues. It is also available as a [[libretro]] core.
  
 
Due to its preliminary state, it has not yet had a stable release.
 
Due to its preliminary state, it has not yet had a stable release.
  
 
==Downloads==
 
==Downloads==
*[https://citra-emu.org/page/download Latest Nightly Build]
+
* [https://citra-emu.org/download/ Latest nightly and canary builds] (Windows, Linux, macOS)
*[https://builds.citra-emu.org/ Nightly Builds]
+
 
 +
==Shared data==
 +
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#Nintendo 3DS|Emulator Files]] page.
 +
 
 +
==Importing saves==
 +
Some games require this to bypass bugs in title screens.
 +
# Get the Title ID for the game version you have from [http://www.3dsdb.com/ here]. For example, we'll try with the European version of Zelda: ALBW. Its full Title ID is <code>00040000000EC400</code>.
 +
# Take the last 8 digits of the Title ID. (in our example, <code>000EC400</code>) In case this method fails later, take <code>00000000</code> 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 (<code>000EC400</code>). Put inside it another folder named "data", then inside that one put another folder named <code>00000001</code>, then inside that one put the actual save data files.
 +
# Move the folder with the title ID and put it here:
 +
#: <code>\user\sdmc\Nintendo 3DS\00000000000000000000000000000000\00000000000000000000000000000000\title\00040000</code>
 +
 
 +
==Issues==
 +
===Emulation issues===
 +
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.
 +
* New 3DS mode. Throws a fatal error or tries to emulate in old 3DS mode. Even when the source is modified to allow for New 3DS mode, it's still too buggy and crash-prone to be usable.
 +
* Stereoscopic 3D visual effect. Was worked on briefly before being abandoned.
 +
 
 +
===Game Image Format===
 +
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.
 +
 
 +
Furthermore, 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, isn't actively pursued ''as a design choice''. Tools on 3DS and PC exist to convert those to decrypted .3ds format for the time being, and a guide can be found [[Nintendo 3DS emulators#Encryption|here]].
  
Compatibility list: [https://docs.google.com/spreadsheets/d/1tCDLFRY3uFml1a5rt6OuFvvTp_vW7ibatBAAbwwXo-g/edit#gid=424850216 here].
+
===Telemetry===
 +
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.
  
===Unofficial Builds===
+
==Playing Citra on your phone==
The fabled Chinese builds (latest release is July 9th, 2016) have surprisingly higher compatibility than the official ones as well as other nifty features like key remapping, since they're merging the WIP branches and fixes asap and then adding their own fixes. However its mere existence attracted drama so all uploads for these builds on the internet are being removed enthusiastically by non-Nintendo afflilated parties (for once), because the downloads don't include the source code and thus technically breach the license. You can follow discussion of these builds [http://tieba.baidu.com/f?kw=citra here] and [http://gbatemp.net/threads/citra-unofficial-chinese-builds-discussion.431974/ here], and hopefully snatch a link to those coveted forbidden fruits before they're smited by a DMCA claim (even in Chinese file sharing sites).
+
[https://github.com/uberhalit/CitraTouchControl This] program allows you to control Citra with touch controls on your phone.
 +
It is, therefore, possible to use a [https://play.google.com/store/apps/details?id=com.microsoft.rdc.android.beta remote desktop client] via your phone, to emulate with Citra and stream from your PC to your phone.
 +
See gif.
  
Close to beating the Chinese builds, there's [https://www.amazon.co.uk/clouddrive/share/UbPpeDPLyV0XL4JkjcNuKfhL9fQUQHYRdSPLQe0ZagA?ref_=cd_ph_share_link_copy Daman's build]. Other unofficial forks include [https://github.com/Subv Subv fork], [https://github.com/DaMan69/citra/tree/franken-build Franken's Build], and [https://github.com/wwylele/citra/tree/cro++ Wwylele's CRO++ build].
+
[[File:Citra_Remote.gif|thumb|right|Example of remote phone play on Citra. (Click to play)]]
  
==Importing Saves==
+
An [https://github.com/SachinVin/citra_android unofficial frontend software] for running Citra on [[Android emulators|Android devices]] has been created by SachinVin, and its first binary release came out on [https://github.com/SachinVin/citra_android/releases/tag/v0.1.0-pre-alpha May 23, 2018]. It was based off the [[Dolphin]] frontend for Android. It is in continuous development with newer releases as of late 2018. It is slow and possibly with no sound, and its compatibility level is low.
Some games like Bravely Second, Zelda Alttp, and the Pokémon X/Y games require this to bypass bugs in title screens.
 
* Get the Title ID for the game version you have from [http://www.3dsdb.com/ here]. For example, we'll try with the European version of Zelda A Link Between Words. 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, take 00000000 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 named "00000001", 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
 
  
==Emulation Issues==
+
==External links==
*'''Emulation Speed:''' The slow emulation is due to the emulator not having a hardware renderer (instead of the software renderer) and a proper recompiler (instead of the interpreter mode). The former was fixed, and the latter may be coming down the road yet some unofficial builds do optimise the emulator further for slightly faster emulation. 
+
* [https://citra-emu.org/game/ Official compatibility list]
*'''Local and Online Multiplayer:''' Connectivity features relying on Wi-Fi still aren't documented let alone emulated, either for DS or 3DS. This may change as emulation progresses down the road and work begins on these areas.
+
* [https://www.ziperto.com/nintendo/3ds-roms/decrypted-3ds-roms/ Playable Decrypted ROM's Collection]
*'''New 3DS Mode:''' The original hardware is being emulated. When loading a New 3DS Exclusive game, the emulator displays a crash error, but commenting that out of the source for master allows it to go in-game just fine.
+
* [https://citra-emu.org/discord/ Discord channel]
*'''Stereoscopic 3D:''' The 3D switch is OFF by default. Work has started long ago on a branch featuring this functionality but has been on hiatus for a while.
+
* [https://community.citra-emu.org/ Official Citra forum]
*'''Motion Controls:''' Required for some games like Cubic Ninja. Already emulated but yet to be merged in the master.
+
* [https://www.youtube.com/channel/UC_dcdgzuapBtAY4ol3x-90Q Official YouTube channel]
*'''Yet to be emulated features:''' Camera, Microphone, NFC...
 
  
 
[[Category:Nintendo 3DS emulators]]
 
[[Category:Nintendo 3DS emulators]]
Line 45: Line 66:
 
[[Category:Windows emulation software]]
 
[[Category:Windows emulation software]]
 
[[Category:Linux emulation software]]
 
[[Category:Linux emulation software]]
[[Category:OS X emulation software]]
+
[[Category:macOS emulation software]]

Revision as of 03:41, 29 January 2019

Citra
153px
Developer(s) Citra Team
Latest version N/A
Active Yes
Platform(s) Windows, Linux, macOS
Emulates Nintendo 3DS
Website Citra-emu.org
Support ($) Patreon
Programmed in C++
Source code GitHub

Citra is an open-source Nintendo 3DS emulator/debugger written in C++. It's currently able to run quite a few games well, though very few can run at full speed on existing hardware, and most titles have sound issues. It is also available as a libretro core.

Due to its preliminary state, it has not yet had a stable release.

Downloads

Shared data

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

Some games require this to bypass bugs in title screens.

  1. 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.
  2. Take the last 8 digits of the Title ID. (in our example, 000EC400) In case this method fails later, take 00000000 instead, or make sure the save file and the ROM image are from the same region.
  3. 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 named 00000001, then inside that one put the actual save data files.
  4. Move the folder with the title ID and put it here:
    \user\sdmc\Nintendo 3DS\00000000000000000000000000000000\00000000000000000000000000000000\title\00040000

Issues

Emulation issues

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.
  • New 3DS mode. Throws a fatal error or tries to emulate in old 3DS mode. Even when the source is modified to allow for New 3DS mode, it's still too buggy and crash-prone to be usable.
  • Stereoscopic 3D visual effect. Was worked on briefly before being abandoned.

Game Image Format

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.

Furthermore, 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, isn't actively pursued as a design choice. Tools on 3DS and PC exist to convert those to decrypted .3ds format for the time being, and a guide can be found here.

Telemetry

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.

Playing Citra on your phone

This program allows you to control Citra with touch controls on your phone. It is, therefore, possible to use a remote desktop client via your phone, to emulate with Citra and stream from your PC to your phone. See gif.

Example of remote phone play on Citra. (Click to play)

An unofficial frontend software for running Citra on Android devices has been created by SachinVin, and its first binary release came out on May 23, 2018. It was based off the Dolphin frontend for Android. It is in continuous development with newer releases as of late 2018. It is slow and possibly with no sound, and its compatibility level is low.

External links