3DS:Luma3DS/Configuration

The Luma3DS configuration menu is a menu that can be accessed by holding (Select) while turning on your 3DS. In the menu, you can:
 * See what version of Luma3DS is currently installed
 * Modify Luma3DS's 'optional' settings (settings that will, in general, not affect the overall functionality of your 3DS)
 * See where Luma3DS is booting from

By default, our custom firmware installation guide uses the default configuration that is generated when Luma3DS is first run. This page will contain explanations for the various options contained in Luma3DS configuration so that you can make an informed decision on what options (if any) to change.

Luma3DS configuration will be often be set back to their default settings if:
 * You are upgrading to a newer version of Luma3DS that has a breaking change
 * You are switching between Luma3DS forks

Luma3DS also keeps separate configuration for the SD card and CTRNAND (internal memory). The human-readable configuration file is located at  and , respectively.

Navigating Luma3DS configuration
You can access Luma3DS configuration by holding (Select) while powering on your device.

When in the Luma3DS configuration menu, you can use the (Up) and (Down) D-Pad buttons to highlight different options. Press (A) to enable, disable, or cycle through the options. The currently highlighted option will be coloured a different colour from the rest of the configuration menu and an option that is currently enabled will be indicated with. For example,  indicates that the "Show NAND or user string in System Settings" option is enabled.

Once you are done configuring Luma3DS, press the (Start) button to save your configuration. If you have enabled a PIN, you will be told to set it; otherwise, the 3DS will reboot into the HOME Menu.

Screen brightness
Changes the brightness of the Luma3DS configuration screen. Takes effect instantly.

Splash
Determines whether Luma3DS will attempt to display a splash screen (a custom boot image) while booting your 3DS. This option will not do anything unless you have splash images in the  folder. For more information, see 3DS:Splash screens.

PIN lock
Determines whether Luma3DS will require a PIN to be entered when powering on your device. You will be prompted to set the PIN after pressing (Start) to save the configuration. For more information, see 3DS:Luma3DS/PIN lock.

New 3DS CPU (New 3DS only)
Determines whether to use the New 3DS's enhanced clock speed and L2 cache in games intended for Old 3DS. This may improve performance for some games, but it may also break other games. This is the same option as the one that can be found in the Rosalina menu.

Enable loading external FIRMs and modules
Determines whether Luma3DS will attempt to load customized FIRMs and system modules (basically, for modifying non-game elements on the 3DS). This option will not do anything unless you have the necessary files in  or.

You will most likely only use this option for specific applications like TWPatch (for widescreen DS games) and rverse (a custom Miiverse server). For more information, consult their respective installation guides.

Enable game patching
Determines whether Luma3DS will attempt to load modded game files. This option will not do anything unless you have the necessary files in.

You will often enable this option if you are planning to use game mods via LayeredFS, such as translation patches or ROM hacks.

You will also need this option if you need to manually specify the locale for games that aren't cooperating with Luma3DS's region-free patch. For more information, see 3DS:Setting game locales.

Show NAND or user string in System Settings
Determines whether Luma3DS will show its own (or a user-specified) version string in System Settings. For example, the default version string of an unmodded 3DS on 11.16.0-49U would be. With this option enabled, the version string would instead show. This serves as a decent custom firmware check, but it is not comprehensive since the option can be disabled at will.

A custom version string of up to 19 characters can also be manually specified by creating a file with the custom string called  and putting it inside the   folder.

Show GBA boot screen in patched AGB_FIRM
Determines whether Luma3DS will show the GBA boot screen when loading a GBA game through the built-in GBA firmware of the 3DS (such as through virtual console).

Default EmuNAND
It is possible to have multiple EmuNANDs on one SD card. This option changes which one to boot into by default. If you only have one EmuNAND, this option will not do anything.

You can also manually specify which EmuNAND to boot into by holding a D-Pad button while booting (Up for 1, Right for 2, Down for 3, Left for 4).

Autoboot EmuNAND
Determines whether EmuNAND will automatically boot when you turn on your 3DS without holding any buttons. If this option is disabled, you will boot into SysNAND by default. You can force the 3DS to boot into SysNAND, even with this option enabled, by holding (Left Shoulder) on boot, and vice versa.

Use EmuNAND FIRM if booting with R
If this option is enabled, you will be able to use EmuNAND's NATIVE_FIRM instead of SysNAND's NATIVE_FIRM by booting with the (Right Shoulder) button held.

You probably don't need to touch this option unless you have very specific use cases that won't be covered here.

Configuration options in config.ini
As of Luma3DS v11.0, certain options have been moved to exclusively the  file in   or. This section documents those options.

config_version_major, config_version_minor
Luma3DS uses these lines to determine what revision of  is being used to prevent inconsistencies between Luma3DS updates. Do not touch these options - otherwise, you may accidentally reset your Luma3DS configuration.

splash_duration_ms
Determines for how many milliseconds the splash screen should be displayed, up to 2,147,483,647 milliseconds. For more information, see 3DS:Splash screens.

Rosalina menu options
The following options can also be changed via the Rosalina menu.

hbldr_3dsx_titleid
The title ID that is input here will launch the Homebrew Launcher instead of whatever application is actually run. In most cases, this will be set to the Homebrew Launcher application installed in the guide (000400000d921e00).

rosalina_menu_combo
Determines what key(s) you need to press to open the Rosalina menu. By default, this is set to (Left Shoulder) + (Down D-Pad) + (Select).

For example, if one of the default keys is broken, you can set it to  to change the menu combination to   +.

screen_filters_cct
This value (between 1000 and 25100) determines how strong the blue light filter is. Lower is more orange (and thus, normally, less eye-straining). The dfeault value is 6500.

ntp_tz_offset_min
Determines your timezone for the purpose of setting the correct time. This configuration option is based on UTC.

For example, Eastern Standard Time (EST) in the United States is UTC-5, so the offset would be 60 * -5 = -240.

Options you shouldn't touch
You shouldn't touch these options unless you know what you're doing.

use_dev_unitinfo
When set to 1, this option changes a flag in the 3DS firmware so that it thinks it is a development unit, allowing you to run development applications.

disable_arm11_exception_handlers
When set to 1, this option disables the "An exception occurred" message that occurs when an application crashes, normally replacing it with a black screen or a generic error message.

enable_safe_firm_rosalina
When set to 1, this option does two things:
 * Allows Rosalina to function when using Safe Mode (for example, if you need to take screenshots of Safe Mode or perform whatever other functions Rosalina allows)
 * Suppresses the  QTM error, which notably allows the New 2DS XL to work on firmwares below 11.3.0

This option won't do anything drastic, but there's not much reason to enable it unless you actually have a use for it.

Troubleshooting with Luma3DS configuration
The Luma3DS configuration menu contains two pieces of information that can be used for troubleshooting: the currently installed Luma3DS version and the location from which Luma3DS is booting.

If you are starting fresh from a new SD card or upgrading from an old (2017 or older) custom firmware setup, you can follow the instructions here to find out the correct course of action.

As of Luma3DS v9.1, the location from which Luma3DS is booting will be displayed in yellow on the bottom screen. The following lines are known to be possible:
 * Booted from SD via B9S
 * Indicates that Luma3DS is being booted from the  file on the root of your SD card (or wherever else you may have it configured if you are using fastboot3DS).
 * Booted from CTRNAND via B9S
 * Indicates that Luma3DS is being booted from the  file on the root of SYSNAND CTRNAND (or wherever else you may have it configured if you are using fastboot3DS). If an SD card is inserted and you still see this message, you are either missing   from the root of your SD card, or your SD card isn't being read.
 * Booted from SD via B9S (ntrboot)
 * Indicates that Luma3DS is being booted from the  file on the root of your SD card, but that you are running B9S via ntrboot. If you're trying to install CFW, you should instead use SafeB9SInstaller as your   file.
 * Booted from SD via FIRM0 or FIRM1
 * Indicates that Luma3DS has been installed to your FIRM partitions (where boot9strap or fastboot3DS would normally go). This is known to break some custom firmware functions, so unless you intended for this to happen, you should follow these instructions to install boot9strap to your FIRM partitions.