Difference between revisions of "Citra"

From Emulation General Wiki
Jump to navigation Jump to search
(Added license.)
(43 intermediate revisions by 24 users not shown)
Line 1: Line 1:
{{Infobox
+
{{Infobox emulator
|image = citra.svg
+
|logo = citra.svg
|imagewidth = 150
+
|logowidth = 153
|first = n/a
+
|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 full speed on existing hardware, and most titles have sound issues.
+
|source = [https://github.com/citra-emu/citra/ GitHub]
 +
|license = GNU GPLv2
 +
}}
 +
'''[[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 and bleeding edge builds]
+
* [https://citra-emu.org/download/ Latest nightly and canary builds] (Windows, Linux, macOS)
  
===Unofficial builds===
+
==Shared data==
Some users have been creating their own builds using WIP branches and compiler optimization flags for slightly better speeds, compatibility and/or more features. Discussion and downloads for unofficial builds can be found in [http://gbatemp.net/threads/citra-unofficial-chinese-builds-discussion.431974/ this thread], and the ''chinese builds'' by g*mk can be found [http://pan.baidu.com/share/home?uk=33717959#category/type=0 here.]
+
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==
 
==Importing saves==
Some games like Bravely Second, Zelda: ALBW, and the Pokémon X/Y games require this to bypass bugs in title screens.
+
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>.
 
# 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.
 
# 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.
Line 27: Line 32:
 
#: <code>\user\sdmc\Nintendo 3DS\00000000000000000000000000000000\00000000000000000000000000000000\title\00040000</code>
 
#: <code>\user\sdmc\Nintendo 3DS\00000000000000000000000000000000\00000000000000000000000000000000\title\00040000</code>
  
==Emulation issues==
+
==Issues==
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.
+
===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]].
 +
 
 +
===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==
 
==Playing Citra on your phone==
[https://github.com/uberhalit/CitraTouchControl This] program allows you to control citra with touch controls on your phone.
+
[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.
+
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.
 
See gif.
  
[[File:Citra_Remote.gif|thumb|right|Example of remote phoneplay on citra. (Click to play)]]
+
[[File:Citra_Remote.gif|thumb|right|Example of remote phone play on Citra. (Click to play)]]
 
 
  
 +
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.
  
 
==External links==
 
==External links==
* [https://docs.google.com/spreadsheets/d/1tCDLFRY3uFml1a5rt6OuFvvTp_vW7ibatBAAbwwXo-g/edit#gid=424850216 Compatibility list (Google Docs)]
+
* [https://citra-emu.org/game/ Official compatibility list]
 +
* [https://www.ziperto.com/nintendo/3ds-roms/decrypted-3ds-roms/ Playable Decrypted ROM's Collection]
 +
* [https://citra-emu.org/discord/ Discord channel]
 +
* [https://community.citra-emu.org/ Official Citra forum]
 +
* [https://www.youtube.com/channel/UC_dcdgzuapBtAY4ol3x-90Q Official YouTube channel]
  
 
[[Category:Nintendo 3DS emulators]]
 
[[Category:Nintendo 3DS emulators]]
Line 46: Line 67:
 
[[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 18:14, 6 October 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++
License GNU GPLv2
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