Skip to content

Switch Frame Tap v0.1.0

Choose a tag to compare

@TomasUribe TomasUribe released this 29 Sep 23:39
· 30 commits to master since this release

First release. Streams the game you are playing to a Linux PC over a USB-C cable, with no capture card, using the Switch's own hardware H.264 encoder: native 1280x720 at 60 fps in handheld, and native 1920x1080 at 60 fps with ReverseNX-RT.

What's in it

  • switch-frame-tap-0.1.0-switch.zip - unzip onto the root of the SD card and reboot:
    • the sysmodule (streams whenever the PC viewer is open and a game is running)
    • Switch Frame Tap in the homebrew menu: status, stream on/off, start with the console, quality, keyframes, max resolution, screenshots, a setup check, and a screenshot gallery
    • an overlay (Tesla Menu or Ultrahand): stream on/off, live status, and handheld (720p) / docked (1080p) through ReverseNX-RT
    • native-resolution screenshots on a button combo (L3 + R3 by default), saved as PNG, with a notification if you use Ultrahand
  • switch-frame-tap-0.1.0-linux-viewer.tar.gz - the PC viewer and a desktop-app installer (see README.txt inside)

What you need

  • Required: a Switch running Atmosphère (tested 1.11.2, firmware 22.5.0, Mariko; new to CFW: NH Switch Guide), the homebrew menu (comes with Atmosphère), a Linux PC with libusb, SDL2 and libavcodec (see README.txt in the viewer package), and a USB-C cable. That's enough for 720p60, screenshots and the manager app.
  • Optional, for the overlay: Ultrahand Overlay (its sdout.zip includes the loader) or Tesla Menu + nx-ovlloader.
  • Optional, for 1080p: SaltyNX + ReverseNX-RT (needs an overlay menu), and for a full 60 fps at 1080p a clock tool such as sys-clk or Horizon OC (CPU 1785 MHz).
  • Optional, for screenshot notifications: Ultrahand.
  • Nothing else - no other sysmodule, no sigpatches, no capture card.

Measured (Mario Kart 8 Deluxe): 1080p at 59.5-59.9 fps against the game's ~59.2, 0 lost frames, ~90 Mbps over USB 2, about 34 ms on the console + 25 ms on the PC. 1080p60 wants the CPU at 1785 MHz (Nintendo's boost clock); at stock it runs a little below 60.

Known limits

  • Tested on one console only: Mariko, firmware 22.5.0, Atmosphère 1.11.2. On other firmware it does not stream unless you allow it in the manager.
  • Official games only - homebrew apps don't stream yet (planned for v0.2).
  • Linux viewer only - Windows is planned for v0.2.
  • No audio.

If something goes wrong: turn off "Start with the console" in the manager, or hold Volume Up while booting, or delete atmosphere/contents/0100000000000C20 from the SD card. Logs are in sdmc:/config/switch-frame-tap/ - please attach log.txt and last.txt to bug reports.

Built with Claude (Anthropic's AI) - see the README for how.