citra-web/wiki/faq/index.html

549 lines
58 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<meta name="theme-color" content="#FF8E03">
<meta property="og:title" content="FAQ &middot; Citra" />
<meta property="og:site_name" content="Citra" />
<meta property="og:url" content="https://citra-emu.org/wiki/faq/" />
<meta property="og:description" content="About Citra What is Citra? Citra is a work-in-progress Nintendo 3DS emulator started in early 2013. Citra can currently emulate, with varying degrees of success, a wide variety of different homebrew applications and commercial software.
What is Citra&rsquo;s License? Citra is an open-source project, licensed under the GPLv2 (or any later version). Refer to the license document for more information.
Who made Citra? Citra has an active team of open-source developers." />
<meta name="description" content="About Citra What is Citra? Citra is a work-in-progress Nintendo 3DS emulator started in early 2013. Citra can currently emulate, with varying degrees of success, a wide variety of different homebrew applications and commercial software.
What is Citra&rsquo;s License? Citra is an open-source project, licensed under the GPLv2 (or any later version). Refer to the license document for more information.
Who made Citra? Citra has an active team of open-source developers." />
<meta property="og:type" content="website" />
<link rel="icon" href="https://citra-emu.org/favicon.ico" />
<link rel="shortcut icon" href="https://citra-emu.org/favicon.ico" type="image/x-icon" />
<link rel="canonical" href="https://citra-emu.org/wiki/faq/">
<title>FAQ - Citra</title>
<link href="https://fonts.googleapis.com/css?family=Ubuntu|Dosis" rel="stylesheet">
<link rel="stylesheet" href="https://citra-emu.org/scss/style.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"
integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-73966905-1', 'auto');
ga('send', 'pageview');
</script>
</head>
<body>
<nav class="navbar navbar-default navbar-wrapper navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar"
aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">&nbsp;</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="index-1 first"><a href="/" title="Blog Posts">Blog</a></li>
<li class="index-2"><a href="/download/" title="Download Citra">Download</a></li>
<li class="index-3"><a href="/help/" title="Help">Help</a></li>
<li class="index-4"><a href="/wiki/faq/" title="Frequently Asked Questions">FAQ</a></li>
<li class="index-5"><a href="/game/" title="Game Compatibility">Compatibility</a></li>
<li class="index-6"><a href="/wiki/home/" title="Wiki Homepage">Wiki</a></li>
<li class="index-7 dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"
role="button" aria-haspopup="true" aria-expanded="false">
Social <span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li class="index-1 first"><a href="/rules/" title="Community Rules">Rules</a></li>
<li class="index-2"><a href="https://community.citra-emu.org/" title="Forums">Community Forums</a></li>
<li class="index-3 last"><a href="/discord/" title="Discord Server">Discord Chat</a></li>
</ul>
</li>
<li class="index-8 dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
aria-haspopup="true" aria-expanded="false">
Media <span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li class="index-1 first"><a href="/screenshots/" title="Screenshots">Screenshots</a></li>
<li class="index-2 last"><a href="https://www.youtube.com/channel/UC_dcdgzuapBtAY4ol3x-90Q"
title="YouTube Channel">Videos</a></li>
</ul>
</li>
<li class="index-9 last"><a href="https://www.patreon.com/citraemu" title="Patreon">Patreon</a></li>
</ul>
</div>
</div>
</nav>
<div id="mainContainer" class="container" >
<div class="row">
</div>
<div class="row row-fluid">
<div id="content" class="col-xs-12 col-sm-12 col-md-9 col-lg-9 pull-right">
<h1>FAQ</h1>
<h2 id="about-citra">About Citra</h2>
<h4 id="what-is-_citra_">What is <em>Citra</em>?</h4>
<p><em>Citra</em> is a work-in-progress <em>Nintendo 3DS</em> emulator started in early 2013. <em>Citra</em> can currently emulate, with varying degrees of success, a wide variety of different homebrew applications and commercial software.</p>
<h4 id="what-is-_citra_s-license">What is <em>Citra</em>&rsquo;s License?</h4>
<p><em>Citra</em> is an open-source project, licensed under the GPLv2 (or any later version). Refer to the <a href="https://github.com/citra-emu/citra/blob/master/license.txt">license document</a> for more information.</p>
<h4 id="who-made-_citra_">Who made <em>Citra</em>?</h4>
<p><em>Citra</em> has an active team of open-source developers. Over 150 people have worked hard on the project since its founding in 2014! The list of contributors can be found on <a href="https://github.com/citra-emu/citra/graphs/contributors"><em>GitHub</em></a>.</p>
<p><em>Note: Citra is not affiliated with Nintendo in any way.</em></p>
<h4 id="where-does-the-name-come-from">Where does the name come from?</h4>
<p>The name is derived from CTR, which is part of the model number of the original 3DS.</p>
<hr>
<h2 id="running-games-in-_citra_">Running games in <em>Citra</em></h2>
<h4 id="how-to-get-games-on-_citra_">How to get games on <em>Citra</em>?</h4>
<p>In order to run your games, <em>Citra</em> requires that you dump your games, game updates, DLC and other 3DS system files from a <a href="https://3ds.hacks.guide/">hacked 3DS</a>. This is the only legal way to obtain these files for use in <em>Citra</em>. Any other method of obtaining these files is considered piracy and therefore illegal.</p>
<p>For dumping your games:</p>
<ul>
<li><a href="https://citra-emu.org/wiki/dumping-game-cartridges"><strong>Dumping Game Cartridges</strong></a></li>
<li><a href="https://citra-emu.org/wiki/dumping-installed-titles"><strong>Dumping Installed Titles</strong></a></li>
</ul>
<p>For dumping your updates and DLC:</p>
<ul>
<li><a href="https://citra-emu.org/wiki/dumping-updates-and-dlcs/"><strong>Dumping Updates and DLC</strong></a></li>
</ul>
<p>Although we provide open-source implementations for the 3DS system files in <em>Citra</em>, we recommend users to dump these files from your 3DS for more accuracy:</p>
<ul>
<li><a href="https://citra-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-3ds-console/"><strong>Dumping System Archives and Shared Fonts</strong></a></li>
</ul>
<h4 id="where-can-i-download-games-to-use-with-_citra_">Where can I download games to use with <em>Citra</em>?</h4>
<p>Short answer: You don&rsquo;t. Buy games and dump them with a <em>Nintendo 3DS</em>.</p>
<p>Long answer: Downloading commercial games is illegal and thus strongly frowned upon by the <em>Citra</em> developers. To prevent legal issues, this includes gray areas like downloading games which you purchased earlier. You don&rsquo;t necessarily need to own a 3DS yourself, as you can buy game cartridges and dump them with a friend&rsquo;s console. On the other hand, copying a friend&rsquo;s game dump is considered illegal. Please note that any mention or discussion of piracy on our <a href="https://community.citra-emu.org"><em>forums</em></a> or <a href="https://discord.gg/FAXfZV9"><em>Discord</em></a> channels will result in being banned from our community.</p>
<h4 id="can-_citra_-run-encrypted-games">Can <em>Citra</em> run encrypted games?</h4>
<p>Yes, though you&rsquo;ll need to dump your 3DS&rsquo; system keys for this to work:</p>
<ul>
<li><a href="https://citra-emu.org/wiki/aes-keys/"><strong>AES Keys</strong></a></li>
</ul>
<h4 id="can-_citra_-run-_pokémon_-games">Can <em>Citra</em> run <em>Pokémon</em> games?</h4>
<p>All Pokémon games now work properly. For Pokémon X &amp; Y, Linux users building from source need to take a look at <a href="/wiki/building-for-linux">Building for Linux</a> for building with the AAC audio decoder.</p>
<h4 id="does-_citra_-run-on-an-apple-silicon-device">Does <em>Citra</em> run on an Apple silicon device?</h4>
<p>Yes! <em>Citra</em> does support Apple silicon (M1/M2) MacOS devices.</p>
<h4 id="are-you-planning-on-making-an-ios-citra-port">Are you planning on making an iOS Citra port?</h4>
<p>No. We currently have no developers with an interest in making an iOS port happen.</p>
<h4 id="can-_citra_-run-insert-retail-game-name-here">Can <em>Citra</em> run [Insert retail game name here]?</h4>
<p><em>Citra</em> can, ostensibly, &ldquo;play&rdquo; many different games now and more will become playable as development progress further. Some games/apps, however, will not load at all only showing a black screen. Others might only show the title screen and then freeze or crash.</p>
<p>See our <a href="https://citra-emu.org/game/">Game Compatibility List</a> for more info. You can also help us improve the <strong>Game Compatibility List</strong> by doing testing and reviewing the game.</p>
<p>You can expect some games to run slowly, though and to exhibit some gameplay and graphical glitches.</p>
<h4 id="does-_citra_-support-wi-fi-network-connectivity-or-online-play">Does <em>Citra</em> support Wi-Fi, network connectivity or online play?</h4>
<p>Yes, <em>Citra</em> supports networked local Wi-Fi, but does not support connecting to Nintendo&rsquo;s servers.</p>
<h4 id="why-dont-my-miis-have-headswhy-do-my-miis-have-a-no-entry-sign-as-their-heads">Why don&rsquo;t my Miis have heads/Why do my Miis have a &ldquo;No-Entry&rdquo; Sign as their heads?</h4>
<p>That No-Entry sign is our open-source replacement to prevent you from crashing. For Miis to have proper heads and faces, you&rsquo;ll need to dump some system files:</p>
<ul>
<li><a href="https://citra-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-3ds-console/"><strong>Dumping System Archives and Shared Fonts</strong></a></li>
</ul>
<h4 id="does-_citra_-have-an-android-port">Does <em>Citra</em> have an Android port?</h4>
<p>Yes, it has been officially released and can be downloaded via <a href="https://play.google.com/store/apps/details?id=org.citra.citra_emu">https://play.google.com/store/apps/details?id=org.citra.citra_emu</a></p>
<h4 id="does-_citra_-have-controller-support">Does <em>Citra</em> have controller support?</h4>
<p>Yes, you can configure your controller directly through the GUI in <code>Emulation -&gt; Configuration (Citra -&gt; Preferences) -&gt; Controls</code>.</p>
<h4 id="can-i-make-_citra_-fully-portable">Can I make <em>Citra</em> fully portable?</h4>
<p>Yes, go to our <a href="https://citra-emu.org/download/">download</a> page and select <code>Manual download</code>. Then under <strong>Nightly Build</strong>, click on your operating system&rsquo;s icon to the right of the latest build available to download the build.
Extract it (.7z can be extracted using Winrar or 7zip) and put it wherever you wish. Inside the extracted <code>nightly</code> folder, create a folder called <code>user</code>. This <em>Citra</em> should now store all of its config, save files and such inside of this <code>user</code> folder.
Check to make sure that this <code>user</code> folder is in the same folder that contains <code>citra-qt(.exe)</code>
Now you can start this <em>Citra</em> by launching the citra-qt executable found inside of the <code>nightly</code> folder.</p>
<h4 id="can-i-expect-_citra_-to-play-game-at-full-speed">Can I expect <em>Citra</em> to play [GAME] at full-speed?</h4>
<p><em>Citra</em> can run most games at variable speed, depending on your hardware configuration.
However, not all games are created equally and therefore some games will run at full speed while others might suffer from slow emulation. You may also experience some slowdowns.</p>
<p>A few things to keep in mind when it comes to performance in <em>Citra</em> in general:</p>
<ol>
<li><strong>Your CPU&rsquo;s Single Thread Performance.</strong></li>
</ol>
<p><em>Citra, like the 3DS, only utilizes 1 CPU core for running games. This means that your performance in Citra will depend on the <strong>Single Thread Performance</strong> of your CPU. Refer to your CPU&rsquo;s benchmark in this <a href="https://www.cpubenchmark.net/singleThread.html">graph</a>. If it&rsquo;s below a score of 1,800 the [GAME] might not be playable at decent speeds.</em></p>
<ol start="2">
<li><strong>Your (integrated or dedicated) GPU&rsquo;s OpenGL drivers.</strong></li>
</ol>
<p><em>Your GPU&rsquo;s &ldquo;horsepower&rdquo; isn&rsquo;t terribly important to performance in Citra, as Citra is mostly a CPU heavy program. However, GPU drivers can vary widely in quality between GPU brands and operating systems. For example, historically AMD has had incredibly badly optimized OpenGL drivers on Windows (pre-driver version 22.7.1). This caused a bottleneck in Citra&rsquo;s performance, even if the paired CPU&rsquo;s Single Thread Rating meets or exceeds a score of 1,800. When using the same hardware on Linux though, Citra will run great due to the vastly better (Mesa) drivers.</em></p>
<p><em>In terms of driver performance per GPU brand:</em></p>
<p><em>On Windows: An NVIDIA GPU will give you the best performance, followed by AMD (driver version 22.7.1 and newer) and lastly Intel. Keep in mind that if you&rsquo;re on AMD GPU hardware from before Arctic Islands/Polaris, you won&rsquo;t be able to benefit from AMD&rsquo;s reworked OpenGL implementation, which will result in horrible performance in Citra.</em></p>
<p><em>On Linux: NVIDIA, AMD and Intel all perform well in Citra. AMD here has a slight advantage over AMD&rsquo;s proprietary drivers on Windows. Intel also has a small uplift in performance. Users should use the open-source Mesa drivers for both Intel and AMD. NVIDIA GPU users should stick to the proprietary drivers.</em></p>
<p><em>On MacOS: MacOS devices using an Intel GPU will perform decently. Those using an AMD GPU may experience similar issues as those seen on older drivers on Windows.</em></p>
<ol start="3">
<li><strong>The <em>Citra</em> settings you&rsquo;re using.</strong></li>
</ol>
<p><em>There are a couple settings that can have a big impact on performance. By default, most settings are set to what is most performant and stable. If you&rsquo;re experiencing performance issues after toggling a few settings, go to <code>Emulation -&gt; Configuration (Citra -&gt; Preferences on MacOS) -&gt; General</code> and select <strong>Reset All Settings</strong>. This will return all the settings to their default values.</em></p>
<p><em>Another thing to keep in mind is that upscaling textures is relatively heavy on the GPU. Whilst most mid-range GPUs should be able to do this without any hit to the performance (within reason of course), low-end dedicated GPUs and integrated GPUs might struggle doing so.</em></p>
<p><em>Specifically for AMD GPU users on Windows: If you&rsquo;re stuck on older drivers from before version 22.7.1, and are having issues with performance in a particular game, try disabling <strong>Hardware Shaders</strong> in <code>Emulation -&gt; Configuration -&gt; Graphics -&gt; Advanced Tab</code>. This sometimes boosts performance in some games. This will not work for users on 22.7.1 or newer.</em></p>
<ol start="4">
<li><strong>The game you&rsquo;re trying to emulate.</strong></li>
</ol>
<p><em>As mentioned earlier, not all games are created equal. Citra might run certain games better than others regardless of your hardware. Some games may also require specific workarounds to make them run at decent speeds. These types of workarounds are usually posted on our <a href="https://citra-emu.org/game/">Game Compatibility List</a> for that game.</em></p>
<h4 id="i-saw-a-_youtube_-video-about-gamefeature-why-doesnt-it-work-on-the-nightly-buildofficial-_citra_-android-build">I saw a <em>YouTube</em> video about [GAME]/feature, why doesn&rsquo;t it work on the nightly build/Official <em>Citra</em> Android build?</h4>
<p>Alternative custom branches may have not been merged into master. We only support nightly builds based on the <a href="https://github.com/citra-emu/citra">master branch</a>.
Unofficial builds are not supported. There may be other branches that are planned to be merged, but must go through vetting first to ensure they are good contributions to the project long term. The same holds true for the official <em>Citra</em> Android builds.</p>
<hr>
<h2 id="system-requirements">System requirements.</h2>
<h4 id="which-platforms-does-_citra_-support">Which platforms does <em>Citra</em> support?</h4>
<p>We&rsquo;re pleased to say that <em>Citra</em> works on all three major desktop operating systems and Android!</p>
<p><em>Citra</em> is actively tested and supported on various 64-bit version of <em>Windows</em> (<em>10</em> or newer), <em>MacOS</em>, <em>Linux</em> and <em>Android</em> (9.0 - Pie or newer). Other platforms may work, but aren&rsquo;t tested by developers. We have no plans to support 32-bit operating systems officially.</p>
<h4 id="what-kind-of-specification-do-i-need-to-run-_citra_">What kind of specification do I need to run <em>Citra</em>?</h4>
<p>The only <strong>hard</strong> requirements for the official version of <em>Citra</em> is a graphics chip that supports <strong>at least <em>OpenGL 4.3</em> or <em>Vulkan 1.1</em></strong> and a <strong>64-bit OS</strong> running on a standard PC, but you definitely want a processor with the highest possible performance per core.</p>
<h4 id="what-are-_citra_-androids-requirements">What are <em>Citra</em> Android&rsquo;s requirements?</h4>
<ul>
<li>A 64-bit operating system.</li>
<li>Support for OpenGL ES 3.2 or Vulkan 1.1</li>
<li>At least Android 9.0 (Pie) or newer.</li>
</ul>
<p>If you&rsquo;re unsure whether your Android device meets the requirements, download Aida64 from the Google Play Store. You can find the instruction set (64-bit or 32-bit) information in the <em>CPU</em> tab, the OpenGL ES version in the <em>Display</em> tab and the Android version in the <em>Android</em> tab.</p>
<p>We also recommend at least a Snapdragon 835 SoC or better. Your experience may vary greatly depending on the quality of your device&rsquo;s GPU drivers.</p>
<hr>
<h2 id="common-issues-and-troubleshooting-methods">Common issues and troubleshooting methods.</h2>
<h4 id="where-do-i-begin-when-attempting-to-troubleshoot-an-issue-with-game-in-_citra_">Where do I begin when attempting to troubleshoot an issue with [GAME] in <em>Citra</em>?</h4>
<p>A log file is a very useful tool for recording relevant information for use in troubleshooting. It records your hardware, settings, <em>Citra</em> version, GPU driver versions and it gives extra information about what <em>Citra</em> was doing before the issue occurred. We will post some common issues below, where the information inside the log file can come in handy. This guide will tell you how to generate a usable log file: <a href="https://community.citra-emu.org/t/how-to-upload-the-log-file/296">How to upload the log file</a>.</p>
<h4 id="_citras_-log-file-barely-has-any-information"><em>Citra&rsquo;s</em> log file barely has any information.</h4>
<p>You may have an incorrect <a href="https://github.com/citra-emu/citra/wiki/Log-Filters"><em>log filter</em></a> configured. To reset it, go to <em>Emulation</em> in the menu bar, and then <em>Configure</em>. Then, in the <em>Debug</em> tab, in the <em>Logging</em> group, reset the <em>Global Log Filter</em> to <code>*:Info</code>.</p>
<h4 id="my-game-is-crashing-but-my-_citra_-log-file-is-empty">My game is crashing, but my <em>Citra</em> log file is empty.</h4>
<p>You may be clearing your log file on accident. This sequence of steps will result in your log file being overwritten:</p>
<ol>
<li>Open <em>Citra</em>.</li>
<li>Play your game until it crashes or experiences the issue, closing <em>Citra</em>.</li>
<li>Open <em>Citra</em> again.</li>
<li>Open the log directory from <em>Citra&rsquo;s</em> configuration window.</li>
</ol>
<p>Since <em>Citra</em> was launched again in step 3, a new log was created. The correct sequence to follow is:</p>
<ol>
<li>Open <em>Citra</em>.</li>
<li>Open the log directory from <em>Citra&rsquo;s</em> configuration window.</li>
<li>Play your game until it crashes or experiences the issue, closing <em>Citra</em>.</li>
</ol>
<p>Now, without opening <em>Citra</em> again, you should have the correct log file. Note that in the first example, after the citra_log.txt file is overwritten, the citra_log.txt.old.txt file will retain that overwritten information. This is easy to check when looking at the file size. An &ldquo;empty&rdquo; log file will only have <em>Citra&rsquo;s</em> settings recorded and nothing more. That would be around 5KB. A properly generated log file would at least be larger than that.</p>
<h4 id="when-i-try-to-start-game-_citra_-crashesfreezes">When I try to start [GAME], <em>Citra</em> crashes/freezes!</h4>
<p>This can have many different causes. Therefore, it&rsquo;s useful to have your log file at hand to see if one of the scenarios below matches what your log file recorded. Note that the log file outputs might not be identical to yours even if you have the same issue. We will point out what to look out for in your log file when we can.</p>
<p>A) log file output:</p>
<pre tabindex="0"><code>*Insert Citra&#39;s settings lines here*
Input input_common/udp/client.cpp:StartCommunication:207: Starting communication with UDP input server on 127.0.0.1:26760
Frontend citra_qt/main.cpp:GMainWindow:195: Citra Version: Nightly XXXX | HEAD-XXXXXXX
Frontend citra_qt/main.cpp:GMainWindow:198: Host CPU: Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz
Frontend citra_qt/main.cpp:GMainWindow:200: Host OS: Windows 10 (10.0)
Frontend citra_qt/main.cpp:CheckForUpdates:829: Unable to start check for updates
Service.FS core/file_sys/ncch_container.cpp:Load:242: Secure1 KeyX missing
Service.FS core/file_sys/ncch_container.cpp:Load:342: NCCH is marked as encrypted but with decrypted exheader. Force no crypto scheme.
Frontend citra_qt/main.cpp:BootGame:1019: Citra starting...
Audio.DSP audio_core/hle/wmf_decoder.cpp:Impl:67: Media Foundation activated
Audio.DSP audio_core/hle/wmf_decoder_utils.cpp:MFDecoderInit:50: Windows(R) Media Foundation found 1 suitable decoder(s)
Audio.Sink audio_core/cubeb_sink.cpp:StateCallback:137: Cubeb Audio Stream Started
RPC_Server core/rpc/rpc_server.cpp:RPCServer:12: Starting RPC server ...
RPC_Server core/rpc/rpc_server.cpp:HandleRequestsLoop:113: Request handler started.
RPC_Server core/rpc/rpc_server.cpp:RPCServer:16: RPC started.
Service.HTTP core/hle/service/http_c.cpp:DecryptClCertA:827: ClCertA file missing
</code></pre><p>We can see that <em>Citra</em> attempted to boot the game: <code>Frontend citra_qt/main.cpp:BootGame:1019: Citra starting...</code>
However, before it could do so, it crashed without recording the game&rsquo;s titleID or your GPU&rsquo;s drivers. This usually means that there&rsquo;s an issue with <em>Citra&rsquo;s</em> Disk Shader Cache. The Disk Shader Cache saves the shaders you encounter while you play your game(s) to your device&rsquo;s storage. When you encounter the same shader again later, <em>Citra</em> can load that shader from the cache, instead of having to build it again. This reduces shader stutter, making gameplay smoother the longer you play. When the saved cache becomes faulty in some way, or the Disk Shader Cache isn&rsquo;t functioning correctly for another reason, <em>Citra</em> will crash on a game&rsquo;s launch with a similar log file output as shown above.</p>
<p>Since the currently built up shaders might be faulty, we should try deleting those first. Start up <em>Citra</em>, then go to <code>File -&gt; Open Citra Folder</code>. Now open the <code>shaders</code> folder and delete the <code>opengl</code> folder found here. Now try your game again. If the same crash occurs afterwards, try updating your GPU driver to the latest available or reinstall it completely. If all else fails, disable the <strong>Disk Shader Cache</strong> in <code>Emulation -&gt; Configuration -&gt; Graphics -&gt; Advanced Tab</code>.</p>
<p>B) Log file output:</p>
<pre tabindex="0"><code>Service.HTTP core/hle/service/http_c.cpp:DecryptClCertA:827: ClCertA file missing
Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:1194: GL_VERSION: 3.3.11411 Core Profile Forward-Compatible Context
Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:1195: GL_VENDOR: ATI Technologies Inc.
Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:1196: GL_RENDERER: AMD Radeon HD 7770
Render.OpenGL video_core/renderer_opengl/gl_rasterizer.cpp:RasterizerOpenGL:61: Shadow might not be able to render because of unsupported OpenGL extensions.
Render.OpenGL video_core/renderer_opengl/gl_shader_util.cpp:LoadProgram:101: Error linking shader:
Vertex shader(s) failed to link.
unexpected error.
Debug video_core/renderer_opengl/gl_shader_util.cpp:operator():105: Assertion Failed!
Shader not linked
</code></pre><p>Shader linking errors are usually caused by old/faulty GPU drivers. If you&rsquo;re already on the latest available GPU driver for your card, then try disabling <strong>Accurate Multiplication</strong> in <code>Emulation -&gt; Configuration -&gt; Graphics -&gt; Advanced Tab</code>. Old GPU drivers tend to have issues with this setting.</p>
<p>C) Log file output:</p>
<pre tabindex="0"><code>Service.FS core/file_sys/archive_selfncch.cpp:OpenRomFS:193: Unable to read RomFS
Service.FS core/hle/service/fs/fs_user.cpp:OpenFileDirectly:129: failed to get a handle for file [Binary: 000000000000000000000000] mode=1 attributes=0
Service.ERR core/hle/service/err_f.cpp:ThrowFatalError:169: Fatal error
Service.ERR core/hle/service/err_f.cpp:ThrowFatalError:171: Fatal error type: Generic
Service.ERR core/hle/service/err_f.cpp:LogGenericInfo:149: PID: 0x0000000B
Service.ERR core/hle/service/err_f.cpp:LogGenericInfo:151: REV: 0x00000000_0x0000C8E1
Service.ERR core/hle/service/err_f.cpp:LogGenericInfo:153: TID: 0x00000000_0x00000000
Service.ERR core/hle/service/err_f.cpp:LogGenericInfo:155: AID: 0x00000000_0x00000000
Service.ERR core/hle/service/err_f.cpp:LogGenericInfo:156: ADR: 0x00117EDC
Service.ERR core/hle/service/err_f.cpp:LogGenericInfo:159: RSL: 0xC8804464
Service.ERR core/hle/service/err_f.cpp:LogGenericInfo:160: Level: 25
Service.ERR core/hle/service/err_f.cpp:LogGenericInfo:161: Summary: 4
Service.ERR core/hle/service/err_f.cpp:LogGenericInfo:162: Module: 17
Service.ERR core/hle/service/err_f.cpp:LogGenericInfo:163: Desc: 100
</code></pre><p><code>Service.FS core/file_sys/archive_selfncch.cpp:OpenRomFS:193: Unable to read RomFS</code>
This means that your ROM is corrupted. You&rsquo;ll need to redump your game. Make sure that your Godmode9 is up-to-date and that you have enough free storage space on your SD-Card to perform the dump.</p>
<ul>
<li><a href="https://citra-emu.org/wiki/dumping-game-cartridges"><strong>Dumping Game Cartridges</strong></a></li>
<li><a href="https://citra-emu.org/wiki/dumping-installed-titles"><strong>Dumping Installed Titles</strong></a></li>
</ul>
<p>D) Log file output:</p>
<pre tabindex="0"><code>Service.FS core/file_sys/ncch_container.cpp:OpenFile:130: Failed to open C:\Users\USER\AppData\Roaming/Citra/sdmc/Nintendo 3DS/00000000000000000000000000000000/00000000000000000000000000000000/title/0004000e/insert game ID here/content/00000000.app
Core core/core.cpp:Load:293: Failed to load ROM (Error 1)!
</code></pre><p>This error usually occurs when you&rsquo;ve incorrectly built a ROM. This can happen when using an outdated game dumping method instead of Godmode9 or when badly editing/patching a ROM file. Like when you&rsquo;re patching a ROM with a ROM hack or randomization.</p>
<p>E) Log file output:</p>
<pre tabindex="0"><code>HW.Memory core/memory.cpp:Read:322: unmapped Read32 @ 0x00000084 at PC 0x00332C54
HW.Memory core/memory.cpp:Read:322: unmapped Read32 @ 0x00000088 at PC 0x00332C54
HW.Memory core/memory.cpp:Read:322: unmapped Read32 @ 0x0000008C at PC 0x00332C54
HW.Memory core/memory.cpp:Read:322: unmapped Read32 @ 0x00000090 at PC 0x00332C54
HW.Memory core/memory.cpp:Read:322: unmapped Read32 @ 0x00000094 at PC 0x00332C54
</code></pre><p>This line may repeat itself over and over, making for a very big log file (sometimes also including some unmapped writes). What this usually means is one of 3 things:</p>
<ol>
<li>You have an incompatible cheat code active. The log file will tell you if there are any cheat codes active earlier in the log file: <code>Core.Cheats core/cheats/gateway_cheat.cpp:SetEnabled:432: Cheats enabled. This might lead to weird behavior or crashes</code></li>
</ol>
<p><em>Disable all cheats and then restart <em>Citra</em> (important, otherwise they remain active). Now try your game again.</em></p>
<ol start="2">
<li><em>Citra</em> encountered something corrupted. This can be anything from the ROM, game updates, DLC, nand files, ect.</li>
</ol>
<p><em>It&rsquo;s usually best to approach this by process of elimination; Keep individually testing every dumped file that your game uses until you find the one(s) that are causing the unmapped reads, starting with your ROM. It may be useful to set up a portable <em>Citra</em> version for this (instructions on doing so can be found earlier on the FAQ page).</em></p>
<ol start="3">
<li>There is a mismatch between your <em>Citra</em> region and the region of your game. In this case the log file usually outputs alternating unmapped reads to unmapped writes lines:</li>
</ol>
<pre tabindex="0"><code>HW.Memory core/memory.cpp:Read:322: unmapped Read32 @ 0xF94666CF at PC 0x00000000
HW.Memory core/memory.cpp:Write:357: unmapped Write32 0x41F00000 @ 0xF94666CF at PC 0x00000000
HW.Memory core/memory.cpp:Read:322: unmapped Read32 @ 0xF8D6B69F at PC 0x00000000
HW.Memory core/memory.cpp:Write:357: unmapped Write32 0x009F072A @ 0xF8D6B69F at PC 0x00000000
HW.Memory core/memory.cpp:Read:322: unmapped Read8 @ 0x00006B89 at PC 0x00000000
HW.Memory core/memory.cpp:Write:357: unmapped Write8 0x0000008F @ 0x00006B89 at PC 0x00000000
</code></pre><p>Go to <code>Emulation -&gt; Configuration -&gt; General</code> and under the <code>Emulation</code> block, set <strong>Region:</strong> to <code>Auto-select</code>. Now try your game again.</p>
<p>Unmapped read/write related crashes and freezes can occur both right at the start, as well as during gameplay.</p>
<h4 id="there-is-an-error-that-occurs-in-_citra_-with-intel-hd-40002500-integrated-gpus-on-windows-and-intel-hd-graphics-of-the-same-architecture-ivy-bridge">There is an error that occurs in <em>Citra</em> with Intel HD 4000/2500 integrated GPUs on Windows (and Intel HD Graphics of the same architecture (Ivy Bridge)).</h4>
<p>These GPUs have driver bugs that will cause freezing and crashing, seemingly at random. Some users can run some versions of <em>Citra</em> Nightly with no issues whatsoever, but after updating to a newer, or downgrading to an older <em>Citra</em> version, these crashing/freezing issues start to occur. Other users can&rsquo;t run any <em>Citra</em> Nightly version at all. The only way to fix this currently is to use <a href="https://github.com/citra-emu/citra-nightly/releases/tag/nightly-1782">Citra Nightly 1782</a> and to disable <em>V-sync</em> in <code>Emulation -&gt; Configuration -&gt; Graphics -&gt; Advanced Tab</code>.
If you&rsquo;re unsure what iGPU you&rsquo;re using (or what generation), right click on your Windows start button and select <code>Device Manager</code>. Expand the Display adapters tab. It should tell you what GPU you have. If it only says <code>Intel HD Graphics</code>, expand the Processors tab as well. Then google your processor name. On Intel&rsquo;s product page, it should tell you what generation it is from next to the &ldquo;Code Name&rdquo;. If it says &ldquo;Products formerly Ivy Bridge&rdquo;, the above also applies to you.</p>
<h4 id="there-is-a-graphical-error-that-occurs-in-_citra_-with-intel-hd-44004600-integrated-gpus-on-windows-and-intel-hd-graphics-of-the-same-architecture-haswell">There is a graphical error that occurs in <em>Citra</em> with Intel HD 4400/4600 integrated GPUs on Windows (and Intel HD Graphics of the same architecture (Haswell)).</h4>
<p>These GPUs have driver bugs that will cause <em>Citra</em> to render things incorrectly, resulting in broken graphics. The only way to fix this is to disable <em>Accurate Multiplication</em> in <code>Emulation -&gt; Configuration -&gt; Graphics -&gt; Advanced Tab</code>.
If you&rsquo;re unsure what iGPU you&rsquo;re using (or what generation), right click on your Windows start button and select <code>Device Manager</code>. Expand the Display adapters tab. It should tell you what GPU you have. If it only says <code>Intel HD Graphics</code>, expand the Processors tab as well. Then google your processor name. On Intel&rsquo;s product page, it should tell you what generation it is from next to the &ldquo;Code Name&rdquo;. If it says &ldquo;Products formerly Haswell&rdquo;, the above also applies to you.</p>
<h4 id="game-runs-way-too-fast-how-can-i-slow-down-the-emulation">[GAME] runs way too fast, how can I slow down the emulation?</h4>
<p>Go to <code>Emulation -&gt; Configuration (Citra -&gt; Preferences on MacOS) -&gt; General</code>, set your <strong>Emulation Speed</strong> slider to your desired speed and disable <strong>Use Alternate Speed</strong> if that is turned on.</p>
<h4 id="how-to-solve-weird-audio-glitcheshitches">How to solve weird audio glitches/hitches?</h4>
<p>Go to <code>Emulation -&gt; Configuration (Citra -&gt; Preferences on MacOS) -&gt; Audio</code>, and disable <strong>Audio Stretching</strong>.</p>
<h4 id="why-does-my-game-audio-sound-delayed">Why does my game audio sound delayed?</h4>
<p>This can sometimes be caused by V-Sync and/or Audio Stretching. You can find <strong>V-Sync</strong> in <code>Emulation -&gt; Configuration (Citra -&gt; Preferences on MacOS) -&gt; Graphics -&gt; Advanced Tab</code>, and you can find <strong>Audio Stretching</strong> in <code>Emulation -&gt; Configuration (Citra -&gt; Preferences on MacOS) -&gt; Audio</code></p>
<h4 id="does-_citra_-have-a-speed-upfast-forward-button">Does <em>Citra</em> have a speed-up/fast forward button?</h4>
<p>Not exactly. You can set up something similar, but this will only work if your set-up can run <em>Citra</em> at those sped up emulation speeds to begin with.</p>
<p>Go to <code>Emulation -&gt; Configuration (Citra -&gt; Preferences on MacOS) -&gt; General</code>. Set your <strong>Emulation Speed</strong> slider to what you want your regular speed to be. Then set your <strong>Use Alternate Speed</strong> slider to what you want your speed-up/fast forward speed to be. Navigate to the <code>Controls -&gt; Hotkey</code> menu. Find the <strong>Toggle Alternate Speed</strong> option and double click it to change it to whatever key you want your speed-up/fast forward key to be. Press OK and enjoy.</p>
<h4 id="how-to-fix-array-size-too-short-error">How to fix &ldquo;Array Size too short&rdquo; error?</h4>
<p>This error occurs when attempting to load a Save State on a <em>Citra</em> version that is different from the one that it was created on. Save States aren&rsquo;t compatible between different <em>Citra</em> versions or even between different <em>Citra</em> installations. It is therefore always recommended to use your in-game save files most of all for recording your progress, and to only use Save States within single gaming sessions.</p>
<p>If you really need to recover the progress of a particular Save State and you&rsquo;ve run into this error, you&rsquo;ll need to find the <em>Citra</em> version you created the Save State on and load it there. Then you can save in-game and continue on the newer <em>Citra</em> version. If you don&rsquo;t know which <em>Citra</em> version you saved the state on, check the <a href="https://community.citra-emu.org/t/how-to-upload-the-log-file/296">log file</a>. It should detect whether a Save State was made on a different <em>Citra</em> version and tell you the commit hash of that version.</p>
<h4 id="_citra_-complains-about-missing-dlls"><em>Citra</em> complains about missing DLLs.</h4>
<p>First, if you&rsquo;ve downloaded any DLL files from the Internet and placed them in the <em>Citra</em> or a system folder, <em>remove them first</em>, they will not solve your problem and may cause system instability. Then download and install the <em>x64</em> variant (vc_redist.x64.exe) of <a href="https://go.microsoft.com/fwlink/?LinkId=746572">Visual C++ Redistributable for Visual Studio 2017</a> from <em>Microsoft</em>. If that doesn&rsquo;t help, ensure you have also extracted the DLL files that come included with the <em>Citra</em> builds and that they are in the same directory as the executable.</p>
<h4 id="a-message-box-pops-up-saying-the-application-was-unable-to-start-correctly-0xc000007b">A message box pops up saying the application was unable to start correctly <code>0xc000007b</code>.</h4>
<p>See above about missing DLLs. If that doesn&rsquo;t help, see the first entry below this one about the requirement for those on Windows 10 N or KN to install the Windows Media Feature Pack.</p>
<h4 id="_citra_-complains-about-entry-point-not-foundmfdll-not-found"><em>Citra</em> complains about &ldquo;Entry Point Not Found/MF.dll not found&rdquo;</h4>
<p>Type <code>winver</code> into your Windows search bar and launch the prompt when it pops up. This should give you information about your Windows installation and update version. It should look something like this:</p>
<pre tabindex="0"><code>Microsoft Windows
Version XXXX (OS build XXXXX.XXXX)
Microsoft Corporation. All rights reserved.
The Windows 10 (Pro) (N or KN).....
</code></pre><p>If yours says that you&rsquo;re on a Windows 10 N or KN version, it means that you&rsquo;re using a Windows version that released without a bunch of media foundation tools. <em>Citra</em> requires some of those, which is why that error occurs. Thankfully, you can fix this by installing the Windows media feature pack. Microsoft changed how to do this a couple Windows 10 versions ago.</p>
<p>For those on Windows 10 Version 1909 (OS build 18363.XXXX) or newer:</p>
<p>&ldquo;<em>The Media Feature Pack for N versions of Windows 10 is available for download as an Optional Feature. To install the Media Feature Pack, navigate to Settings &gt; Apps &gt; Apps and Features &gt; Optional Features &gt; Add a Feature and find the Media Feature Pack in the list of available Optional Features. Note, you will not be prompted to restart your computer, but you must restart in order to successfully complete installation of the Media Feature Pack.</em>&rdquo;</p>
<p>For those on Windows 10 Version 1903 (OS build 18362.XXXX) or older:</p>
<p>Head to <a href="https://www.microsoft.com/en-us/software-download/mediafeaturepack">https://www.microsoft.com/en-us/software-download/mediafeaturepack</a> and specify which version of Windows 10 you&rsquo;re on. Then download and install the Media Feature Pack. Once installed, restart your PC if the installer doesn&rsquo;t prompt you to do so. Now try running <em>Citra</em> again.</p>
<h4 id="ive-dumped-my-game-but-when-i-load-it-_citra_-crashesprints-a-bunch-of-gibberish-to-the-console">I&rsquo;ve dumped my game but when I load it, <em>Citra</em> crashes/prints a bunch of gibberish to the console!</h4>
<p>Games need to be decrypted on a 3DS before being usable in <em>Citra</em> (unless you dump your system keys). This is a technical limitation, and it is unlikely that it can be removed in the foreseeable future. To decrypt your games, you will need to have a 3DS system with boot9strap installed and follow one of the following guides:</p>
<ul>
<li><a href="/wiki/dumping-game-cartridges">Dumping Game Cartridges</a></li>
<li><a href="/wiki/dumping-installed-titles">Dumping Installed Titles</a></li>
</ul>
<h4 id="what-should-i-do-if-i-get-an-error-saying-something-like-getconfiginfoblock-config-block-0xxxxxx-with-flags-x-and-size-x-was-not-found">What should I do if I get an error saying something like <code>GetConfigInfoBlock: Config block 0xXXXXX with flags X and size X was not found</code>?</h4>
<p>Sometimes a game will freeze and you&rsquo;ll get an error which looks like this in the log, usually followed by a &ldquo;Fatal Error&rdquo;:</p>
<pre tabindex="0"><code>Service.CFG core\hle\service\cfg\cfg.cpp:Service::CFG::GetConfigInfoBlock:236: Config block 0xA0001 with flags 2 and size 2 was not found
</code></pre><p>If a log file with this error is read by the <em>Citra</em> bot, it might tell you &ldquo;System configuration block 0xXXXXX appears to be corrupted.&rdquo;</p>
<p>In this case: Start <em>Citra</em>, go to <code>File -&gt; Open Citra Folder</code> and follow this file path: <code>nand/data/00000000000000000000000000000000/sysdata/00010017/00000000/</code>. Delete the <code>config</code> file found here. Now restart <em>Citra</em> and try your game again. Make sure you&rsquo;re on the latest <em>Citra</em> version. If this does not work, then note the config block number (<code>0xA0001</code> in the example) and file a bug report.</p>
<h4 id="how-can-i-fix-the-api-error-1282-opengl-error-i-cant-figure-out-what-is-causing-this-to-happen">How can I fix the <code>API ERROR 1282 OPENGL</code> error? I can&rsquo;t figure out what is causing this to happen!</h4>
<p>This is the result of third-party application that uses overlays which might conflict with <em>Citra</em>.
The console will print this error log:</p>
<pre tabindex="0"><code>Render.OpenGL video_core\renderer_opengl\renderer_opengl.cpp:DebugHandler:469: API ERROR 1282: GL_INVALID_OPERATION error generated. Function glMatrixMode is deprecated and not available in preview contexts.
Render.OpenGL video_core\renderer_opengl\renderer_opengl.cpp:DebugHandler:469: API ERROR 1282: GL_INVALID_OPERATION error generated. Function glPushMatrix is deprecated and not available in preview contexts.
Render.OpenGL video_core\renderer_opengl\renderer_opengl.cpp:DebugHandler:469: API ERROR 1282: GL_INVALID_OPERATION error generated. Function glLoadIdentity is deprecated and not available in preview contexts.
Render.OpenGL video_core\renderer_opengl\renderer_opengl.cpp:DebugHandler:469: API ERROR 1282: GL_INVALID_OPERATION error generated. Function glOrtho is deprecated and not available in preview contexts.
</code></pre><p>So far only <em>MSI Afterburner</em> is being reported to have conflicts with <em>Citra</em>, therefore it is advisable to close it before launching <em>Citra</em>.</p>
<h4 id="where-is-the-folder-for-the-emulated-sd-card">Where is the folder for the emulated SD card?</h4>
<p>The folder for the emulated SD card is named <code>sdmc</code> and can be found in <em>Citra&rsquo;s</em> <a href="/wiki/user-directory">User Directory</a>.</p>
<h4 id="my-issue-isnt-mentioned-abovei-tried-the-fix-for-my-issue-but-it-didnt-work-for-me">My issue isn&rsquo;t mentioned above/I tried the fix for my issue but it didn&rsquo;t work for me.</h4>
<p>Make sure that you&rsquo;re on the latest <em>Citra</em> Nightly version. If you&rsquo;ve changed any of <em>Citra&rsquo;s</em> settings, make sure to to go to <code>Emulation -&gt; Configuration -&gt; General (Citra -&gt; Preferences -&gt; General on MacOS)</code> and select <strong>Reset All Settings</strong>. If the issue still occurs, try asking for support in the <a href="https://discord.gg/FAXfZV9">Citra Discord server</a> or on the <a href="https://community.citra-emu.org/">Citra Forums</a>.</p>
<hr>
<h2 id="networking-support">Networking Support</h2>
<h4 id="what-is-this">What is this?</h4>
<p><em>Citra&rsquo;s</em> networking support emulates the 3DS&rsquo; local Wi-Fi. On a real 3DS, this allows you to play games with people next to you. With <em>Citra&rsquo;s</em> implementation of this feature, you can play with other people on <em>Citra</em> anywhere. <strong>This is not an implementation of connecting to Nintendo&rsquo;s servers over Wi-Fi.</strong></p>
<h4 id="why-dont-i-have-this-feature">Why don&rsquo;t I have this feature?</h4>
<p>You are using an old version of <em>Citra</em>.</p>
<h4 id="whats-the-difference-between-public-and-unlisted-rooms">What&rsquo;s the difference between public and unlisted rooms?</h4>
<p>When you make a public room, <em>Citra</em> connects to the <a href="https://citra-emu.org/wiki/citra-web-service/">Citra Web Service</a>, authenticates yourself using your token and username, and sends the room details. Then, the <em>Citra</em> Web Service will add your room to the public room listing, so when people go in the Public Game Lobby, they will see the room. Something important to note about a public room is that <strong>the Citra Web Service only hosts room listings, and not the room itself. The room will still be hosted on your computer.</strong></p>
<p>When you make an unlisted room, <em>Citra</em> opens a room for any incoming connections, without connecting to the <em>Citra</em> Web Services. For other people to join the room, they will need to enter your IP manually, since they&rsquo;re not going through the Public Game Browser listing.</p>
<h4 id="how-do-i-join-a-public-room">How do I join a public room?</h4>
<p>To join a public room, follow these steps:</p>
<ol>
<li>Go to <code>Multiplayer</code> in the menu bar, and click <code>Browse Public Game Lobby</code>.</li>
<li>Set your nickname in the top left.</li>
<li>Double click on a room in the Public Room Browser dialog to join it.</li>
<li>Double click on a game in the <em>Citra</em> main window to start it.</li>
</ol>
<h4 id="how-do-i-join-a-unlisted-room">How do I join a unlisted room?</h4>
<p>To join a unlisted room, follow these steps:</p>
<ol>
<li>Go to <code>Multiplayer</code> in the menu bar, and click <code>Direct Connect to Room</code>.</li>
<li>Enter the IP and port of the host you&rsquo;re connecting to, your nickname, and password of the room if applicable.</li>
<li>Click connect to join the room.</li>
</ol>
<h4 id="how-do-i-make-a-public-room">How do I make a public room?</h4>
<p>To make a public room, follow these steps:</p>
<ol>
<li><strong>If you and the people you are playing with are on different Wi-Fi networks, setup port forwarding in your router settings.</strong></li>
<li>Go to <code>Multiplayer</code> in the menu bar, and click <code>Create Room</code>.</li>
<li>Enter the name of your room to be shown in the public listing and chat window, your preferred nickname, the game that will be played, an optional password if you need it, and the max number of players that can join the room. Unless you know you need it, you shouldn&rsquo;t have to touch the port number.</li>
<li>Click <code>Host Room</code> to create the room.</li>
</ol>
<h4 id="how-do-i-make-an-unlisted-room">How do I make an unlisted room?</h4>
<p>To make an unlisted room, follow these steps:</p>
<ol>
<li><strong>If you and the people you are playing with are on different Wi-Fi networks, setup port forwarding in your router settings.</strong></li>
<li>Go to <code>Multiplayer</code> in the menu bar, and click <code>Create Room</code>.</li>
<li>Enter the name of your room to be shown in the chat window, your preferred nickname, the game that will be played, an optional password if you need it, and the max number of players that can join the room. Unless you know you need it, you shouldn&rsquo;t have to touch the port number.</li>
<li>At the bottom, set the room type combo box to <code>Unlisted</code>.</li>
<li>Click <code>Host Room</code> to create the room.</li>
</ol>
<h4 id="why-when-i-join-a-multiplayer-room-does-it-say-that-im-not-playing-a-game-even-when-i-am">Why when I join a multiplayer room does it say that I&rsquo;m &ldquo;Not playing a game&rdquo; even when I am?</h4>
<p>This happens when you use Save States prior to connecting to a multiplayer room. Save States should be avoided entirely when using multiplayer.</p>
<h4 id="why-does-this-error-occur-when-attempting-to-join-a-multiplayer-room">Why does this error occur when attempting to join a multiplayer room?</h4>
<pre tabindex="0"><code>Unable to connect to the host. Verify that the connection settings are correct. If you still cannot connect, contact the room hst and verify that the host is properly configured with the external port forwarded.
</code></pre><p><em>Citra</em> does not host your rooms for you on our servers. This means that when you create a multiplayer room, your computer is used as the server. The room host&rsquo;s router needs to be set up to allow for other users to join your room. You do that by forwarding the port that <em>Citra</em> uses. Port forwarding is accomplished differently depending on your router model, so we recommend consulting your router&rsquo;s instruction manual to figure out how to make it work for you.</p>
<h4 id="are-download-play-dlp-features-supported-in-_citra_">Are Download Play (DLP) features supported in <em>Citra</em>?</h4>
<p>Yes, though you&rsquo;ll need to dump some extra system files and enable a couple settings for it to work. You can find the instructions on how to set it up at the bottom of this page: <a href="https://citra-emu.org/help/feature/multiplayer/">Multiplayer</a>.</p>
<p>Keep in mind that both you, and the person you&rsquo;re attempting to use the Download Play feature with will need to follow the instructions for it to work.</p>
<h4 id="can-i-use-_citra_-to-play-multiplayer-together-with-someone-on-a-3ds">Can I use <em>Citra</em> to play multiplayer together with someone on a 3DS?</h4>
<p>No. <em>Citra</em> only supports local wireless features between other <em>Citra</em> instances through our multiplayer rooms.</p>
<hr>
<h2 id="development-and-contributions">Development and contributions</h2>
<h4 id="how-can-i-develop-or-contribute-to-the-project">How can I develop or contribute to the project?</h4>
<p>If you&rsquo;re interested in contributing, fork the project here in <a href="https://github.com/citra-emu/citra"><em>GitHub</em></a>, and then create a Pull Request when you&rsquo;re ready to submit your contribution. Unless your change is trivial, however, it is strongly recommended that you join our development channel (#citra-dev @ <a href="https://libera.chat/">Libera.Chat</a>) to coordinate with the developers beforehand. Make sure to review our <a href="https://github.com/citra-emu/citra/wiki/Contributing">coding guidelines</a> and ensure your changes follow them. If you&rsquo;re looking for ideas on things to work on, try looking around our issue tracker. Some issues are tagged with the <a href="https://github.com/citra-emu/citra/issues?q=is:open+is:issue+label:E-easy">E-easy</a> label, which means they&rsquo;re smaller tasks that should be easier to get into.</p>
<h4 id="id-like-to-be-a-beta-tester-how-can-i-help">I&rsquo;d like to be a beta tester; how can I help?</h4>
<p>If you try some games and run into issues like graphical glitches, freezes and especially regressions from previous versions, you can try reporting them in our issue tracker, accompanied by logs from the emulator if possible. Do <em>not</em> report an issue if a game simply fails to boot entirely.</p>
<h4 id="non-official-builds-are-faster-have-more-features-and-run-more-games-why-dont-you-work-with-the-people-who-create-those">Non-official builds are faster, have more features and run more games. Why don&rsquo;t you work with the people who create those?</h4>
<p>Most non-official builds are usually just a collection of different features currently being worked on by <em>Citra</em> contributors from the community.
These features are not part of the official version (yet) because they are either broken-by-design and would possibly hinder development soon or because they are still work in progress.
Also, each change will go through a review process. Features found in non-official versions are often in the review phase already and will be included in official versions about a month or two later.</p>
<p>If you are the author of a non-official build, make sure you still follow the license of <em>Citra</em>.</p>
<h4 id="i-think-what-you-guys-are-doing-is-awesome-i-am-not-a-developer-but-still-want-to-support-the-project-what-can-i-do">I think what you guys are doing is awesome! I am not a developer, but still want to support the project. What can I do?</h4>
<p>That&rsquo;s awesome! Such support is what motivates us to keep working! Stick around and keep motivating our work!</p>
<p>If you&rsquo;re interested in donating, we would gladly accept used hardware, games for testing, or money for development/infrastructure costs. Please see our <a href="https://citra-emu.org/donate">donations page</a> for more information, or join our IRC channel (#citra @ <a href="https://libera.chat/">Libera.Chat</a>) or <a href="https://discord.gg/FAXfZV9">Discord server</a> and contact a developer.</p>
</div>
<div id="sidebar" class="col-xs-12 col-sm-12 col-md-3 col-lg-3 pull-left">
<div id="advertisement" class = "ad">
<h3>Advertisement</h3>
<ins class="ad adsbygoogle"
style="display:block"
data-ad-client="ca-pub-4126545610079023"
data-ad-slot="4223809695"></ins>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
</div>
<div class="tagcloud hidden-sm hidden-xs">
<h3>News Tag Cloud</h3>
<ul>
<li><a class="taxonomy-citra-release" href="/tags/citra-release">citra-release</a></li>
<li><a class="taxonomy-feature-update" href="/tags/feature-update">feature-update</a></li>
<li><a class="taxonomy-progress-report" href="/tags/progress-report">progress-report</a></li>
</ul>
</div>
<div id="twitter" class="hidden-sm hidden-xs">
<a class="twitter-timeline" data-tweet-limit="3" href="https://twitter.com/citraemu?ref_src=twsrc%5Etfw">Tweet Feed</a>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>
</div>
</div>
</div>
<div id="footer" class="container">
<div class="row">
<div class="col-md-2">
<h1>Citra</h1>
<a href="/entry">Blog</a>
<a href="/download/">Downloads</a>
<a href="/screenshots/">Screenshots</a>
<a href="https://www.patreon.com/citraemu">Patreon</a>
<a href="/donate/">Donate</a>
</div>
<div class="col-md-2">
<h1>Documentation</h1>
<a href="/help/">Help Documents</a>
<a href="/game/">Compatibility</a>
<a href="/wiki/home/">Wiki</a>
<a href="/wiki/faq/">FAQ</a>
</div>
<div class="col-md-2">
<h1>Blog</h1>
<a href="/entry">News &amp; Articles</a>
<a href="https://citra-emu.org/index.xml">RSS 2.0</a>
</div>
<div class="col-md-2">
<h1>Social</h1>
<a href="https://www.youtube.com/channel/UC_dcdgzuapBtAY4ol3x-90Q">YouTube</a>
<a href="https://www.facebook.com/citra.emu">Facebook</a>
<a href="https://twitter.com/citraemu">Twitter</a>
<a href="https://community.citra-emu.org/">Forums</a>
<a href="/discord">Discord</a>
<a href="/chat">IRC</a>
</ul>
</div>
<div class="col-md-2">
<h1>Get Involved</h1>
<a href="https://github.com/citra-emu/citra">GitHub / Source</a>
<a href="https://github.com/citra-emu/citra/issues">Issues</a>
<a href="https://github.com/citra-emu/citra/pulls">Pull Requests</a>
</div>
</div>
<div id="footer-bottom">
<div id="footer-brand"></div>
<div id="footer-legal">Copyright © 2024 Citra Emulator Project</div>
</div>
</div>
<script src="https://citra-emu.org/js/script.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.10.0/baguetteBox.min.css" type="text/css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.10.0/baguetteBox.min.js" type="text/javascript"></script>
<script type="text/javascript">
window.addEventListener("DOMContentLoaded", function() {
baguetteBox.run('.is-img-preview');
});
</script>
</body>
</html>