Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

3DS:Luma3DS/Configuration: Difference between revisions

From Hacks Guide Wiki
(separation of rosalina menu options)
(added plugin_loader_enabled and volume_slider_override + moved force_audio_output to config.ini only settings + removed a few extra spaces so section headers feel more attached to their sections)
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
The Luma3DS configuration menu is a menu that can be accessed by holding (Select) while turning on your 3DS. In the menu, you can:
{{hatnote|1=This article is about the Luma3DS configuration menu, accessible on boot. For information about Rosalina (the menu that is accessible when booted into HOME Menu), see [[3DS:Luma3DS/Rosalina|Luma3DS/Rosalina]].}}
 
The Luma3DS configuration menu is a menu that can be accessed by holding {{B|Select}} while turning on your 3DS. In the menu, you can:
* See what version of Luma3DS is currently installed
* 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)
* Modify some of Luma3DS's 'optional' settings (settings that will, in general, not affect the overall functionality of your 3DS)
* See where Luma3DS is booting from
* See where Luma3DS is booting from


By default, [[3dsguide:index|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.
By default, [[3dsguide:index|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:
Luma3DS configuration will often be reset to default settings if:
* You are upgrading to a newer version of Luma3DS that has a breaking change
* You change to a different version of Luma3DS
* You are switching between Luma3DS forks
* 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 <code>SD:/luma/config.ini</code> and <code>CTRNAND:/rw/luma/config.ini</code>, respectively.
Luma3DS also keeps separate configuration files for the SD card and CTRNAND (internal memory). The files' locations are <code>SD:/luma/config.ini</code> and <code>CTRNAND:/rw/luma/config.ini</code>, respectively.
 
== Navigating Luma3DS configuration ==
 
{{info|If your (Select), (Start), (D-Pad Up), (D-Pad Down), or (A) keys are broken, you will be unable to perform most functions in Luma3DS configuration. As an alternative, you can manually modify all options that are in the Luma3DS configuration by modifying the <code>config.ini</code> file in the <code>luma</code> folder (as of Luma3DS v11.0).}}
 
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 selected option will be indicated with <code>(x)</code>. For example, <code>(x) Show NAND or user string in System Settings</code> 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.


==Navigating Luma3DS configuration==
{{info|If your {{B|Select}}, {{Key press|Up}}, {{Key press|Down}}, or {{B|A}} buttons are broken, you will be unable to use the Luma3DS configuration. As an alternative, you can manually modify all options that are in the Luma3DS configuration by modifying the <code>config.ini</code> file in the <code>luma</code> folder (as of Luma3DS v12.0).}}
You can access Luma3DS configuration by holding {{B|Select}} while powering on your device.<br>
When in the Luma3DS configuration menu, you can use the {{Key press|Up}} and {{Key press|Down}} buttons to highlight different options. Press {{B|A}} to enable, disable, or cycle through the options. The currently highlighted option will be coloured differently from the rest of the configuration menu, and an option that is currently enabled will be indicated with <code>(x)</code>. For example, <code>(x) Show NAND or user string in System Settings</code> indicates that the "Show NAND or user string in System Settings" option is enabled.<br>
Once you are done configuring Luma3DS, either select the '''Save and exit''' option or press the {{B|Start}} button to save your configuration. If the PIN setting is enabled, you will be told to set it; otherwise, the 3DS will immediately reboot.


== Luma3DS configuration options ==
==Luma3DS configuration options==


==== Screen brightness ====
===Default===


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


==== Splash ====
====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 <code>luma</code> folder, and will not affect whether a PIN splash shows up. For more information, see [[3DS:Splash screens]].


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 <code>luma</code> 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 saving the configuration. For more information, see [[3DS:Luma3DS/PIN lock]].


==== PIN lock ====
====New 3DS CPU====
{{info|This option can only be used on a new 3DS/2DS.}}
When enabled, allows the New 3DS's enhanced clock speed and L2 cache to be used in all titles, not just New 3DS-exclusives. This may improve performance for some games, but it may also reveal hidden bugs in games when the Clock+L2 setting is enabled - this can result in anything up to a crash. This option is the same as the one found in the [[3DS:Luma3DS/Rosalina|Rosalina menu]].


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]].
====Hbmenu autoboot====
When enabled, automatically boots to the selected homebrew launcher instead of the HOME Menu.<br>
If 3DS is chosen, this will always be the normal Homebrew Launcher.<br>
if DSi is chosen, by default this will attempt to boot to the {{GitHub|devkitPro/nds-hb-menu/releases/latest|nds-hb-menu}} - if this is not installed, it will boot to an exception instead.


==== New 3DS CPU (New 3DS only) ====
The title IDs used for each of these options can be configured in the <code>config.ini</code> file.


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 [[3DS:Luma3DS/Rosalina|Rosalina menu]].


==== Enable loading external FIRMs and modules ====
====Enable loading external FIRMs and modules====
When enabled, Luma3DS will 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 <code>luma</code> or <code>/luma/sysmodules</code>.


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 <code>luma</code> or <code>/luma/sysmodules</code>.
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.


You will most likely only use this option for specific applications like TWPatch (for widescreen DS games) and
====Enable game patching====
rverse (a custom Miiverse server). For more information, consult their respective installation guides.
When enabled, Luma3DS will load modded game files. This option will not do anything unless you have any files to load, which should be placed in <code>/luma/titles/(title ID of game)</code>.<br>
You will often enable this option if you are planning to use game mods via LayeredFS, such as translation patches or ROM hacks.<br>
You will also need this option if you need to manually specify the locale for games that fail to work despite Luma3DS's region-free patch. For more information, see [[3DS:Setting game locales]].


==== Enable game patching ====
==== Redirect app. syscore threads to core2 ====
 
{{info|This option can only be used on a new 3DS/2DS.}}
Determines whether Luma3DS will attempt to load modded game files. This option will not do anything unless you have the necessary files in <code>/luma/titles/(title ID of game)</code>.
When enabled, Luma3DS will move some application threads to core2, which usually goes unused despite being intended for applications. This will boost performance on resource-intensive games (like Pokemon US/UM) by around 10%, but may also break some games and applications.
 
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 ====
==== Show NAND or user string in System Settings ====
 
When enabled, 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 <code>Ver. 11.16.0-49U</code>. With this option enabled, the version string would instead show <code>Sys. 11.16.0-49U</code>. This serves as a decent custom firmware check, but it is not comprehensive since the option can be disabled at will.
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 <code>Ver. 11.16.0-49U</code>. With this option enabled, the version string would instead show <code>Sys. 11.16.0-49U</code>. 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 <code>customversion_sys.txt</code> and putting it inside the <code>luma</code> folder.
A custom version string of up to '''19 characters''' can also be manually specified by creating a file with the custom string called <code>customversion_sys.txt</code> and putting it inside the <code>luma</code> folder.


==== Show GBA boot screen in patched AGB_FIRM ====
==== Show GBA boot screen in patched AGB_FIRM ====
When enabled, Luma3DS will show the [https://www.youtube.com/watch?v=6_ZD3FxMcvQ GBA boot screen] when loading a GBA game through the built-in GBA firmware of the 3DS (such as through virtual console).


Determines whether Luma3DS will show the [https://www.youtube.com/watch?v=6_ZD3FxMcvQ GBA boot screen] when loading a GBA game through the built-in GBA firmware of the 3DS (such as through virtual console).
== EmuNAND/RedNAND only ==


{{info|These options will only appear if your currently inserted SD card has an [[3DS:EmuNAND and RedNAND|EmuNAND/RedNAND]] set up.}}
=== EmuNAND/RedNAND only ===
{{info|These options will only appear if your currently inserted SD card has an [[3DS:EmuNAND and RedNAND|EmuNAND/RedNAND]] set up. These are almost entirely unneeded by now, however, and should instead be [[3dsguide:move-emunand|moved into the SysNAND]] unless you are using them to deal with Chinese/Korean fonts.}}


==== Default EmuNAND ====
==== 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.<br>
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 certain direction on the D-Pad while powering on: {{Key press|Up}} for 1, {{Key press|Right}} for 2, {{Key press|Down}} for 3, {{Key press|Left}} for 4.
 
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 ====
==== Autoboot EmuNAND ====
Determines whether the emuNAND will automatically boot when you turn on your 3DS without holding any buttons. If this option is disabled, you will boot into the sysNAND by default. Holding {{B|L}} when powering on will invert this logic, meaning the 3DS will boot into sysNAND even when this option is enabled (or into emuNAND if it's disabled).


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 ====
== Configuration options in config.ini ==
As of Luma3DS v11.0, certain options have been moved and can only be edited in the <code>config.ini</code> file, located in both <code>SD:/luma/config.ini</code> and <code>[1]:/rw/luma/config.ini</code>. This section documents those options.


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.
==== config_version_major, config_version_minor ====
{{warning|There is no reason to touch this option, and doing so may reset your Luma3DS configuration.}}
Luma3DS uses these lines to determine what revision of <code>config.ini</code> is being used to prevent inconsistencies between Luma3DS updates. '''Do not touch these options'''.


You probably don't need to touch this option unless you have very specific use cases that won't be covered here.
==== 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]].


== Configuration options in config.ini ==
==== autoboot_dsi_titleid ====
Determines the DSi title to boot into when <code>autoboot_3ds_homebrew</code> is set to 2. The selected title must be installed on the NAND, or it will instead crash on boot - the default app used is {{GitHub|devkitPro/nds-hb-menu|nds-hb-menu}}.


As of Luma3DS v11.0, certain options have been moved to exclusively the <code>config.ini</code> file in <code>SD:/luma/config.ini</code> or <code>CTRNAND:/rw/luma/config.ini</code>. This section documents those options.
==== force_audio_output ====
Forces all audio output except for the camera shutter to go to the headphones. Because Luma3DS only directly affects NATIVE_FIRM, this will not work in DS games, GBA games, payloads such as GodMode9, or [[3DS:Safe Mode|Safe Mode]].


==== config_version_major, config_version_minor ====
Due to software limitations, this will stop working temporarily if you unplug and then replug headphones. Close and reopen the screen when this happens to fix it.


{{warning|Don't touch this one.}}


Luma3DS uses these lines to determine what revision of <code>config.ini</code> is being used to prevent inconsistencies between Luma3DS updates. '''Do not touch these options''' - otherwise, you may accidentally reset your Luma3DS configuration.
=== Rosalina menu options ===
The following options can be altered in some way via the [[3DS:Luma3DS/Rosalina|Rosalina menu]].


==== splash_duration_ms ====
==== 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 Wrapper that is installed in the guide (000400000d921e00).


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_combo ====
Determines what keys you need to press to open the Rosalina menu. By default, this is set to {{Key press|L|Down|SELECT}}.<br>
For example, if one of the default keys is broken, you can set it to <code>X+Y</code> to change the menu combination to {{Key press|X|Y}}.


=== Rosalina menu options ===
==== plugin_loader_enabled ====
Determines if [[3DS:Game plugins/3GX|3GX plugins]] placed in <code>SD:/luma/plugins/</code> are enabled.<br>Having this option disabled does not stop you from using [[3DS:Game plugins/PLG|PLG plugins]] with bootNTR.


The following options can also be changed via the [[3DS:Luma3DS/Rosalina|Rosalina menu]].
==== ntp_tz_offset_min ====
Determines your timezone to set the time correctly. The value is the number of minutes your timezone is from UTC.<br>
For example, Eastern Standard Time (EST) is UTC-5, so the offset would be 60 * -5 = -300.


==== hbldr_3dsx_titleid ====
==== volume_slider_override ====
Determines the volume to set the console to, overriding the physical volume slider of the console. Because Luma3DS only directly affects NATIVE_FIRM, this will not work in DS games, GBA games, payloads such as GodMode9, or [[3DS:Safe Mode|Safe Mode]].


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).
The value should be a number from 0 to 100, while a value of -1 will disable the volume override.


==== 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).
==== Screen filter options ====
All of the following options can be configured for each screen, and thus have two variables.


For example, if one of the default keys is broken, you can set it to <code>X+Y</code> to change the menu combination to <code>(X)</code> + <code>(Y)</code>.
===== screen_filters_cct =====
Determines the Correlated Color Temperature (cct). Can be set to any integer between 1000 and 25100.


==== screen_filters_cct ====
===== screen_filters_gamma =====
Adjusts the gamma of the screen. Can be set to any integer between 0 and 1411. Increasing this above 1 will make colors look more saturated.


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.
===== screen_filters_contrast =====
Adjusts the contrast of the screen. Can be set to any integer between 0 and 255.


==== ntp_tz_offset_min ====
===== screen_filters_brightness =====
Adjusts the brightness of the screen. Can be set to any number between -1 and 1.


Determines your timezone for the purpose of setting the correct time. This configuration option is based on UTC.
===== screen_filters_invert =====
If set to 1, inverts the colors of the screen.


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 ===
=== Options you shouldn't touch ===
You shouldn't touch these options unless you know what you're doing.


You shouldn't touch these options unless you know what you're doing.
==== autoboot_3ds_app_mem_type ====
{{warning|This option is only of interest for developers. Changing it without knowing what you are doing may result in frequent crashes.}}
When set to anything but 0, uses an alternate memory layout when <code>autoboot_3ds_homebrew</code> is set to 1.


==== use_dev_unitinfo ====
==== use_dev_unitinfo ====
 
{{warning|This option will break most retail features while enabled - this includes online play, eShop, amiibo, and all retail games.}}
{{warning|This option will break most retail features while enabled (including online play, eShop, amiibo, and retail games)!}}
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.
 
When set to 1, his 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 ====
==== disable_arm11_exception_handlers ====
 
{{warning|This option usually does not stop errors from happening - it only makes them harder to troubleshoot.}}
{{warning|This option normally does not stop errors from happening! It just shows a black screen or generic error message instead of the detailed error message, which makes it harder to troubleshoot.}}
When set to 1, this option disables the [[3DS:EXCEPTION|An exception occurred]] message that occurs when an application crashes, normally replacing it with a black screen or a generic error message.
 
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 ====
==== enable_safe_firm_rosalina ====
 
{{info|Luma3DS should not be active in SAFE_FIRM since SAFE_FIRM is meant as a 'rescue mode' - it's relatively unlikely anything bad will happen, but don't enable this option without a specific good reason.}}
When set to 1, this option does two things:
When set to 1, this option does two things:
* Allows Rosalina to function when using [[3DS:Safe Mode|Safe Mode]] (for example, if you need to take screenshots of Safe Mode or perform whatever other functions Rosalina allows)
* Allows Rosalina to function when using [[3DS:Safe Mode|Safe Mode]] (for example, if you need to take screenshots of Safe Mode or perform whatever other functions Rosalina allows)
* Suppresses the <code>0xF96183FE</code> QTM error, which notably allows the New 2DS XL to work on firmwares below 11.3.0
* Suppresses the <code>0xF96183FE</code> 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 ==
== 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.<br>
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 on a new SD card or upgrading from an old (2017 or older) custom firmware setup, you can follow the instructions [[3dsguide:checking-for-cfw|here]] to find out the correct course of action.<br>
 
As of Luma3DS v9.0, the location from which Luma3DS is booting will be displayed in yellow on the bottom screen. The following lines are known to be possible:
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 [[3dsguide:checking-for-cfw|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
* Booted from SD via B9S
** Indicates that Luma3DS is being booted from the <code>boot.firm</code> file on the root of your SD card (or wherever else you may have it configured if you are using fastboot3DS).
** Indicates that Luma3DS is being booted from the <code>boot.firm</code> file on the root of your SD card (or wherever else on the SD you may have it configured if you are using fastboot3DS).
* Booted from CTRNAND via B9S
* Booted from CTRNAND via B9S
** Indicates that Luma3DS is being booted from the <code>boot.firm</code> 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 <code>boot.firm</code> from the root of your SD card, or your SD card isn't being read.
** Indicates that Luma3DS is being booted from the <code>boot.firm</code> file on the root of SYSNAND CTRNAND (or wherever else on SYSNAND CTRNAND you may have it configured if you are using fastboot3DS). If an SD card is inserted and you still see this message, one of three things is possible: 1. you are missing <code>boot.firm</code> from the root of your SD card, 2. your SD card isn't being read, or 3. you have configured fastboot3DS to try to boot from Luma on the CTRNAND before trying the SD.
* Booted from SD via B9S (ntrboot)
* Booted from SD via B9S (ntrboot)
** Indicates that Luma3DS is being booted from the <code>boot.firm</code> 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 <code>boot.firm</code> file.
** Indicates that Luma3DS is being booted from the <code>boot.firm</code> 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 <code>boot.firm</code> file.
* Booted from SD via FIRM0 or FIRM1
* 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 [[3dsguide:updating-b9s|follow these instructions]] to install boot9strap to your FIRM partitions.
** 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 this you intended to do this, you should [[3DS:Luma3DS to boot9strap|follow these instructions]] to install boot9strap to your FIRM partitions.
* Booted from CTRNAND via FIRM0 or FIRM1
** Indicates that Luma3DS has been installed to your FIRM partitions and that the SD is not being read. You will need a usable SD card if you wish to install boot9strap to your FIRM partitions as above, so [[Formatting_an_SD_card|try to fix that first by reformatting]] - if this does not work, your SD may be corrupted and should [[Checking_SD_card_integrity|be tested for errors.]]
 
[[Category:Nintendo 3DS guides]]
[[Category:Nintendo 3DS information]]

Latest revision as of 20:40, 2 September 2024

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 some of 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 often be reset to default settings if:

  • You change to a different version of Luma3DS
  • You are switching between Luma3DS forks

Luma3DS also keeps separate configuration files for the SD card and CTRNAND (internal memory). The files' locations are SD:/luma/config.ini and CTRNAND:/rw/luma/config.ini, respectively.

Navigating Luma3DS configuration

OOjs UI icon information-progressive.svg If your Select, , , or A buttons are broken, you will be unable to use the Luma3DS configuration. As an alternative, you can manually modify all options that are in the Luma3DS configuration by modifying the config.ini file in the luma folder (as of Luma3DS v12.0).

You can access Luma3DS configuration by holding Select while powering on your device.
When in the Luma3DS configuration menu, you can use the and buttons to highlight different options. Press A to enable, disable, or cycle through the options. The currently highlighted option will be coloured differently from the rest of the configuration menu, and an option that is currently enabled will be indicated with (x). For example, (x) Show NAND or user string in System Settings indicates that the "Show NAND or user string in System Settings" option is enabled.
Once you are done configuring Luma3DS, either select the Save and exit option or press the Start button to save your configuration. If the PIN setting is enabled, you will be told to set it; otherwise, the 3DS will immediately reboot.

Luma3DS configuration options

Default

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 luma folder, and will not affect whether a PIN splash shows up. 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 saving the configuration. For more information, see 3DS:Luma3DS/PIN lock.

New 3DS CPU

OOjs UI icon information-progressive.svg This option can only be used on a new 3DS/2DS.

When enabled, allows the New 3DS's enhanced clock speed and L2 cache to be used in all titles, not just New 3DS-exclusives. This may improve performance for some games, but it may also reveal hidden bugs in games when the Clock+L2 setting is enabled - this can result in anything up to a crash. This option is the same as the one found in the Rosalina menu.

Hbmenu autoboot

When enabled, automatically boots to the selected homebrew launcher instead of the HOME Menu.
If 3DS is chosen, this will always be the normal Homebrew Launcher.
if DSi is chosen, by default this will attempt to boot to the nds-hb-menu - if this is not installed, it will boot to an exception instead.

The title IDs used for each of these options can be configured in the config.ini file.


Enable loading external FIRMs and modules

When enabled, Luma3DS will 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 luma or /luma/sysmodules.

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

When enabled, Luma3DS will load modded game files. This option will not do anything unless you have any files to load, which should be placed in /luma/titles/(title ID of game).
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 fail to work despite Luma3DS's region-free patch. For more information, see 3DS:Setting game locales.

Redirect app. syscore threads to core2

OOjs UI icon information-progressive.svg This option can only be used on a new 3DS/2DS.

When enabled, Luma3DS will move some application threads to core2, which usually goes unused despite being intended for applications. This will boost performance on resource-intensive games (like Pokemon US/UM) by around 10%, but may also break some games and applications.

Show NAND or user string in System Settings

When enabled, 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 Ver. 11.16.0-49U. With this option enabled, the version string would instead show Sys. 11.16.0-49U. 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 customversion_sys.txt and putting it inside the luma folder.

Show GBA boot screen in patched AGB_FIRM

When enabled, 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).


EmuNAND/RedNAND only

OOjs UI icon information-progressive.svg These options will only appear if your currently inserted SD card has an EmuNAND/RedNAND set up. These are almost entirely unneeded by now, however, and should instead be moved into the SysNAND unless you are using them to deal with Chinese/Korean fonts.

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 certain direction on the D-Pad while powering on: for 1, for 2, for 3, for 4.

Autoboot EmuNAND

Determines whether the emuNAND will automatically boot when you turn on your 3DS without holding any buttons. If this option is disabled, you will boot into the sysNAND by default. Holding L when powering on will invert this logic, meaning the 3DS will boot into sysNAND even when this option is enabled (or into emuNAND if it's disabled).


Configuration options in config.ini

As of Luma3DS v11.0, certain options have been moved and can only be edited in the config.ini file, located in both SD:/luma/config.ini and [1]:/rw/luma/config.ini. This section documents those options.

config_version_major, config_version_minor

OOjs UI icon information-warning.svg There is no reason to touch this option, and doing so may reset your Luma3DS configuration.

Luma3DS uses these lines to determine what revision of config.ini is being used to prevent inconsistencies between Luma3DS updates. Do not touch these options.

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.

autoboot_dsi_titleid

Determines the DSi title to boot into when autoboot_3ds_homebrew is set to 2. The selected title must be installed on the NAND, or it will instead crash on boot - the default app used is nds-hb-menu.

force_audio_output

Forces all audio output except for the camera shutter to go to the headphones. Because Luma3DS only directly affects NATIVE_FIRM, this will not work in DS games, GBA games, payloads such as GodMode9, or Safe Mode.

Due to software limitations, this will stop working temporarily if you unplug and then replug headphones. Close and reopen the screen when this happens to fix it.


Rosalina menu options

The following options can be altered in some way 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 Wrapper that is installed in the guide (000400000d921e00).

rosalina_menu_combo

Determines what keys you need to press to open the Rosalina menu. By default, this is set to L++SELECT.
For example, if one of the default keys is broken, you can set it to X+Y to change the menu combination to X+Y.

plugin_loader_enabled

Determines if 3GX plugins placed in SD:/luma/plugins/ are enabled.
Having this option disabled does not stop you from using PLG plugins with bootNTR.

ntp_tz_offset_min

Determines your timezone to set the time correctly. The value is the number of minutes your timezone is from UTC.
For example, Eastern Standard Time (EST) is UTC-5, so the offset would be 60 * -5 = -300.

volume_slider_override

Determines the volume to set the console to, overriding the physical volume slider of the console. Because Luma3DS only directly affects NATIVE_FIRM, this will not work in DS games, GBA games, payloads such as GodMode9, or Safe Mode.

The value should be a number from 0 to 100, while a value of -1 will disable the volume override.


Screen filter options

All of the following options can be configured for each screen, and thus have two variables.

screen_filters_cct

Determines the Correlated Color Temperature (cct). Can be set to any integer between 1000 and 25100.

screen_filters_gamma

Adjusts the gamma of the screen. Can be set to any integer between 0 and 1411. Increasing this above 1 will make colors look more saturated.

screen_filters_contrast

Adjusts the contrast of the screen. Can be set to any integer between 0 and 255.

screen_filters_brightness

Adjusts the brightness of the screen. Can be set to any number between -1 and 1.

screen_filters_invert

If set to 1, inverts the colors of the screen.


Options you shouldn't touch

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

autoboot_3ds_app_mem_type

OOjs UI icon information-warning.svg This option is only of interest for developers. Changing it without knowing what you are doing may result in frequent crashes.

When set to anything but 0, uses an alternate memory layout when autoboot_3ds_homebrew is set to 1.

use_dev_unitinfo

OOjs UI icon information-warning.svg This option will break most retail features while enabled - this includes online play, eShop, amiibo, and all retail games.

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

OOjs UI icon information-warning.svg This option usually does not stop errors from happening - it only makes them harder to troubleshoot.

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

OOjs UI icon information-progressive.svg Luma3DS should not be active in SAFE_FIRM since SAFE_FIRM is meant as a 'rescue mode' - it's relatively unlikely anything bad will happen, but don't enable this option without a specific good reason.

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 0xF96183FE QTM error, which notably allows the New 2DS XL to work on firmwares below 11.3.0

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 on 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.0, 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 boot.firm file on the root of your SD card (or wherever else on the SD you may have it configured if you are using fastboot3DS).
  • Booted from CTRNAND via B9S
    • Indicates that Luma3DS is being booted from the boot.firm file on the root of SYSNAND CTRNAND (or wherever else on SYSNAND CTRNAND you may have it configured if you are using fastboot3DS). If an SD card is inserted and you still see this message, one of three things is possible: 1. you are missing boot.firm from the root of your SD card, 2. your SD card isn't being read, or 3. you have configured fastboot3DS to try to boot from Luma on the CTRNAND before trying the SD.
  • Booted from SD via B9S (ntrboot)
    • Indicates that Luma3DS is being booted from the boot.firm 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 boot.firm 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 this you intended to do this, you should follow these instructions to install boot9strap to your FIRM partitions.
  • Booted from CTRNAND via FIRM0 or FIRM1
    • Indicates that Luma3DS has been installed to your FIRM partitions and that the SD is not being read. You will need a usable SD card if you wish to install boot9strap to your FIRM partitions as above, so try to fix that first by reformatting - if this does not work, your SD may be corrupted and should be tested for errors.