Luma3ds: [Compilation] Current and future features for Rosalina (All Rosalina feature requests go here!)

Created on 16 Jun 2017  路  100Comments  路  Source: LumaTeam/Luma3DS

EDIT: THIS ISSUE IS NO LONGER MAINTAINED AND HAS BEEN LOCKED; PLEASE SUBMIT NEW FEATURE REQUESTS TO #752!

With the release of Luma3DS 8.0 and the custom sysmodule Rosalina, we have been getting a lot of issues concerning Rosalina's current/planned features, as well as requests for new features. We've created this issue to consolidate these requests; if you want to request a feature for Rosalina, please do so here. If a feature has already been requested, please do not comment about your support or dislike of said feature; instead, use Github's "reaction" system to give it a thumbs up, thumbs down, like, etc. Please note that any arguing, bickering, fluff, and/or drama will be removed without notice.

Original Features

These were Rosalina's original features; i.e. the features available in the v8.0 release of Luma3DS.

  • Battery Percentage: The battery percentage is displayed in the lower right corner of the Rosalina menu.
  • Exception Handlers: Advanced Exception Handlers for catching errors, crashes, etc.
  • GDB Stub: Fully featured GDB stub for debugging purposes, compatible with GDB, IDA, etc.
  • Homebrew Menu takeover title: The title that is taken over by the Homebrew Menu on launch can be changed.
  • InputRedirection: For using an external controller to control your 3DS.
  • New 3DS Clock/L2: The clock rate and L2 cache can be adjusted in real time to run in Old 3DS or New 3DS mode, New 2/3DS only.
  • Process List: List of currently running processes.
  • Process Patches: SM service checks and FS archive checks can be patched out.
  • Rosalina menu: Interactive menu with various options, triggered by L+Down+Select. The default combo is changeable.
  • Screenshots: Saves the top and bottom screen as BMP images.

Features implemented at the request of the community

These are features that were requested by the community and have been successfully implemented.

  • Display local IP address when InputRedirection is on: Rosalina now displays the local IP address when InputRedirection is turned on, for ease of access. Originally, it only displayed when the GDB stub was active. This was implemented in commit 9ccfacd.
  • Key combo behavior change: Rosalina waits for all keys to be released before setting the trigger combo, making it much easier to set correctly. Implemented in commit 60d136f.
  • Optional ARM11 Exception Handlers: The ability to disable the Exception Handlers was requested several times, was implemented in a PR by SciresM, and was accepted/merged in commit 4d99143.
  • Persistence of custom choices - Rosalina now saves custom key combos, choice of Homebrew Menu takeover title, etc. across reboots. This was implemented in commit 1782827.
  • Power off/Reboot: Options to power off or reboot the system are now available in the Rosalina menu. Implemented in commit 37eb21d.
  • WiFi Toggle: Allow turning WiFi on/off from within Rosalina. Implemented in commit f286105, which was PR'd by @LiquidFenrir.

Features accepted/planned to be implemented

These are features that have been requested by the community and have been accepted; they will be implemented at some point in the future.

  • Brightness adjustment in the Rosalina menu: This would be convenient to be able to be adjusted on the fly, instead of needing to return to the Home Menu to do so. This has been requested a few times and is being worked on.
  • Input delay on exit: Ignore inputs for some amount of milliseconds after exiting the Rosalina menu to prevent accidental input in-game/app.

Features under consideration

These are features that have been requested by the community and are currently being considered as possible candidates for future implementation.

Rejected features

These are features requested by the community that were not appropriate for Rosalina, leading them to be rejected and not implemented.

  • Dump/load .code or romfs on the fly: This was rejected for being unfeasible; loading the .code for an already running application would likely not be possible to do without causing issues, and if the application isn't running then it's best suited towards external programs like Smash Selector.
  • Force launch Test Menu: This was rejected for being, well, unnecessary, and also out of the scope of Rosalina's functionality.
  • Make Rosalina optional: This feature was rejected because several key features and programs now rely on Rosalina to function properly, namely, the Homebrew Menu.
  • Samba server: This feature was rejected as it would be redundant given the S/FTP server one and mSD Management.
  • Screenshot output to non-BMP image formats: This feature was rejected because converting BMP to PNG, JPG, WEBP, etc. is already very easy to do outside of Rosalina, and adding the feature would make an already-slow process even slower.
enhancement

Most helpful comment

An integrated FTP/SFTP server with access to SDMC, CTRNAND, and TWLNAND would be an excellent addition to Rosalina.

All 100 comments

An integrated FTP/SFTP server with access to SDMC, CTRNAND, and TWLNAND would be an excellent addition to Rosalina.

i would like an option to set region stuff for the currently selected title, instead of installing a luma locale switch tool and have to select one title from a large list to set the region info.

I would like a default locale.txt, including multiple lines like this:
USA EN US 01 JPN JP JP 01 EUR EN GB 01
when out of region title launches, select the respective setting based on their region if per title locale.txt doesn't exist.

It would be practical to implement a Samba server, rather than an FTP one?
(To get rid of mSD management...)
Also, if I can ask, why the arm11 exception handlers switch was disabled?

Possibly improve the screenshot tool. HB used to have a screenshot feature upon pushing the home button or some other kind of key combo. This process was fast, and then to get the screenshots, you launch a separate program that puts them into image files. This was useful when using HANS.

maybe after selecting take screenshot from the rosalina menu, you can have the option to press a button to cancel it before it completes?

Given the fact that Rosalina allows you to set N3DS Clockspeed/L2 after booting, does this mean that it's now viable to set up per-title configurations for titles with issues with N3DS Clock+L2 that bump them down to O3DS settings whenever they're started/active?

Games like Sega All-Stars Racing Transformed's EU release and the SMT: Devil Survivor games are only really consistently stable/playable at O3DS settings. Up until this point, running them has required powering off the system, manually opening Luma's settings panel, and switching the Clock+L2 boost off every single time the user wants to run them, then rebooting and switching the N3DS setting back on after each play session.

The ideal behaviour would be for Luma/Rosalina to detect when an O3DS-only game is being launched (either through matching its ID against a user-provided blacklist in a config file, or through the user setting it to O3DS-mode in Rosalina at runtime, with the setting being remembered for later instances of that title being started), switch off the Clock+L2 boost for the duration of its runtime, then flip back to N3DS settings when the game has finished running.

Is that kind of behaviour possible now? Whenever it's been raised before, it was dismissed as being fundamentally impossible with the way Luma handles the Clock+L2 boost- has that changed?

@StateOfException Currently, you can manually go into the N3DS menu and disable/enable the clock/L2 boost in real time, yes. Luma doesn't currently do what you stated, but it is likely feasible. Thanks for the request.

It is possible to add an option that can be activated and deactivated; to disable the Home button and toggle it as a shortcut to take screenshots? Something like what happens with HANS but that can be changed in rosalina.

Having a dump codebins and load codebins feature on luma would be nice. I'd also like a force test menu NS patch. Lol.

when exiting the Rosalina menu, any chance the B button can stop being active after closing the menu? Example of how it currently is: watching Youtube, open Rosalina menu, Exit, Youtube goes back a page.

Edit: Thank you for considering this.

I think blocking other software from reading inputs for a certain amount of time would be very hard to implement, but it would be feasible to wait for maybe half a second before closing Rosalina and resuming the application. It would, of course, be best if this delay was optional.

WiFi toggle would be nice. It's a hassle on N3DS when you have to go back to the home menu.

Is it possible to make it use payloads again?

@maorninja You're going to have to clarify. What do you mean, "make it use payloads again"? Luma is still capable of chainloading ARM9 payloads. If you mean .3dsx *hax payloads, then I don't believe that would be possible because of the shifted memory maps necessary for Rosalina.

Edit: Corrected some incorrect information.

Yeah, I meant the .3dsx

Also, I mean't by if you can use it by Luma's side, not actually open it.
And yes, it was made with *hax payloads in mind.

the new Homebrew Menu was not developed with *hax payloads in mind.

Not true. hbmenu 2.0 still supports *hax 2.x payloads and even ninjhax 1.x. And also, hax payloads are not compatible with Rosalina since SYSTEM memory region layout needed to be changed to accomodate for the extra sysmodule (and also other things). There should be no reason to use hax payloads if you already have access to Rosalina, though.

(I wrote this some time ago:)
This is intentional. It was decided that target title selection is not useful anymore since 3dsx applications have full ARM11 system permissions now, and it is possible to directly access the savefiles of any title by using the appropriate FSUSER commands. In the meantime, you can use the CIA versions of savegame managers.

Also, HANS is obsoleted by Luma3DS's built-in ExeFS/RomFS (LayeredFS) game patching feature. You can also use GodMode9 instead of braindump for dumping game assets.

@maorninja The new Homebrew Menu already works with .3dsx files still. But you're going to have to clarify: are you wanting Luma to be able to open .3dsx files directly, without the Homebrew Menu?

And @fincs, thanks, I had misunderstood based on previous issues.

No, as in, will hax payloads still work on Luma 8.0?

@maorninja No, they will not, cannot, and in my opinion, should not as they are completely unnecessary under Luma. And, please, don't ask off-topic questions.

The Rosalina menu shows the Luma3DS version - could it also show SysNAND/EmuNAND info (and the system version if there's room)? That would obviate the need to patch System Settings. Granted, EmuNAND is not particularly useful any more, but it still might be fun to mess with old system versions, or have an EmuNAND with wifi turned off just for non-Nintendo-approved stuff.

Also, would it be possible to add support for ZL/ZR in the menu key combo, or is that a technical limitation of how the New buttons are implemented?

Ability to stream screen/video to external device.

@mitchellmebane I think it's a technical limitation. I can't find the issue where it's been mentionned, but it has already been suggested.

Have gotten a couple feature requests that have either already been asked for or are already implemented. Everyone, please actually read the body of the main post before commenting.

How about, being able to swap out your ROMFS anytime?

Basically, I have a lot of NSMB2 hacks, and I like to play them all. But to do so, I have to go into FBI, rename the folders, then go and play. Why not just make a "ROMFS Selector" thingy?

@maorninja there wouldn't be much demand for that, it'd be easier to just code up a little application to switch it.

I've tried do "Brightness adjustment" on rosalina but I can't get GSPLCD functions working
Rosalina just turn to black screen and the system freezes, no .dmp file generated
You can try with this, GSPLCD_SetBrightness also is not working

if (R_SUCCEEDED(gspLcdInit())) {
        GSPLCD_PowerOffBacklight(GSPLCD_SCREEN_BOTH);
        gspLcdExit();
}

Sorry if this is no the correct place for comment this.

TAS tools, like save states (not sure if feasible at all), frame advance, and queued inputs. Probably not fit for the "main version" of Luma, though. So if it isn't, a plugin kind of thing to make it possible to implement would be nice.

Macros could also be fun.

Would it be possible to inject Any title into the currently running title? i.e Injecting Homebrew CIA's into 3DS Sound

Could it be possible to have a configuration file or different mode/profile choose entry (dev mode with debug/process/... related entries and a "normal" mode with non dev features) to configure the entries in the rosalina menu?

Anyway i think rosalina is a great feature! Great work!

As I do a lot of Smash 3ds modding, I think the ability to un/remount the SD Card would be Incredibly useful. Although even i can see that this is a monumental request, but just saying, it would be nice to have.

This and possible a note taking ability. I would love to have this so as to write notes of what to do either in a game or when modding Smash 4.

@Hyperom I've heard that pen and paper work really well for notes.

Posting this here because it's mostly relevant;

@LiquidFenrir and I have been working on adding in support for detecting new Luma3DS releases in Rosalina and sending a system notification, progress can be seen at https://github.com/astronautlevel2/Luma3DS-1

Would it be possible to allow the user to change certain aspects of the Luma3DS Configuration from within Rosalina?

Specifically, enabling or disabling game patching, showing NAND or user string in system settings, the GBA boot screen in patched AGB_FIRM, and other options could go in the menu. It could replace the New 3DS Menu (which currently only changes the clock speed and access to L2 cache, both options found in the Luma3DS Config menu on boot).

Since it would be an options panel, some already planned and considered features such as screen brightness selection, volume control, and Wi-Fi status could potentially be in there as well.

Rosalina is a very impressive achievement, by the way! I love the expanded functionality of the HBL (uninstalled all the homebrew titles from my 3DS!); taking screenshots, messing with the clock speeds, and Input Redirection are absolutely incredible.

@HoLLy-HaCKeR They're looking for requests, thats a request. Just doing my civic duty.

@Hyperom This is actually already possible, with a homebrew called SDmounty. Be aware, though, it'll reset your theme to the default until you reboot.

@Hyperom to add to @Hikari-chin's answer, you don't even need SDmounty, just press L+R on the HOME menu to get in the camera applet and you can safely remove the SD card there. Don't answer to their prompt until the SD is back in though.

[Feature resquest] support for image capture similar to ntr cfw or horizonM

It would be great to support screen capture yeah.... like HorizonM since he has compat. with old 3ds but with better compatibility...

Have it to where screenshots r saved to sd card instead of ctrnand when u have boot.firm only on ctrnand

a delete option for installed titles would be pretty neat. sometimes i go into fbi and look through so many titles then i forget what im looking for. i suppose going home and returning will solve it but itd be pretty neat to delete from home menu.

Any possibility that using Rosalina, you can use HBL kinda like an Applet? i.e Open Rosalina menu, go to Launch HBL (or whatever it would be named) and you could run a 3DSX without having to close your current software? this would be really useful for something like this: Playing a game that you want to spend play coins on, opening Rosalina menu after running out of play coins, and run HBL to use a Playcoin Generator and exiting out without closing the Game and now being able to spend more play coins. i Completely understand if this can't or won't be implemented. (also, i'd love to get home menu notifications about new stable luma releases)

The ability to load custom ROMFS/EXEFS into NAND applications, like other applications (games installed on SD and cartridges), would be pretty neat.

I personally would like to see more details about processes in the Process List, like the current CPU and RAM usage of a process.

Repeating your rejected (for being impossible) enhancement requests from other issues here won't get them implemented, nor will insulting the collaborators or developers.

be able to select emuNAND options no matter if boot.firm is in your choice of locations ctrNAND or SD Card

Hello everyone,
There are two features I was like to see on Rosalina:

  1. -snip-

  2. This is probably leaning towards the impractical side, but I would be cool to be able to use exFAT or ext2 to add more space without losing speed. If someone actually wanted to do this, it would probably be more realistic for this to be implemented as a plugin instead (assuming that luma does support custom plugin instead).

@CuriousTommy I don't think that's practical:

  1. Gateway uses a flashcard to simulate the behavior of an actual cartridge. This is expensive and doesn't require much patching to get done (only basic signature patches, as well as sending some invalid cart commands to change the game on the cartridge. Plus, it's only really useful if you wanted to pirate games, since GodMode9 can backup cartridges to CIA format anyway).

  2. It would require a lot of work to get exFAT or ext2 to work on the 3DS, and wouldn't really give that much of a benefit (especially since there would be no way to get SigHax to load the payload from an exFAT card, given that it can only read FAT32.

Gateway uses a flashcard to simulate the behavior of an actual cartridge. This is expensive and doesn't require much patching to get done (only basic signature patches, as well as sending some invalid cart commands to change the game on the cartridge...

Yeah, if this was going to be implemented in Luma, then the ROM has to be read from the SD card slot instead of Gateway. It probably would mean patching the home menu and launcher too.

Plus, it's only really useful if you wanted to pirate games, since GodMode9 can backup cartridges to CIA format anyway).

Eh, both ways are easy tbh when it comes to piracy. CIAs just take longer to install. Also, Nintendo is targeting people who are not using legitimate software purchases. I want to avoid install illegitimate tickets on my future 3DS if I can help it while still being able to do mods and backups. There is a solution for homebrew, but I would also love to see one for physical games too.

It would require a lot of work to get exFAT or ext2 to work on the 3DS, and wouldn't really give that much of a benefit (especially since there would be no way to get SigHax to load the payload from an exFAT card, given that it can only read FAT32.

One could partition a small portion of the SD card to be FAT32 and have the rest be in the other format. But I honestly don't see many people interested in wanting to implement something like this.

Is it posssible to soft patch the ARM9 exheader checks via Rosalina ? I'm assuming not, since it's not implemented, but figured I'd ask. As things currently stand you need to reboot and enable the ARM9 patching to allow the 3dsx FBI access to CTR NAND / TWL NAND, but if you're rebooting anyway you can use GM9 instead for NAND / TWL NAND management. Not a dealbreaker but it would certainly be more convenient to be able to do NAND management stuff without having to reboot (eg updating the Luma CTR NAND payload when necessary).

would it be possible to choose between a soft and hard reboot from the settings?

also for custom settings persistence, could the title id for launching the homebrew menu be tied specifically to the nand being used? like a jpn sysnand accessing hb menu through a 3ds stock app while a eur emunand would access hb menu through a stock app that would most definitely use a different title id.

Didn't see the post to like for for the "NTR-esque plugin system", so I'd just like to express how awesome I think it would be if that was implemented. Thanks to the Luma team for all their hard work!

Integrate a Luma3DS updater to Rosalina.

Would it be possible to make the keyboard region free? If so we could install one of those custom keyboards for any region no matter what.

@Derek1199 See #106.

@EmuAGR Unlikely, mostly due to RAM constraints on the O3DS. However, it's very possible to implement Luma3DS update detection in Rosalina - see my fork on Luma3DS. Progress has somewhat stalled, mostly because we can't set notification headers, which means that frequently notifications don't appear near the top of the notification list.

I second a WiFi toggle option as well as an option to simulate a home button press on the next exit of the Luma menu.

I'd also like to thank the Luma contributors for their work. Good job, ladies and gentlemen. 馃憤
Also, +1 on editing my thoughtful comment. Please consider that some criticism is not bad and is meant to be constructive.

@HoLLy-HaCKeR @LiquidFenrir I meant removing and remounting the SD, while the game is still launched, so i dont have to close out of smash 4 everytime.

How about a feature that allows you to have several "saveslots" in for games like Pok茅mon. Kinda like some old ds flashcards where doing it.

I would love to see an option to launch the Homebrew Launcher directly in the Rosalina menu itself instead of using a system app or game.

Unless I'm missing something, perhaps a way to debug an application? I know I can hook into processes, but an application I'm testing crashes on boot. I'd rather not have to use exception handlers to find out where it crashed. It's my code, not a process (like fs or hid) either, so this would be useful.

I'd like to request a "process killer" or more specifically a "force exit to home menu" option. My reason being is that sometimes (homebrew) apps softlock on me, and don't respond to pressing the home button. I've been using the Rosalina reboot option to get around this, but I'd rather just exit back to the home menu if I could.

@Cralex yeah a "Last Resort" thingy like using task manager on windows when something froze yeah thats a nice suggestion, also hopefully my wifi connection switcher gets inplemented, its such a hassle when having to switch networks

@Pirater12 Took a look at your commit. I'd recommend finding a way to finely tune the LCD brightness, a la NTR, rather than just setting the 5 default options. This would also be useful because "5" is actually not the maximum brightness the displays support; it can go a bit higher.

is possible activate the circle pad pro for O3DS with inputredirection without having? Something like emulating their existence, If so, it would be very good for those who use this function in games where it is played more comfortable with the CPP and do not have it

Backlight (not _brightness_ but closely) adjustment: Just what NTR CFW does, it allows to lower brightness all the way, past normal brightness lvl 1 (based on Home Menu settings).

What about an internet connection modifier screen? On the bottom of wifi鈫抯tuff you already have
You could modify your DNS settings this way. It would be useful for people playing on different custom DS game servers, among other things.
Include the NDS/WFC settings below the 2/3DS settings.

There's already an application for that, it's called system settings

Volume Booster?
One of the main reasons why the audio is so bad on the system is because of low max volume output.
If its a way to bypass the max volume to make it louder would be nice.

@Retro-Aisu I think this can be done by modifiying i2C register 0x59.However I may be wrong.
https://www.3dbrew.org/wiki/I2C_Registers

I'd support it, w/o headphones the 3ds audio output sometimes is rly bad

Use GodMode9.

Edit by Hikari: This was a response to a deleted comment that was:

  • A: Inappropriate for this thread
  • B: Requested many times in other issues and rejected every time

@TurtleP I believe that's what the GDB Stub is for.

No I know. I meant that rather than attaching to a process that's already running, tag an application to launch and then debug via gdb.

@TurtleP Ohhhhhh. Yeah, that would be useful.

If it helps, I've worked around that by requiring an A press before continuing at the beginning of my little test, and attaching gdb before continuing there. Bit of a workaround, but it worked well enough at the time.

Ive had to open Rosalina when the boot screen starts before the actual app runs. Then attach to the process.

How about redirecting H&S app to load FBI.3dsx for easier updating?

Edit:
Also, add a menu option to toggle the reading of FBI.3dsx

Plugins are also needed more and more for the 3DS mod scene. Having plugins built into Luma would allow simpler ways to setup and use plugins. Plugin support would also allow further improvements to overall system stability and other minor adjustments to enhance the user experience. ( 汀掳 蜏蕱 汀掳 )

Plugins should have the following support:
鈻篜lugins can be enabled/disabled via Rosalina menu
鈻篜lugins should be able to not run until under certain circumstances when a plugin is enabled (when an app or game loads, certain system settings are enabled, etc.)
鈻篈llow plugins to force disable manual enabling/disabling to the plugin and other certain plugins (to prevent any issues)

ability to switch on/off wifi on n3DS (sometimes when im on wifi the system will freeze unless i turn on and off wifi and it can be a pain alot of times.). also i agree with the above post. it would be nice to have a menu similar to pro-c's recovery menu (PSP CFW) in order to enable and disable certain plugins individually. (i wouldve suggested it now but it seems someone beat me to it) for example sometimes id want to access project kaeru (flipnote studio mod) but not have to reboot just to turn off cgtp7 (mk7 mod)

The WiFi switch is already available in the most recent commits, @MarioMasta64.

Could rosalina be used on the fly o to the AGB_FIRM? If the answer is yes. Could it be implemented a extra menu as cheat engine o something into it or something useful for GBA games? :) also thanks :3

@hectortillo No. Rosalina runs in CTR mode, AGB_FIRM and TWL_FIRM run on bare metal.

I haven't seen anybody mention this yet, but adding some sort of NTR-esque video/screen streaming would be good.
I'd also like to request a feature that can disable sleep mode, allowing things to run while the device is closed, if that's feasible

Since I can't find it in the Rosalina menu: does Rosalina not have a way to end the current foreground application (or any process for that matter)? Sometimes when I'm debugging stuff the foreground application hangs because it fails to poll APT, which causes the home button to not do anything. The only way to exit at that point is to reboot, which is a bit suboptimal.

@Hikari-chin thanks :D also could be possible to make a shuffle splash screens or a menu where can choose the splash form different files without using the pc and choosing the one you like when you like? :) also many thanks :)

Could you implement a video streamer like what ntr has? Maybe with audio too?

Can you implement

  • an option where we can disable the 3D,power and charger LED?
  • more brightness levels? (less than 1 level)

@mrissaoussama LED toggling is already available in nightly Luma (sans charging LED, it can't be disabled). Brightness is being worked on by third parties currently and a PR will be made when it's finished.

I think by brightness they meant for the LEDs

@LiquidFenrir In that case, no, or at least, not by me (I did the original LED toggling option, for clarification). There's really no point in toggling the brightness of the LEDs; LED state resets and comes back on automatically (and can't be toggled back off) when the battery gets low, so there's no risk in having them off.

Thanks for answering

i'll download the latest nightly asap

I'm sorry for being a noob. but does the latest commit contain all the features from the previous commits?

I think the possibility to remap the buttons is interesting with a file available on the sd card charged automatic at boot. Very util for the 3ds with buttons broke.

(I don't speak english)

@mrissaoussama Commits change (add and remove) code, and build on top of each other. Unless a feature was removed because it was buggy, it's there.

Cia installation would be really nice

@Lordkurzchluss There are already many applications that handle CIA installation and removal. Adding it to Luma would only add unnecessary bloat, which is something the devs want to avoid. Unless you come up with a case which would make CIA installation useful, it probably won't be added. I'm sorry.

For new nintendo 3ds and 2ds users can you add ZL and ZR becouse most players like me dont use them.
Thanks!

What about a built-in memory debugger? Like the one Gateway3DS has?

@SewerynM2938 This is possible but very time-consuming for little benefit. Currently, Rosalina detects input via raw HID activity; the C-stick and ZL/ZR are not buttons on HID like the other buttons are, they're bolted-on addons that use a different mechanism.

THIS ISSUE IS NO LONGER MAINTAINED AND HAS BEEN LOCKED; PLEASE SUBMIT NEW FEATURE REQUESTS TO #752!

Was this page helpful?
0 / 5 - 0 ratings