Releases: LumaTeam/Luma3DS
Releases Β· LumaTeam/Luma3DS
v13.2.1
- In Rosalina's "Screen Filters" submenu, similarly add a new option to "fix" the bottom screen's color curve. This significantly improves the color output of some IPS bottom screens. However, there seems to be some lottery even with IPS bottom screens, and the result might sometimes look too red
- Fix support for circle-pad in volume override submenu
- Rewrite README
v13.2
- Add "System Information" Rosalina submenu, displaying various system information, in particular screen types (TN/IPS, for each screen)
- In Rosalina's "Screen Filters" submenu, add a new option to "fix" the top screen's color curve. This significantly improves the color output of IPS top screens, bringing them fairly close to normal sRGB displays (though the colors will look slightly dimmer):
- all 3DS screens (TN and IPS) are calibrated to a color curve unique to 3DS systems that accomodates the TN screens' poor color gamut
- this option is hit-and-miss on TN screens and often leads to weird results. This is because TN screens on 3DS have terrible color gamut, in particular in the greens and yellows, even by 2011 standards (and 3DS TN screens have much worse response time than 3DS IPS screens, as well)
- this does not fix the black crush on 3DS IPS screens, in some instances this might make it slightly worse
- this option can be persisted in Luma3DS config via "Save settings"
- open_agb_firm has the same feature, this is where the LUT used here comes from
- Following my reverse engineering work on QTM (face tracking, super-stable 3D), in the "New 3DS" Rosalina submenu:
- add a submenu to temporarily enable/disable the "super-stable 3D" (SS3D) feature of New 3DSes. The changes made there do not persist, to change the behavior at boot, you should still go to System Settings like before
- add a submenu to test all 12 parallax barrier positions used when SS3D is active. Changes revert when exiting the submenu
- add a submenu to calibrate SS3D. Even though System Settings has a similar function, this has fewer limitations and displays more information about the process on screen
- Reorder Rosalina menu top screen entries to facilitate usage of the most commonly used options; merge "Power off" and "Reboot" into a single menu
- Allow plugins to use PRIVATE memory instead of SHARED on requests (#2086, bug report and original PR thanks to @LittlestCube). This allows plugins to access the network more easily. Only download plugin from trusted sources.
- During the "first time booting Luma3DS/Luma3DS upgrade" process, create the payloads directory if it does not exist. This should make the 3DS hacking process even more streamlined
- Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience
v13.1.2
- Fix homebrew autoboot stuck in exception at boot after POWER button was held for too long
- Screenshots: when dealing with 800px mode, produce 800x480 images with the correct aspect ratio instead of 800x240 ones for more faithful output (using integer scaling on the Y axis)
- Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience
v13.1.1
- Fix bug where wireless connection option was replacing volume override
- Force wifi menu: handle unconfigured wifi slots correctly
- Minor changes to the plugin loader
v13.1 changelog:
- Add volume slider override
- Currently, this option is located under "System configuration" in the Rosalina menu and autosaves, while being under
[misc]
inconfig.ini
. This is because this option is only supported forNATIVE_FIRM
. This may change in the future - When using the option, the console might sometimes take longer to shutdown
- Currently, this option is located under "System configuration" in the Rosalina menu and autosaves, while being under
- Add explicit "Boot chainloader" entry, above "Save and exit" in the boot configuration menu
- Remove unused and useless "Allow Left+Right / Up+Down combos for DSi" option
- Hide "Enable custom upscaling filters for DSi" option
- Fix an issue where baremetal screeninit would result in two white screens or wrong colors, usually when launching Arm9 payloads
- Rosalina: display SSID in "Force wifi connection" menu
- LayeredFS: improve game update RomFS mountpoint detection
- Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience
In addition, with thanks to @devkitPro, this release of Luma3DS comes bundled with version 2.4.3 of the Homebrew Menu, itself bundled with config/ssl/cacert.pem
for use with libcurl.
v13.1
- Add volume slider override
- Currently, this option is located under "System configuration" in the Rosalina menu and autosaves, while being under
[misc]
inconfig.ini
. This is because this option is only supported forNATIVE_FIRM
. This may change in the future - When using the option, the console might sometimes take longer to shutdown
- Currently, this option is located under "System configuration" in the Rosalina menu and autosaves, while being under
- Add explicit "Boot chainloader" entry, above "Save and exit" in the boot configuration menu
- Remove unused and useless "Allow Left+Right / Up+Down combos for DSi" option
- Hide "Enable custom upscaling filters for DSi" option
- Fix an issue where baremetal screeninit would result in two white screens or wrong colors, usually when launching Arm9 payloads
- Rosalina: display SSID in "Force wifi connection" menu
- LayeredFS: improve game update RomFS mountpoint detection
- Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience
In addition, with thanks to @devkitPro, this release of Luma3DS comes bundled with version 2.4.3 of the Homebrew Menu, itself bundled with config/ssl/cacert.pem
for use with libcurl.
v13.0.2
- Fix older system versions (4.x to 8.x) not booting since Luma3DS v13.0
- On 4.x, Arm11 custom sysmodules have been disabled. This means no Rosalina and no region-free; if you're still on these system versions, please just upgrade after having installed Luma3DS.
- Fix emuNAND support for system version 5.0 (and possibly some other ancient system versions like this one). This was a long-standing issue
- Fix an issue where Arm11 svcBreak exceptions were not displayed as such since Luma3DS v13.0
- Fix an issue with plugins related to Home Menu notification
- Properly grant access to all Arm11-accessible IO to 3DSX homebrew
- Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience
v13.0.1
- Fix a v13.0 regression where external FIRM module loading (such as TwlBg) was broken
v13.0 changelog:
- Merged @PabloMK7 and @Nanquitas 's fork, adding plugin support. This allows mods like CTGP-7 to be played
- NOTE: Due to planned changes (such as kernel reimplementation) older no longer maintained plugins or closed source ones may suddenly stop working at some point in the future. We advise to use open source and/or actively maintained plugins from trusted sources instead
- Added support to replace the default TWL_FIRM (i.e. DS(i) software) convolution-based upscaling filter by the contents of
/luma/twl_upscaling_filter.bin
- Added support to allow Left+Right and Up+Down key combos in TWL_FIRM, although commercial DS(i) games usually prevent these combos on their own too
- Added support for arbitrarily-sized and uncompressed TWL_FIRM and AGB_FIRM, when externally loaded from the
/luma
folder - Simplify sysmodule CXI loading and IPS/BPS patching: N3DS bit is now cleared when considering which CXI file to load from
/luma/sysmodules
. The path for IPS/BPS patches for sysmodules, and sysmodules only, has been moved to/luma/sysmodules/<titleId without N3DS bit>.ips
(resp..bps
). This is a breaking change - Remove the "Use EmuNAND FIRM if booting with R" option and all related logic. This was a leftover of the Gateway era that has no place in 2023
- Fixed a rare bug where the console would boot into 2 white screens
- Other minor changes
v13.0
- Merged @PabloMK7 and @Nanquitas 's fork, adding plugin support. This allows mods like CTGP-7 to be played
- NOTE: Due to planned changes (such as kernel reimplementation) older no longer maintained plugins or closed source ones may suddenly stop working at some point in the future. We advise to use open source and/or actively maintained plugins from trusted sources instead
- Added support to replace the default TWL_FIRM (i.e. DS(i) software) convolution-based upscaling filter by the contents of
/luma/twl_upscaling_filter.bin
- Added support to allow Left+Right and Up+Down key combos in TWL_FIRM, although commercial DS(i) games usually prevent these combos on their own too
- Added support for arbitrarily-sized and uncompressed TWL_FIRM and AGB_FIRM, when externally loaded from the
/luma
folder - Simplify sysmodule CXI loading and IPS/BPS patching: N3DS bit is now cleared when considering which CXI file to load from
/luma/sysmodules
. The path for IPS/BPS patches for sysmodules, and sysmodules only, has been moved to/luma/sysmodules/<titleId without N3DS bit>.ips
(resp..bps
). This is a breaking change - Remove the "Use EmuNAND FIRM if booting with R" option and all related logic. This was a leftover of the Gateway era that has no place in 2023
- Fixed a rare bug where the console would boot into 2 white screens
- Other minor changes
v12.0.1
- Hide the "Force routing audio output to headphones" option from bootmenu, and extend it to force-route audio to speakers too
- Fix handling of negative "brightness" values in screen filters advanced options
- Clarify in bootmenu that the "autoboot homebrew" option is meant to launch the Homebrew Menu
- Always crash when processes unexpectedly fail to load, to help troubleshooting
- For sysmodules,
code.bin
andexheader.bin
loading are now deprecated. CXI file loading should be used for those (see 12.0 release notes), and future release will make CXI loading more seamless
v12.0
- Add a new "advanced configuration" submenu for screen filters, allowing for far more customization (notably, increasing gamma). It allows setting different filters for top and bottom screen separately, and all settings can be saved to the ini configuration file
- Implement autobooting into Homebrew Menu, both in 3DS mode and in DSi mode:
- DSi modes uses nds-hb-menu bootstrap's TID by default, and is a bit slow to start as it needs to go through the native 3DS OS first no matter what
- Homebrew needs to be compiled with libctru v2.0.0 at a minimum, and libctru v2.1.2 is highly recommended to a bug fix
- Move "Save settings" to top-level menu
- Add ability to force routing audio to headphones. This is targeted to Bluetooth hardware mod users
- One limitation is that this option gets undone if you actually insert then remove headphones in the headphones port, closing and re-opening the lid fixes this
- Add ability to redirect application core1 threads to core2, on N3DS:
- Only useful in very demanding games like PokΓ©mon (Ultra) Sun/Moon where it nets approx. a 10% gain, due to how the 3DS OS works
- Might break some games and homebrew applications
- Add external *.cxi non-KIP sysmodule loading (from
/luma/sysmodules
), when the "Enable loading external FIRMs and modules" option is enabled- The expected format is {titleId}.cxi (not the name, unlike KIPs), with {titleId} being a string of 16 hexadecimal digits, and with the N3DS bit taken into account
code.bin
loading for sysmodules is still kept as a feature, but you now need to enable both this option and "Enable game patching" (for non-sysmodules only "Enable game patching" suffices)
- Enable "game patching" features for all applets (not extensively tested), not just games or applications. This being said, LayeredFs might not work on things like the software keyboard, but "locale emulation" is expected to always work
- Remove kernel check for creating core2/core3 threads. This has no bearing on homebrew being able to access core2, as it always has had the proper access bits. Moreover, you should not create threads on core3 as head-tracking takes most of the CPU time there & the graphics driver depends on head-tracking
- Grant full DSP RAM access to all 3dsx homebrew
- Move
hb:ldr
from Rosalina to loader reimplementation - Add disabled-by-default PASLR support in our custom loader reimplementation; this should match what the official sysmodule does 1:1
- Fix a bug where an error telling the MCU firmware version was too low, even if this was always incorrect
- Fix a very long-standing bug where sysmodules could incorrectly be killed when using the "Switch the hb. title to the current app." feature followed by closing the current app. This might have been causing issues with this feature and N3DS Health&Safety app in the past
- Display the proper error messages when removing the gamecart or the SD card while playing a game on either medium, instead of a cryptic error code. Also add datetime information to
errdisp.txt
entries - General system stability improvements to enhance the user's experience
(libctru v2.1.2 and 3ds-hbmenu v2.4.1 will officially release later this week)