Hacking [Rel] Improved (hopefully) NTR streamer for N3DS (XL/LL)

zbash92

Well-Known Member
OP
Newcomer
Joined
Mar 2, 2022
Messages
46
Trophies
0
Age
32
Location
NB
XP
224
Country
Canada
Not the best way to stream your 3DS games but sometimes it's the only good option available.

This updated NTR streamer home brew is backward compatible with all existing NTR viewers that I've tested on PC. Should in theory also work with Xbox/Wii U/etc viewers.
If there's any problem please let me know in this thread.

How to use:

Follow the guide here (not written by me):
https://wiki.hacks.guide/wiki/3DS:Wireless_streaming

Then download the CIA file from release page below, or from the zip file in attachment. Install the CIA file with FBI and rest of the guide follows.

Features:

  • Improved performance (and reduced battery life due to more CPU utilization; why would you stream your 3DS without plugging it in though ha ha)
  • Stability improvements


Changes:

  • Use up to three cores for encoding (around 80% ~ 120% increased frame rate)
  • Ability to switch between games and keep streaming
  • Removed green tint when streaming games with RGB565 output
  • Can now update quality setting etc while streaming
  • Added a menu for changing Remote Play settings on the fly (accessible from the NTR menu which is accessed by pressing X + Y), can be used to change viewer's port
  • Better frame pacing: do not encode frame when encoder is faster than actual frame rate
  • Various optimizations and updated dependencies
  • Should no longer crash on startup or when starting remote play (worked around race conditions in startup hook restore code).


Known issues:

  • Screenshot/debugger commands/night color are removed. They are available in Luma3DS' rosalina menu in better forms.
  • Real-time save/load removed. (The feature doesn't work very well though I can add it back in if needed.)
  • Can no longer send NFC patch due to removed debugger command. Use the NFC patch function in NTR's remote play menu instead. (Press X+Y after starting NTR-HR, then choose remote play menu)
  • CPU state is locked to high clock and L2 cache enabled when remote play is started. The option to change this may be added back in.


Source:

https://github.com/xzn/ntr-hr/tree/oxide

Downloads:

https://github.com/xzn/ntr-hr/releases


QR Code for FBI install:

qr-code.png


( Thanks @Flanter )


Credit:

cell9
Nanquitas
PabloMK7 (for 3.6.1)

Thanks especially cell9 for releasing the source of NTR 3.6 making this mod possible


Tips:

Set your WiFi device used for hot spot to be 2.4 GHz only to maximize 3DS WiFi connection speed:

wifi device manager 1.png

wifi device manager 2.png


There should be similar options in routers where you can disable 5 GHz radio or similar.

If you don't want to change your router setting, it's recommended to get a WiFi dongle that support AP mode and set it to 2.4 GHz only in device manager, then connect your 3DS to the hot spot from that WiFi dongle.

Extras:

A bare bone viewer that I wrote:

viewer-hr.png


It's missing some features: no NFC patching, no integer upscaling etc.

Also really likes to crash sometimes.

It does have an optional NN filter for reducing JPEG artifacts, leading to an overly sharpened/denoised/cartoonish image and makes small text look funny ha ha.

Download link for viewer: https://github.com/xzn/ntrviewer-hr/releases (Note: this is for viewer. The CIA homebrew is linked above, as well as in attachment)
 

Attachments

  • BootNTR-HR-v0.2.1.1.zip
    1.2 MB · Views: 20
Last edited by zbash92,

zbash92

Well-Known Member
OP
Newcomer
Joined
Mar 2, 2022
Messages
46
Trophies
0
Age
32
Location
NB
XP
224
Country
Canada
This is for New 3DS only, Where do you find your ntr.bin I'm curious?

ntr.n3ds.bin is for packing your own BootNTR, otherwise just install the cia file (it's compiled from Nanquitas' BootNTR but with romfs replaced with the one here)
 

u93132

Member
Newcomer
Joined
Jan 2, 2024
Messages
17
Trophies
0
Age
31
XP
68
Country
Taiwan
This is for New 3DS only, Where do you find your ntr.bin I'm curious?

ntr.n3ds.bin is for packing your own BootNTR, otherwise just install the cia file (it's compiled from Nanquitas' BootNTR but with romfs replaced with the one here)
I found it in the root directory of the SD card. No worry, I guess this is from my previous bootNTR installation.

Good part:
I used the hosted network to connect the N3DS and my PC. The streaming is smoother than before, and there is almost no delay between them.

Bad part:
As you said, sometimes crashes at startup (freezes or gives you a Luma3DS exception).
When I soft reset my Ultra Sun/Moon, the Luma3DS throws me a prefetch abort error (occasionally). Is this what you are familiar with?
If you need the dump, I can pass it to you.

Anyway, I suppose this is a nice improvement regarding the frame rate and the latency.
 

zbash92

Well-Known Member
OP
Newcomer
Joined
Mar 2, 2022
Messages
46
Trophies
0
Age
32
Location
NB
XP
224
Country
Canada
Sorry, NTR works in a peculiar way and I've never figured out how to use the dump from Luma3DS for debugging.

I've never tried soft resetting games before while streaming. When I have time I should take a look.
 

flanter21

Active Member
Newcomer
Joined
Aug 21, 2017
Messages
34
Trophies
0
XP
540
Country
United Kingdom
wow this is incredible. i’m finding very low latency and fps hovering around 60 most of the time if not solidly 60. for anyone else having issues you delete the /3ds/bootntrselector/ folder first and maybe also delete bootntrselector before installing this one.


one issue i have noticed though is that in snes9x instead of the colour correction touted, you actually just can’t see the game at all (whereas you can in the vanilla) granted this is pretty minor as i don’t see streaming an emulator on 3ds as very useful.

i also decided to try some other emulators and found that mgba and daedalusx64 only display the left half of the top screen oddly enough.

EDIT: for great quality and a relatively stable 60fps on both screens with occasional stutter i found priority=1 imagequality=90 and qos=20 to work very well. higher qos seems to lead to worse performance however updating quality settings while streaming does not appear to work for me (using snickerstream)
 
Last edited by flanter21,

zbash92

Well-Known Member
OP
Newcomer
Joined
Mar 2, 2022
Messages
46
Trophies
0
Age
32
Location
NB
XP
224
Country
Canada
wow this is incredible. i’m finding very low latency and fps hovering around 60 most of the time if not solidly 60. for anyone else having issues you delete the /3ds/bootntrselector/ folder first and maybe also delete bootntrselector before installing this one.


one issue i have noticed though is that in snes9x instead of the colour correction touted, you actually just can’t see the game at all (whereas you can in the vanilla) granted this is pretty minor as i don’t see streaming an emulator on 3ds as very useful.

i also decided to try some other emulators and found that mgba and daedalusx64 only display the left half of the top screen oddly enough.

EDIT: for great quality and a relatively stable 60fps on both screens with occasional stutter i found priority=1 imagequality=90 and qos=20 to work very well. higher qos seems to lead to worse performance however updating quality settings while streaming does not appear to work for me (using snickerstream)

Updated: snes9x, daedalusx64, mgba should now be recordable. Note that these emulators use the same cores that NTR uses for encoding of video stream so streaming them may not work so well anyway.

Snickerstream doesn't seem to update settings when a stream is already in progress. Try a different viewer to update settings.
 

flanter21

Active Member
Newcomer
Joined
Aug 21, 2017
Messages
34
Trophies
0
XP
540
Country
United Kingdom
Ok I’ve done some more testing and in case anyone cares I found (using 240p test suite in snes9x) that there is roughly 5 frames (/60) of latency between the stream and computer. so ~83ms It seems to change very little with quality settings or with if the you’re streaming only one screen.

Another regression I found was that there is a consistent crash upon launching any 3dsx app in hbl v2.1.0. This does not happen in ntr 3.6.1. However I managed to fix it by updating hb launcher to 2.4.2. Although the screen will freeze in until you’ve launched the 3dsx and pressed the home button so if anyone else has that issue know they know what to do.

If there’s one more thing which might be helpful though is you may want to change the version or put a credit to make it clear it isn’t the original ntr 3.6. Thanks!
 

zbash92

Well-Known Member
OP
Newcomer
Joined
Mar 2, 2022
Messages
46
Trophies
0
Age
32
Location
NB
XP
224
Country
Canada
@Flanter

Thanks for the report! Updated now and HB Launcher should no longer freeze in stream when launching games.

Also took your advice and added a logo the new version. This BootNTRSelector now has both the new modded version and the original 3.6.1 version. 3.2 and 3.3 versions are removed.
 

HelpTheWretched

Well-Known Member
Member
Joined
Feb 4, 2010
Messages
315
Trophies
1
XP
1,560
Country
Canada
Thanks for posting this. I've been meaning to do some stream capturing, and getting BootNTR Selector working again would be a bonus. The version on my N3DS has been outdated for some time now, and I've been asking around for help but to no avail. Do you know if it still supports .plg cheat plugins?
 

zbash92

Well-Known Member
OP
Newcomer
Joined
Mar 2, 2022
Messages
46
Trophies
0
Age
32
Location
NB
XP
224
Country
Canada
I just had 500 soft resets in USUM without having a crash. It is a new record! lol.

Is there any hang at all, just wondering? I'm not sure how robust my workaround was..

Suggestion please?

Chokistream, kit-kat-slim, etc.. Those work iirc.


P.S.
Hopefully this is the last update in a while, (that is, if there's no bug report..)
 

u93132

Member
Newcomer
Joined
Jan 2, 2024
Messages
17
Trophies
0
Age
31
XP
68
Country
Taiwan
Is there any hang at all, just wondering? I'm not sure how robust my workaround was..



Chokistream, kit-kat-slim, etc.. Those work iirc.


P.S.
Hopefully this is the last update in a while, (that is, if there's no bug report..)
There is no hang until now (1000 soft resets). I am gonna keep testing and let you know if anything happens.
This NTR-HR basically fits all my needs with good performance. Good job!
Post automatically merged:

For those who found your 3ds frozen but didn't get the Luma3DS error. Try L+R+select to find out if Luma is still working in the background. If Luma3DS menu pops up, it might mean your 3DS is overheating. Put down your 3DS and take a cup of coffee. Your 3DS will soon be back again.
 
Last edited by u93132,

zbash92

Well-Known Member
OP
Newcomer
Joined
Mar 2, 2022
Messages
46
Trophies
0
Age
32
Location
NB
XP
224
Country
Canada
Update: now has Remote Play menu in the NTR menu (accessed by pressing X + Y)

In the menu, can now change viewer's port in case you'd like to stream multiple N3DS to Snickerstream on the same PC. (Patching doesn't work with Snickerstream due to reasons, so this is a workaround)

Fixed a crash that happened when staying in the menu for too long (due to the changed netcode)

Update 2:

Better frame pacing hopefully, duplicate frames are no longer sent (so reported frame rate will be lower) e.g. if a game is running at 30 fps then for that screen the frame rate in viewer won't go above 30 fps.
 
Last edited by zbash92,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Lol rappers still promoting crypto