Page Navigation



<aside> 📔 TABLE OF CONTENTS


</aside>

Overview


Use this guide when you want to configure Citron to run as the switch emulator through Emulation Station: Desktop Edition (moving forward, referred to as ES:DE).

<aside> <img src="/icons/info-alternate_blue.svg" alt="/icons/info-alternate_blue.svg" width="40px" />

INFO: This guide assumes that you have already installed ES:DE and downloaded the Citron AppImage.

</aside>

<aside> 🚨

WARNING: This guide will follow the paths established by EmuDeck if installed on an SD Card.  If you are following this without EmuDeck and/or files on your SD Card it will still work - but the paths will be different.

</aside>

Steps


  1. Press the STEAM button and then go to Power > Switch to Desktop to enter the Desktop mode.

steam-button.png

  1. Download the citron.sh script below on to your Steam Deck somewhere accessible.

    citron.sh

  2. Move the AppImage to your Applications folder and rename it to citron.AppImage.

    <aside> <img src="/icons/report_green.svg" alt="/icons/report_green.svg" width="40px" />

    TIP: If you need to obtain an AppImage, see the How to Run Citron on Steam Deck guide for further help before continuing.

    </aside>

  3. Move the citron.sh script into the following directories (replacing <SD CARD NAME> with your SD Card):

  4. Navigate to the ES:DE system xml files here:

  5. Open the es_find_rules.xml file and add the following entry into your file.

    Example:

    <?xml version="1.0"?><!-- This is the ES-DE find rules configuration file for Unix --><ruleList>
        ... <!-- Other configured emulators -->    <emulator name="CITRON">
            <!-- Nintendo Switch emulator Citron -->        <rule type="systempath">
                <entry>citron</entry>
                <entry>org.citron_emu.citron</entry>
            </rule>
            <rule type="staticpath">
                <entry>~/Applications/citron*.AppImage</entry>
            </rule>
        </emulator>
    </ruleList>
    
  6. Open the es_systems.xml file and add the Citron entry into the <system> entry for Nintendo Switch like below.

    Example:

    <?xml version="1.0"?><systemList>
      ... <!-- Other configured systems -->  <system>
        <name>switch</name>
        <fullname>Nintendo Switch</fullname>
        <path>%ROMPATH%/switch</path>
        <extension>.nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI</extension>
        <command label="Ryujinx (Standalone)">%EMULATOR_RYUJINX% %ROM%</command>
        <command label="Yuzu (Standalone)">%INJECT%=%BASENAME%.esprefix %EMULATOR_YUZU% -f -g %ROM%</command>
        <!-- Add this line entry -->    <command label="Citron (Standalone)">%INJECT%=%BASENAME%.esprefix %EMULATOR_CITRON% -f -g %ROM%</command>
        <platform>switch</platform>
        <theme>switch</theme>
      </system>
      ... <!-- Other configured systems --></systemList>
    
  7. Launch ES:DE and go into your Nintendo Switch Section which should contain your Switch Games.

  8. Press the start button (hamburger button) on your Steam Deck to launch the options.

steam-deck-layout-hamburger.png

  1. Go to Other Settings > Alternative Emulators > switch, press A to change it and select Citron (Standalone).
  2. Close the options menu and launch a game - it should launch with Citron.

Common Issues


Resources


Citron Website

Download Citron

Citron Source Code

Citron Discord