3DS · Release

Luma3DS 13.5 adds color, audio and LED controls to Rosalina and speeds up IPS patches

The new release of the 3DS custom firmware saves several settings without touching config.ini, adds audio balance and per-channel gamma, and loads some IPS patches in under 50 ms where they used to take minutes.

Admin · 2 min
Nintendo 3DS XL console, open and seen at an angle

Image: Evan-Amos · public domain · Wikimedia Commons

Settings that save themselves

LumaTeam released Luma3DS 13.5 on November 2. Several options that used to live in config.ini have moved to unused MCU registers, so you now change them from Rosalina, the CFW's built-in menu, and they stick with no extra steps. Some are new, including forcing audio to the speakers or headphones, left/right balance and an LED brightness override from 0 to 100%. The red power LED can't be dimmed and deliberately stays on so you still get the low battery warning.

Screen filters now have separate gamma and contrast for red, green and blue, which helps with color calibration. The brightness setting is gone from the advanced filters because it got in the way of optimizing them. The color correction table is now generated in about 75 µs instead of 700, and writes are synced to vblank to avoid graphical glitches.

Patching and LayeredFS

The loader accepts UPS patches (code.ups) alongside IPS and BPS, although UPS CRC checks are skipped for now. The biggest gain is IPS speed: the team says patches with many small records have gone from several minutes to under 50 ms in some cases. Multiple patches can also be applied together, with no guaranteed order.

LayeredFS now patches games that lack the fsUnmountArchive symbol, such as Metroid: Samus Returns. The plugin loader also stops leaving memory mapped when a process ends, a bug that could prevent the next application from starting.

If you use autoboot

Homebrew autoboot now goes through the HOME Menu reboot mechanism by default. That fixes the HOME and POWER buttons on unusual memory layouts and lets the console boot normally if the configured title isn't found. Because of a bug in older libctru versions, apps using memory modes with more RAM, such as Dev1, must be rebuilt with libctru 2.7.1 or later. The Homebrew Menu bundled with this release already is. To get the old behavior back, set autoboot_3ds_use_ns = 1 in config.ini.

The archive also ships an updated cacert.pem without the compromised eMudhra and Sectigo certificates, for homebrew that uses cURL.

Sources

Luma3DS 13.5 release notes (GitHub)

Keep reading