Homebrew Snickerstream - Unified NTR and HzMod streaming client for the 3DS

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
Version 0.85b is here! Here's what has been added or changed:

  • Snickerstream now supports Direct2D as its rendering library.
    • Direct2D is hardware accelerated if your GPU supports it (if not, it uses to software mode). This means much less CPU usage, more constant RAM usage, less tearing and less dropped frames due to slow hardware, while still requiring no external DLLs and being Wine-friendly.
    • Thanks to it, Snickerstream now works on many more hardware configurations and fullscreen works properly (it isn't an experimental feature anymore!)
    • This means that, as both now support hardware acceleration, Snickerstream should perform at just as good as NTRViewer!
    • In order to use Direct2D in hardware accelerated mode you need a GPU that supports at least Direct3D feature level 9 and has WDDM 1.1 drivers (read: any GPU made during or past 2006 should support it).
    • The minimum requirements to use Direct2D rendering are Windows Vista SP2 (or later) and a graphics card with 128 MB of VRAM (256+ recommended).
  • Although it's not recommended (because Direct2D is better than it in basically every way), it's possible to choose between Direct2D and GDI+ rendering.

  • Pressing ENTER will now go back to the connection window.

  • The Init Remoteplay and Connect buttons have been merged togheter. Snickerstream will automatically detect if Remoteplay has been started and send the appropriate packet if it isn't. In case you want to edit how much time it will wait before sending the packet, you can edit the WaitRemoteplayInit value in the INI (in milliseconds)

  • NFC patching has been added for firmwares <=11.3 and >=11.4.

  • Presets have been added. There are a total of 7 presets ranging from best quality to best performance.

  • Packet errors will now be logged at loglevel 2, making this loglevel a bit more useful without producing giant logfiles.

  • CPU model and frequency, GPU model and OS version are now logged at loglevel 3.

  • (Bugfix) Key presses are only recieved if the GUI is active.

  • (Bugfix) The GUI buttons get disabled when one of them gets clicked on to avoid function calling related bugs.

You can also find an updated tutorial (also covers NFC patching) in the readme and a list of FAQ here.
As usual, you can download this version from the GitHub releases page.
I hope you all like it! :grog:
 
Last edited by RattletraPM,

Bluespheal

Well-Known Member
Member
Joined
Sep 5, 2016
Messages
285
Trophies
0
Age
29
XP
830
Country
Mexico
Seems running it on wine is broken, the following error pops out:

Line 13854, Error: Variables used without being declared.
 

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
Seems running it on wine is broken, the following error pops out:

Line 13854, Error: Variables used without being declared.
I've given that a quick look and it looks like one of the UDFs I used requires a function that's stubbed in the latest versions of Wine (that's why you're getting the undeclared variable error even if I re-checked everything - including the offending libraries - in SciTE and they pass the syntax check). You could try some past Wine versions to see if it was only recently stubbed, but if that doesn't work sadly there's not much I can do, not even building a version that has MustDeclareVars off would help :unsure:
 

Real.96

Well-Known Member
Member
Joined
Sep 14, 2015
Messages
1,055
Trophies
0
Age
27
XP
955
Country
Italy
Great apps! Stream works greatly! Glad to see that this work is from a guy of my country :D I wrote 2 issues in the github, one is a bug and the second is a request. Thanks a lot for this!
 
Last edited by Real.96,

Bluespheal

Well-Known Member
Member
Joined
Sep 5, 2016
Messages
285
Trophies
0
Age
29
XP
830
Country
Mexico
I've given that a quick look and it looks like one of the UDFs I used requires a function that's stubbed in the latest versions of Wine (that's why you're getting the undeclared variable error even if I re-checked everything - including the offending libraries - in SciTE and they pass the syntax check). You could try some past Wine versions to see if it was only recently stubbed, but if that doesn't work sadly there's not much I can do, not even building a version that has MustDeclareVars off would help :unsure:
No problem man, I'll see if any wine version works and let you know, if not I'll use my other PC, no biggie :)
 

AlternativeZero

Well-Known Member
Member
Joined
Apr 7, 2017
Messages
250
Trophies
0
XP
817
Country
Just tested v0.85b and it works a lot better than v0.75b, a lot of the remoteplay connection issues I had previously are gone and performance from looking at the fps is on par with kit-kat.

My only request is individual screen resizing since my setup with kit-kat had the top screen large with a small bottom screen to make the most of the available screen instead of just having a tiny box in the middle with both screens being the same size.

I did notice something weird though, I allowed the program to access my network through the firewall however it doesn't function unless I turn off the firewall otherwise it's stuck on a black screen, I don't know if there is something else running but I'm unable to run this despite allowing it to access my network without turning off my firewall.
 

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
Great apps! Stream works greatly! Glad to see that this work is from a guy of my country :D I wrote 2 issues in the github, one is a bug and the second is a request. Thanks a lot for this!
Ao, grazie pe' er feedback! :rofl2:
I've replied to your GitHub issuse, by the way ;)

My only request is individual screen resizing since my setup with kit-kat had the top screen large with a small bottom screen to make the most of the available screen instead of just having a tiny box in the middle with both screens being the same size.
Right now I want to take a break from coding (I've released two major updates for this tool in a small period of time!) but that's in the todo list already because, as the readme says, Snickerstream is aiming to be a complete NTRViewer repliacement. (Also, another user already requested it in this thread :P)

I did notice something weird though, I allowed the program to access my network through the firewall however it doesn't function unless I turn off the firewall otherwise it's stuck on a black screen, I don't know if there is something else running but I'm unable to run this despite allowing it to access my network without turning off my firewall.
No idea why it's doing that... Keep in mind that, even if it shouldn't be needed for this, Snickerstream uses port 8000 (TCP) to connect to NTR's built in debugger and 8001 (UDP) to recieve the individual frames.
 
  • Like
Reactions: Real.96

JakeK0202

Member
Newcomer
Joined
Aug 19, 2015
Messages
7
Trophies
0
Age
29
XP
101
Country
United States
No problem man, I'll see if any wine version works and let you know, if not I'll use my other PC, no biggie :)
Any luck with any other versions of Wine? I'm trying to do the same thing and was wondering if you found what version, if any, works with Snickerstream
 

Bluespheal

Well-Known Member
Member
Joined
Sep 5, 2016
Messages
285
Trophies
0
Age
29
XP
830
Country
Mexico
Any luck with any other versions of Wine? I'm trying to do the same thing and was wondering if you found what version, if any, works with Snickerstream
I haven't done that much research yet, I've only tried Wine 1.6 and 2.2, neither has worked for me so far.
 

AlternativeZero

Well-Known Member
Member
Joined
Apr 7, 2017
Messages
250
Trophies
0
XP
817
Country
Right now I want to take a break from coding (I've released two major updates for this tool in a small period of time!) but that's in the todo list already because, as the readme says, Snickerstream is aiming to be a complete NTRViewer repliacement. (Also, another user already requested it in this thread :P)
Take your time, it's already a great replacement for NTRViewer in such a short time as well and I guess I was too late with that suggestion :(

No idea why it's doing that... Keep in mind that, even if it shouldn't be needed for this, Snickerstream uses port 8000 (TCP) to connect to NTR's built in debugger and 8001 (UDP) to recieve the individual frames.
I have no idea either since it shouldn't have an issue since I made an exception for it, kit-kat seems to work fine though.

If it makes a difference, I use Windows Firewall Control and currently on a Win7 machine.
 

John2022

Active Member
Newcomer
Joined
Apr 8, 2010
Messages
39
Trophies
1
XP
237
Country
France
Eh, I don't think it will benefit that much to have ping instead of a dropped frames counter. That's because both devices are on the same network, so unless you're streaming your screens over the internet (which by the way, it is possible but I DO NOT recommend for both latency and safety reasons) is going to be very low under most circumstances.

EDIT: I also want to mention that you don't have to open the ports on your router at if you're streaming on the local network. If you do then not only your stream will be visible to the rest of the internet as long as they know your IP (unless you edit PCIpAddr on the INI to the local IP of your computer) but, as NTR Remoteplay frames are RAW JPEG files being sent in different packets, a malicious user could potentially disrupt your stream by sending invalid or modified packets - which is one of the reasons why I advised against port forwarding above!
I understand. It was just a idea. I'm not a coder nor a network specialist, sorry if I've annoyed you.
No more problems connexion (thanks for the word about firewall port forwarding etc). I've changed Wifi's channel and it's a little bit better. There's somes already but I used to live with problems ^^

Last build is cool. Better render with DirectX 2D. Congrats !

Hope you'll add a real time network quality icon soon.

You deserve your rest dude. :bow:
 
Last edited by John2022,
D

Deleted User

Guest
Can you fix the bug where I cannot X out NTRViewer window? I end up manually terminating this process with taskmgr to force close it.

Nice work btw.
 
Last edited by ,

Bluespheal

Well-Known Member
Member
Joined
Sep 5, 2016
Messages
285
Trophies
0
Age
29
XP
830
Country
Mexico
Hey there, I've tried multiple versions of wine (1.3,.5,.6,.7 and 2.20) with no luck maybe someone can request whatever is missing to be included in new releases of wine, I'm not to savvy on how to do this, nor what exactly is missing to make the report myself.
 

conradchee

Member
Newcomer
Joined
Mar 16, 2016
Messages
11
Trophies
0
Age
25
XP
101
Country
Malaysia
Looks like it need high network data usage

My home didn't have wifi so I can only use hotspot

I find out it use 4mpbs-6mpbs internet speed while streaming

Also,I can close it properly when I click X button,I need to go task manager and end task
 

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
Looks like it need high network data usage

My home didn't have wifi so I can only use hotspot

I find out it use 4mpbs-6mpbs internet speed while streaming
NTR data usage is highly dependent on quality and the priority value, but yes - if you want to stream screens correctly you want to have a good connection.

Also,I can close it properly when I click X button,I need to go task manager and end task
Read the Readme, FAQ or this GitHub issue. You DO NOT have to use Task Manager to close it.
 

Demnyx

Well-Known Member
Newcomer
Joined
Jul 1, 2016
Messages
92
Trophies
0
Age
22
XP
330
Country
France
Hello, thanks for your app
But when i try to stream , sometimes it goes on 37 fps and is greatly streaming but it doesn't last long and then it goes on 3-10 fps
Any ideas ?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Veho @ Veho: The cybertruck is a death trap.