Kernel9 测试版补丁发布,可加速高容量 SD 卡在 3DS 上的启动速度
[Beta Release][Tester wanted] Kernel9 patch to speed up boot speed on high capacity SD card
Kernel9 推出基于 Luma3DS v13.4 的 v1.2 beta 版补丁,禁用 3DS 开机时空闲空间计算,使高容量 SD 卡启动从 +60 秒降至瞬间。补丁将卡容量直接显示为剩余空间,非永久写入 RAM 可还原,但未证实 100% 安全,建议勿在开启时安装游戏或更新系统。
I finally made this patch to say goodbye to long boot time when using 2TB (or any high capacity) SD card.
So everyone knows the higher capacity SD card, the longer boot time is, but why????
Q. Why `higher capacity SD card, the longer boot time`?????
A. This is because 3DS is calculating free space by going through FAT on every boot.
Q. But it can be mounted within a few seconds on PC/phone!!!!!
A. 3DS's SDIO controller is slow like a few MB/s so just reading a few hundred MB cause a lot of delay on 3DS.
So everyone should know why this happens now, so what to do?????
☢☢☢☢Let's just disable free space calculation on boot so it boots much faster☢☢☢☢
Actually, this patch just uses SD card capacity as free space so if you have 1TB card, free space will be shown as 1TB no matter how much you actually use.
Yes!!!!!
It worked!!!!!
Please note : This patch is not proven to be 100% safe, so please refrain from dangerous activities such as updating system FW and installing games etc... (or do so at your own risk)
Try it on your console :
- v1.2 (beta version) (based on Luma3DS v13.4)
- Updated to Luma3DS v13.4.
- Changed config filename to config_fs_patch.ini to avoid conflicting with official Luma3DS.
- Fixed crash when using Save settings in rosalina menu.
- v1.1 (beta version) (based on Luma3DS v13.3.3-7f1dd96)
- Now you can configure to hide the warning that is shown on every boot.
- v1.0 (beta version) (based on Luma3DS 13.3.3)
If you find any problems except free space is incorrect, let me know!
Let's just disable free space calculation on boot so it boots much faster☢☢☢☢
that's a major understatement. going from +60secs to instantly is seriously impressive!
wonder if disabling the sdcard's free space count has any ramifications like maybe when installing new titles? if it's a necessity for the system to do it in order to write anything new on the sd card etc
that's a major understatement. going from +60secs to instantly is seriously impressive!
wonder if disabling the sdcard's free space count has any ramifications like maybe when installing new titles? if it's a necessity for the system to do it in order to write anything new on the sd card etc
I tested
- I can still write data if I set free space 0B while actually having some free space (but this may fail if application checks for free space and rejects due to insufficient space before actually writing)
- I can still write data if I set free space as same as entire card capacity (current patch) while actually having less free space (I haven't tested what would happen if we try to write data while no space left on SD card, I personally guess it just returns error)
The test has been done copying regular files (.3dsx, .txt etc) using ftpd.
I haven't tested what would happen if I try to install title.... so [Tester wanted]☢
Awesome. This is a great QOL patch.
Are you willing to merge it upstream?
I tested
- I can still write data if I set free space 0B while actually having some free space (but this may fail if application checks for free space and rejects due to insufficient space before actually writing)
- I can still write data if I set free space as same as entire card capacity (current patch) while actually having less free space (I haven't tested what would happen if we try to write data while no space left on SD card, I personally guess it just returns error)
i gotta say that none is optimal imho. it's probably better putting a disclaimer that people shouldn't install anything on the sd card with this patch on (and if they do, it's their own risk), until they switch it back to normal. well atleast until we're 100% sure it's safe to do so
saving with installed games (as the system writes to the sd card) shouldn't be an issue tho
Last edited by CoolMe, Jul 18, 2025
Awesome. This is a great QOL patch.
Are you willing to merge it upstream?
It's not proven to be 100% safe so not anytime soon.
Post automatically merged: Jul 18, 2025
i gotta say that none is optimal imho. it's probably better putting a disclaimer that people shouldn't install anything on the sd card with this patch on (and if they do, it's their own risk), until they switch it back to normal. well atleast until we're 100% sure it's safe to do so
saving with installed games (as the system writes to the sd card) shouldn't be an issue tho
Thanks, I've added warning.
Is this reversible? I'm so tempted to test this because since I updated my SD to 128 boot times are a pain
Is this reversible? I'm so tempted to test this because since I updated my SD to 128 boot times are a pain
Yes this patch is not permanent, it's applied on RAM every time you select "accept the risk"
So you can revert to normal luma3ds or just select "reject the risk" on warning screen to boot without this patch
Q. But it can be mounted within a few seconds on PC/phone!!!!!
A. 3DS's SDIO controller is slow like a few MB/s so just reading a few hundred MB cause a lot of delay on 3DS.
so then why doesnt this happen with cards as low as 2GB? considering it would be needing to read 18 hundred MB to enumerate free space. but it doesnt delay very long on boot on smaller cards anyway
Is there no other way to calculate free space on FAT32? Reading the whole table or whatever doesn't seem to be an approach taken by any other OS / device. If only tbe FW could cache this rather than the drastic workaround. I'm on a 256GB card now. Got a 2TB on Vita though.
so then why doesnt this happen with cards as low as 2GB? considering it would be needing to read 18 hundred MB to enumerate free space. but it doesnt delay very long on boot on smaller cards anyway
Actually it happens on every card but it's not notifiable because FAT is small enough for 2GB
Post automatically merged: Jul 19, 2025
Is there no other way to calculate free space on FAT32? Reading the whole table or whatever doesn't seem to be an approach taken by any other OS / device. If only tbe FW could cache this rather than the drastic workaround. I'm on a 256GB card now. Got a 2TB on Vita though.
There's FS information sector for it but it's not guaranteed to be correct so it should be treated as "maybe this much space is available, maybe...." and 3DS doesn't seem to update it anyway.
N3DS here, get a warning about the patch point being too high then it doesn’t seem to change anything
N3DS here, get a warning about the patch point being too high then it doesn’t seem to change anything
Is your patch point 0x00000000?
Is your patch point 0x00000000?
No it says my patch point is significantly higher. Is there some way I can change that?
I tried it with an officially licensed Nintendo Switch SD Card. 256GB. The yellow one with the power star on it.
Without the patch, it took 24.60 seconds, rounded up.
With the patch, it took 10.66 seconds.
A 50%+ increase in speed...That's damn good!
I'll use it when it's perfected, or at least out of beta. Nice job.
No it says my patch point is significantly higher. Is there some way I can change that?
That warning means "If your patch point (above line) is 0x00000000 patch is not available so let us know" so if your patch point is NOT 0x00000000 it's fine.
Can't this be used to jump to a function call in the Luma3DS source code to replace the function to calculate the free space with a more modern and better one (i.e. GodMode9 calculates it instantly, so base it off that function?)
It'll require 'fatfs' to replace the function, though idk if basing it off that would be beneficial https://github.com/d0k3/GodMode9/bl...b37b9b7a9d/arm9/source/filesys/fsdrive.c#L226
Unfortunately, GodMode9 doesn't calculate free space instantly.
GodMode9 doesn't calculate free space unless you "R+A (drive option)" -> "Show drive option" then you'll see "Analyzing drive, please wait..." (I guess it's calculating free space by reading through FAT) and you have to wait for a while depending on your SD card capacity.
来源:Gbatemp · gbatemp.net