Skip to content

Releases: samaBR85/3DSnickerStream

v2.6 — Upscaling Filters (GPU)

Choose a tag to compare

@github-actions github-actions released this 06 Jul 06:31

3DSnickerStream v2.6 adds Upscaling Filters — sharpen and clean up the little 3DS picture on
your big screen, in real time on the GPU. 🔍

The 3DS screen is tiny (400×240); stretched to a monitor it gets blurry or jagged. These filters fix
that — from a light sharpen to true edge-directed pixel-art upscalers to a neural network. Pick one from
the new Upscale dropdown in the stream bar.

The filters

Filter Best for
Sharp crisp, hard pixels — a fast general sharpen
xBR 2D pixel art — smooth, clean diagonals (the classic emulator look)
Super-xBR 2D pixel art — like xBR but anti-aliased edges
ScaleFX 2D pixel art — the reference edge-interpolation upscaler; the smoothest of all
FSR 3D games — AMD-style edge-adaptive upscale + sharpen
Anime4K cel-shaded / line art — smooth base + strong line sharpening
Anime4K CNN a real neural-network upscaler running live on the GPU

pixel-art tip: xBR / Super-xBR / ScaleFX shine on clean edges — pair them with a Lossless
compression mode for the best result. For 3D games, FSR is the pick.

How it works

Everything runs on your PC's GPU (the stream still comes from the 3DS as before). The filters are
faithful ports of well-known GPU shaders to Avalonia's Skia engine — no external dependencies, still a
single portable download. The multi-pass filters (ScaleFX, Anime4K CNN) chain several shader passes
through GPU textures; if your machine has no GPU, they gracefully fall back to a CPU path.

Downloads

Platform File Notes
Windows …-win-x64.zip unzip, run 3DSnickerStream.exe
Linux …-linux-x86_64.AppImage / …-linux-x64.tar.gz chmod +x the AppImage, or extract the tarball and run ./3DSnickerStream
macOS (Apple Silicon / Intel) build locally a few minutes with the .NET SDK — no Gatekeeper hassle

The CI ships Windows + Linux; the macOS build is produced locally — see
BUILD-MACOS.md.

Credits

The upscaling algorithms are the work of their original authors, ported here with thanks:
xBR by Hyllian, ScaleFX by Sp00kyFox (both from the libretro shader collection), Anime4K by
bloc97, and FSR by AMD (FidelityFX).

Full changelog: v2.5...v2.6

v2.5 — Lossless (Reliable Stream, Delta)

Choose a tag to compare

@github-actions github-actions released this 06 Jul 01:12

3DSnickerStream v2.5 adds the Lossless Delta mode — and with it, all six NTR-HR compression
formats are now supported. 🎉

New: "Lossless (Reliable Stream, Delta)"

The sixth and final Compression option:

  • Lossless (Reliable Stream, Delta) — the lossless codec, but each frame only carries what changed
    since the last one. Artifact-free colour at a lower bitrate than plain Lossless, so quality and
    framerate hold up better — great for mostly-static scenes.

It's a port of ntrviewer-hr's do_decode_lossless_delta_compressed: the lossless codec plus a per-block
temporal predictor (each 30-pixel run picks prediction from the previous frame or the spatial median).
Verified clean on real hardware.

The full set

Mode Best for
JPEG Compat (UDP) maximum compatibility
Uncompressed (UDP) colour fidelity over plain UDP
JPEG (Reliable Stream) smooth, reliable everyday streaming
JPEG (Reliable Stream, Delta) lowest bandwidth / best framerate under load
Lossless (Reliable Stream) artifact-free colour on a strong link
Lossless (Reliable Stream, Delta) artifact-free colour at a lower bitrate

Downloads

Platform File Notes
Windows …-win-x64.zip unzip, run 3DSnickerStream.exe
Linux …-linux-x86_64.AppImage / …-linux-x64.tar.gz chmod +x the AppImage, or extract the tarball and run ./3DSnickerStream
macOS (Apple Silicon / Intel) build locally a few minutes with the .NET SDK — no Gatekeeper hassle

The CI ships Windows + Linux; the macOS build is produced locally — see
BUILD-MACOS.md.

Requires NTR-HR running on the 3DS.

Credits

NTR-HR and all six compression formats are the work of xzn, ported from
ntrviewer-hr. Thank you! 🙏

Full changelog: v2.4...v2.5

v2.4 — Lossless (Reliable Stream)

Choose a tag to compare

@github-actions github-actions released this 05 Jul 19:18

3DSnickerStream v2.4 adds the Lossless reliable-stream mode — artifact-free colour over NTR-HR's
reliable transport.

New: "Lossless (Reliable Stream)"

A fifth Compression option (NTR panel):

  • Lossless (Reliable Stream) — a true lossless image codec delivered over the reliable transport:
    no JPEG blocking, no colour banding — clean, faithful colour, retransmitted so nothing tears. Uses more
    bandwidth than the JPEG modes, so best on a solid (ideally 5 GHz) Wi-Fi link.

Under the hood it's a port of ntrviewer-hr's do_decode_lossless_compressed: a median edge predictor
with Huffman-coded residuals, planar YCbCr with bilinear chroma upsampling. It reuses the same entropy
decoder built for the Reliable-Stream JPEG modes — verified byte-exact on real hardware at ~40 fps.

Downloads

Platform File Notes
Windows …-win-x64.zip unzip, run 3DSnickerStream.exe
Linux …-linux-x86_64.AppImage / …-linux-x64.tar.gz chmod +x the AppImage, or extract the tarball and run ./3DSnickerStream
macOS (Apple Silicon / Intel) build locally a few minutes with the .NET SDK — no Gatekeeper hassle

The CI ships Windows + Linux; the macOS build is produced locally — see
BUILD-MACOS.md.

Requires NTR-HR running on the 3DS.

Credits

NTR-HR and all its compression formats — including this lossless codec — are the work of
xzn, ported from ntrviewer-hr. Thank you! 🙏

Full changelog: v2.3...v2.4

v2.3 — JPEG (Reliable Stream, Delta)

Choose a tag to compare

@github-actions github-actions released this 05 Jul 15:47

3DSnickerStream v2.3 adds the delta reliable-stream mode — the most bandwidth-efficient way to
stream — plus a round of window/UI fixes.

New: "JPEG (Reliable Stream, Delta)"

A fourth Compression option (NTR panel), building on v2.2's Reliable Stream:

  • JPEG (Reliable Stream, Delta) — same reliable, tear-free delivery, but each frame only carries
    what changed since the last one. Far less data on the wire, so quality and framerate hold up
    better — especially in busy scenes.

This is a from-scratch port of ntrviewer-hr's bespoke delta JPEG decoder: its own Huffman codec,
floating-point IDCT, chroma upsampling and YCbCr→RGB, with temporal prediction in the DCT-coefficient
domain (each frame is a signed delta accumulated onto the previous one, tracked per screen). Verified on
real hardware at a smooth ~60 fps.

Fixes & polish

  • Stream no longer clips when you shrink the window — at a fixed zoom the picture now scales down to
    stay fully visible instead of being cut off by the window edge.
  • Move the window in Hide UI mode — with the title bar hidden, just drag the picture to reposition it,
    like dragging a title bar.
  • Connect menu locked to its size — it can no longer be dragged small enough to clip the form.

Downloads

Platform File Notes
Windows …-win-x64.zip unzip, run 3DSnickerStream.exe
Linux …-linux-x86_64.AppImage / …-linux-x64.tar.gz chmod +x the AppImage, or extract the tarball and run ./3DSnickerStream
macOS (Apple Silicon / Intel) build locally a few minutes with the .NET SDK — no Gatekeeper hassle

The CI ships Windows + Linux; the macOS build is produced locally — see
BUILD-MACOS.md.

Requires NTR-HR (or HzMod) running on the 3DS.

Credits

The delta format — and all the NTR-HR reliable compression modes — are the work of
xzn, ported from ntrviewer-hr. Thank you! 🙏

Full changelog: v2.2...v2.3

v2.2 — JPEG (Reliable Stream)

Choose a tag to compare

@github-actions github-actions released this 05 Jul 05:40

3DSnickerStream v2.2 adds the first reliable NTR-HR streaming mode — smooth, in-order, tear-free.

New: "JPEG (Reliable Stream)"

The Compression dropdown (NTR panel) gains a third option alongside JPEG Compat and Uncompressed:

  • JPEG (Reliable Stream) — the same JPEG picture, but delivered over NTR-HR's custom reliable
    transport (a KCP-style protocol with NACK-based retransmission). Lost packets are re-sent instead of
    dropping the frame, so the image stays clean and tear-free even under Wi-Fi packet loss.

Under the hood this is a full port from ntrviewer-hr: the reliable
transport, the per-core frame framing, and on-the-fly baseline JPEG header synthesis (standard
Annex-K quant/Huffman tables) so the raw scan data the 3DS sends decodes as an ordinary JPEG — no
libjpeg-turbo needed on the client.

Performance (real hardware, over Wi-Fi): ~66 fps on the Home menu and light games, ~36 fps in
heavy scenes. The heavy-scene number is the 3DS encoder's ceiling, not the client's — the reference
viewer behaves the same. This is the smooth mode; prefer it over Uncompressed for everyday streaming.

Downloads

Platform File Notes
Windows …-win-x64.zip unzip, run 3DSnickerStream.exe
Linux …-linux-x86_64.AppImage / …-linux-x64.tar.gz chmod +x the AppImage, or extract the tarball and run ./3DSnickerStream
macOS (Apple Silicon / Intel) build locally a few minutes with the .NET SDK — no Gatekeeper hassle

From v2.2 the CI ships Windows + Linux; the macOS build is produced locally — see
BUILD-MACOS.md.

Requires NTR-HR (or HzMod) running on the 3DS. Everything else is unchanged from v2.1.

Credits

NTR-HR and its Reliable-Stream compression format are the work of xzn
this mode is ported from ntrviewer-hr. Thank you! 🙏

Full changelog: v2.1...v2.2

v2.1 — Uncompressed (UDP)

Choose a tag to compare

@github-actions github-actions released this 05 Jul 04:48

3DSnickerStream v2.1 adds the first NTR-HR native compression mode.

New: "Uncompressed (UDP)"

The connect screen now has a Compression dropdown (NTR panel) to choose between:

  • JPEG Compat (UDP) — the classic mode (unchanged).
  • Uncompressed (UDP) — NTR-HR's lossless-family stream: a bespoke YCbCr 4:2:0 decode ported from
    ntrviewer-hr, for higher colour fidelity than JPEG.

Uncompressed is best-effort over plain UDP — heavy and lossy by nature (as in the reference
viewer), so expect variable framerate and the occasional stale band under Wi-Fi packet loss. Smooth,
reliable streaming is the job of the Reliable-Stream (KCP) modes coming in the next releases.

Downloads

Platform File Notes
Windows …-win-x64.zip unzip, run
macOS (Apple Silicon / Intel) …-osx-arm64.zip / …-osx-x64.zip unsigned — right-click → Open; if "damaged", xattr -cr 3DSnickerStream.app, or build locally
Linux …-linux-x86_64.AppImage / …-linux-x64.tar.gz chmod +x the AppImage

Everything else is unchanged from v2.0. Requires NTR-HR (or HzMod) running on the 3DS.

v2.0 — cross-platform

Choose a tag to compare

@github-actions github-actions released this 04 Jul 04:17

3DSnickerStream v2.0 — the first unified, cross-platform release. The app has been rebuilt from the ground up on Avalonia UI, so the same features now run natively on Windows, macOS and Linux from a single codebase.

Downloads

Platform File
Windows (x64) 3DSnickerStream-v2.0-win-x64.zip
macOS (Apple Silicon) 3DSnickerStream-v2.0-osx-arm64.zip
macOS (Intel) 3DSnickerStream-v2.0-osx-x64.zip
Linux 3DSnickerStream-v2.0-linux-x86_64.AppImage or …-linux-x64.tar.gz

All builds are self-contained — no .NET install needed.

  • macOS: unsigned — first launch, right-click → Open (or xattr -dr com.apple.quarantine 3DSnickerStream.app).
  • Linux: chmod +x the AppImage and run it.

Highlights

  • NTR & HzMod remoteplay — dual-screen NTR, top-screen HzMod (beta).
  • Live layouts, rotation, per-screen zoom / gap / scale.
  • Per-screen color adjustment (brightness / contrast / saturation).
  • Ambient glow ambilight backdrop, clean mode and fullscreen.
  • Copy text from the stream (OCR) with a hex mode tuned for RNG HUDs.
  • Find on network, auto-connect / auto-reconnect, quality presets, saved-IP bookmarks and remappable shortcuts.

OCR works out of the box on Windows; on macOS/Linux install a system Tesseract (brew install tesseract / apt install tesseract-ocr).

Original Snickerstream by RattletraPM. Licensed under GPLv3.

v1.4

Choose a tag to compare

@samaBR85 samaBR85 released this 02 Jul 01:33

Feature update — Windows.

New in 1.4

  • 📋 Copy text from the stream (OCR) — press T (or the toolbar icon), drag a box over the screen, and the recognized text is copied to your clipboard in an editable, draggable popup. A Hex mode tuned for RNG HUDs reads seeds and [n] markers reliably.
  • 💬 Readable dark tooltips on every button.
  • ⌨️ Keyboard Shortcuts window laid out in two columns.

The Windows build is self-contained — unzip and run 3DSnickerStream.exe, keeping the x64 and tessdata folders next to it.

v1.3

Choose a tag to compare

@samaBR85 samaBR85 released this 01 Jul 17:04

Feature update — available on macOS and Windows (both builds attached).

New in 1.3

  • 🎨 Per-screen color adjust (brightness/contrast/saturation/highlights/shadows) with Copy between screens.
  • 🔍 Zoom (Fit / 100–300% native) and a clean mode (H) that hides the UI, with an optional pinned FPS overlay.
  • ↔️ Adjustable screen gap and per-screen scale live while streaming.
  • 🧩 Responsive controls that reflow as the window shrinks (usable down to a tiny window).
  • 📡 Reworked Find on network (scan-on-startup / auto-connect / auto-reconnect).

Downloads

  • macOS (Apple Silicon): 3DSnickerStream-mac.zip — first launch: right-click → Open.
  • Windows (10/11): 3DSnickerStream-win.zip — SmartScreen: More info → Run anyway.

Requires a 3DS on the same network running NTR CFW (or HzMod).

🤖 Built with Claude Code

v1.2

Choose a tag to compare

@samaBR85 samaBR85 released this 01 Jul 15:25

Feature update — available on macOS and Windows (both builds attached below).

New in 1.2

  • 🎨 Per-screen color adjust — Brightness / Contrast / Saturation / Highlights / Shadows, independently for each screen, with Reset.
  • ↔️ Adjustable screen gap (0 = screens touching); screenshots honor it.
  • 🔍 Zoom — Fit or fixed 100 / 150 / 200 / 300% at native resolution (crisp), window grows to fit.
  • 📐 Per-screen scale live while streaming.
  • 🧼 Clean mode — hide all UI (default H), Esc/H to restore.
  • 📡 Smarter networking — inline scan status, plus Scan on startup, Auto-connect, and Try reconnect (auto-reconnect on a dropped stream).

Downloads

  • macOS (Apple Silicon): 3DSnickerStream-mac.zip — first launch: right-click → Open.
  • Windows (10/11): 3DSnickerStream-win.zip — SmartScreen: More info → Run anyway.

Requires a 3DS on the same network running NTR CFW (or HzMod).

🤖 Built with Claude Code