Nintendo 3DS "Custom Firmware"
  • C 96.8%
  • Assembly 1.7%
  • Makefile 1.3%
  • C++ 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-14 16:14:17 +02:00
.github/ISSUE_TEMPLATE Prepare for v13.2.1 2024-10-01 23:16:57 +02:00
arm9 Fixed evoconfig.ini reset bug after saving settings in Rosalina menu 2026-07-14 16:14:17 +02:00
arm11 Fixed evoconfig.ini reset bug after saving settings in Rosalina menu 2026-07-14 16:14:17 +02:00
img Prepare for v13.2.1 2024-10-01 23:16:57 +02:00
k11_extension Fixed evoconfig.ini reset bug after saving settings in Rosalina menu 2026-07-14 16:14:17 +02:00
sysmodules Fixed evoconfig.ini reset bug after saving settings in Rosalina menu 2026-07-14 16:14:17 +02:00
.gitattributes Moved config file to INI, and more 2022-03-28 20:30:02 +01:00
.gitignore Rebranded from Luma3DS to Evolution3DS 2025-09-03 10:04:49 +02:00
LICENSE.txt added a Configuration menu option to change the splash screen duration. Added Logo.bin loading feature. 2025-09-04 18:32:26 +02:00
Makefile Made some final changes and edited version number 2025-09-03 22:10:18 +02:00
README.md deleted some empty lines 2026-07-12 21:35:01 +02:00
version.mk Fixed evoconfig.ini reset bug after saving settings in Rosalina menu 2026-07-14 16:14:17 +02:00

Evolution3DS

Nintendo 3DS "Custom Firmware"

Description

Evolution3DS is an unofficial fork of Luma3DS. This project combines features of several Luma3DS forks that I like.

This fork is intended for personal use. I cannot guarantee this is safe for your hardware.

Added/Changed Features

  • Changed the configuration file name to evoconfig.ini

  • Changed the colors of the Rosalina and Configuration menu

  • Tools menu

  • Reset the StreetPass 8h cooldown to streetpass other 3DS again - Original homebrew app by tastymeatball

  • Set the number of Play Coins - Original by Gruetzig

  • Plugin selector - Original by Tekito-256

    Note: After setting a default plugin, hold Select while launching a game to open the plugin selector*

  • Plugin Watcher - Original by Tekito-256

    Note: Monitors and alerts on potentially sensitive plugin operations (file/directory deletion, network connections, camera access). When enabled, displays a confirmation dialog allowing you to continue or block the operation

  • Support for v0.5.x 3GX plugin loading - Original by Tekito-256

  • Force reboot option - Original by cooolgamer

  • Time display in Rosalina menu - Original by suprdratts/hide0123

  • Logo.bin loading feature - Original by Pixel-Pop

  • Detailed screen brightness adjustment - Original by DullPointer

  • Volume display in Rosalina menu - Original by DullPointer

  • Improved system modules speed - Original by Core-2-Extreme

  • Fixed Rosalina menu freeze - Original by RedShyGuy

  • N3DS clock + L2 status display in Rosalina menu - Original by DullPointer

  • Title ID display in System info

  • HOME button simulation options in Tools menu:

    • Toggle visibility of "Return to HOME Menu" option (useful if your HOME button is broken)
    • Enable/disable HOME button combo simulation
    • Configure key combo to simulate HOME button press

    Note: HOME button key combo only works inside applications, not on HOME Menu

  • Merged "Enable DSi external filters" option into "Enable loading external FIRMs and modules" option in configuration menu

  • Restored "Enable dev UNITINFO" and "Enable Rosalina on SAFE_FIRM" options in configuration menu

  • Re-added splash duration setting option in configuration menu (custom values also supported)

  • Added no errdisp + instant reboot option - Press A+B+X+Y+Start to instantly reboot

    Note: Configurable via evoconfig.ini only. Using instant reboot may corrupt your SD card

  • Day/Night mode allowing to change the brightness, toggle LEDs, etc. At a desired time - Original by cooolgamer based on DullPointer

  • Random little messages in the arm11/9 exception handler :)

  • Screenshots include title ID in filename

  • Customizable LCD backlight toggle shortcut (Does not work on old 2DS)

  • Experimental faster boot time for big sd cards (Expert option, may corrupt your sd card if full)

Extra Configuration Menu Options:

  • Automatically suppress LEDs - Original by DullPointer

  • Cut power to TWL Flashcards - Original by DullPointer

  • Cut 3DS Wifi in sleep mode - Original by DullPointer

  • Save screenshots in date folders

  • Combine top/bottom screenshots (saved with _cmb suffix)

  • Use Fahrenheit for temperature display (defaults to Celsius)

  • Use 12-hour clock format in Rosalina menu (defaults to 24-hour)

Expert Zone:

  • To toggle hidden options quickly, you can use the Konami code on the luma configuration menu. WARNING: These are advanced options not meant to be used by regular users, use carefully!

For detailed technical information, please refer to the official Luma3DS documentation and README.

Installation and upgrade

Evolution3DS requires boot9strap to run.

Once boot9strap has been installed, simply download the latest release archive and extract the archive onto the root of your SD card to "install" or to upgrade Evolution3DS alongside the homebrew menu and certs bundle shipped with it. Replace existing files and merge existing folders if necessary.

Basic usage

The Configuration menu can be accessed by pressing Select at boot. The configuration file is stored in /luma/evoconfig.ini on the SD card (or /rw/luma/evoconfig.ini on the CTRNAND partition if Evolution3DS has been launched from the CTRNAND partition, which happens when SD card is missing).

The chainloader menu is accessed by pressing Start at boot, or from the configuration menu. Payloads are expected to be located in /luma/payloads with the .firm extension; if there is only one such payload, the aforementioned selection menu will be skipped. Hotkeys can be assigned to payload, for example x_test.firm will be chainloaded when X is pressed at boot.

The overlay menu, Rosalina, has a default button combination: L+Down+Select. For greater flexibility, most Rosalina menu settings aren't saved automatically, hence the "Save settings" option.

Compiling

To build Evolution3DS:

  1. Get the prerequites:
  1. Clone the repository with git clone https://github.com/Cavvoh/Evolution3DS.git
  2. Run make.

The produced boot.firm is meant to be copied to the root of your SD card for usage with Boot9Strap.

Note: For easy SD card file transfer, consider using ftpd.

Setup / Usage / Features

See https://github.com/LumaTeam/Luma3DS/wiki (needs rework)

Credits

See https://github.com/LumaTeam/Luma3DS/wiki/Credits for original Luma3DS credits

People who made this fork possible:

  • Cavvoh
  • 2b-zipper (Nexus3DS)
  • DullPointer
  • Tekito-256
  • JBMagination2
  • hide0123
  • Gruetzig
  • Pixel-Pop

Licensing

This software is licensed under the terms of the GPLv3. You can find a copy of the license in the LICENSE.txt file.

Files in the GDB stub are instead triple-licensed as MIT or "GPLv2 or any later version", in which case it's specified in the file header.

By contributing to this repository, you agree to license your changes to the project's owners.