Homebrew Homebrew app [Release] Switch Frame Tap - stream Switch games to your PC over USB at native 1080p 60fps (no capture card)

@SooraMaru thanks for the details. For the artifacts: which game/screen was it, and does it flash for a single frame or stay for about a second? If you can, send /config/switch-frame-tap/log.txt and last.txt from the SD card right after it happens. For the smoothness: what refresh rate is your monitor? On 144 Hz 60 fps can look uneven.

@kingboxnt thanks, which homebrew app is it, and did you launch it from a forwarder on the home screen or from the album?
My monitor is a standard 60 Hz display. AMD Software reports the actual refresh rate as 59.45 Hz, so I'm not using a 120/144 Hz display.

Regarding the artifacts, I've seen them in multiple games. In Pokémon Sword/Shield they often appear when opening/closing menus or during screen transitions. I've also seen artifacts in Smash, especially in moving/animated backgrounds.

I am attaching the log files and some brief evidence from Pokémon Sword.
 

Attachments

  • last.txt
    last.txt
    63 bytes · Views: 1
  • log.txt
    log.txt
    154 KB · Views: 2
  • 2026-09-30 22-05-33.mp4
    6.9 MB
@kingboxnt thanks, which homebrew app is it, and did you launch it from a forwarder on the home screen or from the album?
Bringing up the keyboard is abnormal for all homebrew software, for example, SwitchWave-1.1.2-e9a7737. If you want to test it, use this software: in the Editor, select the text input field and press X.
 
v0.7.1 is out, fixing what you reported.

@kingboxnt the keyboard works again, in homebrew and in games. The sysmodule was using up a small budget the system shares between applets, so the keyboard crashed when it opened. Thanks for the SwitchWave tip.

@SooraMaru the corrupted frames should be gone. Pokemon hands over frames before the GPU finishes them and the capture sometimes took a half-drawn one. For the 60 fps smoothness, could you send viewer.log (next to SwitchFrameTap.exe) after a few minutes of a 60 fps game?

Minecraft and Smash stream properly now too.

https://github.com/TomasUribe/switch-frame-tap/releases/tag/v0.7.1
 
  • Like
Reactions: Raul8 and JJTapia19
v0.7.1 is out, fixing what you reported.

@kingboxnt the keyboard works again, in homebrew and in games. The sysmodule was using up a small budget the system shares between applets, so the keyboard crashed when it opened. Thanks for the SwitchWave tip.

@SooraMaru the corrupted frames should be gone. Pokemon hands over frames before the GPU finishes them and the capture sometimes took a half-drawn one. For the 60 fps smoothness, could you send viewer.log (next to SwitchFrameTap.exe) after a few minutes of a 60 fps game?

Minecraft and Smash stream properly now too.

https://github.com/TomasUribe/switch-frame-tap/releases/tag/v0.7.1
Smash is working great with this new update. Thanks for everything!
 
  • Like
Reactions: Papux200
OMGosh, this is very exciting, I had the desire for such a thing and now here it is, bloody brilliant mate and no additional hardware needed, that's quite the feat! Super excited to set it up! And it can use an Ethernet connection hot damn.
 
  • Like
Reactions: Papux200
While I personally can't get behind using a project made like this I do really appreciate AI usage being disclaimed. More projects need to do this.
This is the future, the majority of code will be done by an llm. It will create a market for people to untangle dodgey llm code and a people who know how to get good code and ideas out of an llm. And yes it should be noted that an llm was used. I let Claude put in its 2 cents whenever i use it to create /modify something.

Coding used to be about knowing syntax and best practices, now it will be about explaining your idea/requirements to an llm so it can produce a good result.
 
OMGosh, this is very exciting, I had the desire for such a thing and now here it is, bloody brilliant mate and no additional hardware needed, that's quite the feat! Super excited to set it up! And it can use an Ethernet connection hot damn.
I'm glad someone else can find this useful!
 
That’s awesome! I’m curious to try it with Lossless Scaling and frame gen.
Whoa I haven't thought of that, please tell me how it goes
Post automatically merged:

v0.7.2 is out.

Press O (or F3) in the viewer for a stats overlay: just the fps, fps with graphs, or everything (latency, bitrate, frame times and more).

Sound now works in games that block recording, like Smash, if you install dvr-patches by exelix11 (link in the README). The overlay has a switch to turn them off if a game crashes.

@SooraMaru correction: viewer.log is in %APPDATA%\switch-frame-tap\viewer\, not next to the exe.

https://github.com/TomasUribe/switch-frame-tap/releases/tag/v0.7.2
Post automatically merged:

v0.7.5 is out, along with v0.7.3 and v0.7.4 from earlier today.

- The manager app can now install the optional tools for you (Ultrahand, SaltyNX + ReverseNX-RT, and sys-clk or Horizon OC) straight from their GitHub releases. It shows what you already have.
- Sound in games that block recording (like Smash) is built in: turn on "Sound in no-record games" in the manager or overlay and restart. It uses exelix11's dvr-patches, off by default.
- Sonic Frontiers and some homebrew (Moonlight, DuckStation) now stream properly, with fixes from WillMidia.

https://github.com/TomasUribe/switch-frame-tap/releases/tag/v0.7.5
Post automatically merged:

v0.7.6 is out, a small fix.

In fake-docked mode the viewer sometimes showed a cropped, zoomed-in picture for a split second when a menu changed or a loading screen went black. That's gone now. Just unzip the switch zip over your SD and reboot, the viewers didn't change.

https://github.com/TomasUribe/switch-frame-tap/releases/tag/v0.7.6
 
Last edited by Papux200,
  • Like
Reactions: JJTapia19
When i try to boot Switch with your sysmodule, i am getting fatal screen with your titleid. Does it do anything that would make it not work with Atmosphere 1.11.1 and 22.0.0? Turned off all other custom sysmodules i have and it's still happening.

Also i see weird thing: you define in switch-stream json titleid ending as "B00" while folder and toolbox have "C20".

Log is not generated.

It fatals both with and without usb connected at boot. Imo your sysmodule is lacking a lot of logs, when you have access to sdcard you should log every error before calling abort, and i see you don't do that.
 
Last edited by masagrator,
@masagrator thanks, found it. The release was built against Atmosphère 1.11.2, and libstratosphere's version check aborts on anything older before my log even opens. v0.7.7 (out now) drops that check, logs the Atmosphère and firmware versions at boot, and logs every abort before it happens. The B00 json is from an early prototype in switch-stream/ and isn't used.

https://github.com/TomasUribe/switch-frame-tap/releases/tag/v0.7.7
 
  • Like
Reactions: StevensND
@masagrator thanks, found it. The release was built against Atmosphère 1.11.2, and libstratosphere's version check aborts on anything older before my log even opens. v0.7.7 (out now) drops that check, logs the Atmosphère and firmware versions at boot, and logs every abort before it happens. The B00 json is from an early prototype in switch-stream/ and isn't used.

https://github.com/TomasUribe/switch-frame-tap/releases/tag/v0.7.7
I'm still having the same issue. Game is not detected.
 
@StevensND releases only stream on firmware 22.x by default. Turn on "Allow untested firmware" in the manager app and reboot. If it works on 21.0.1, let me know and I'll add it to the tested list.
 
I'm still having the same issue. Game is not detected.
I was running tests and I noticed that, at least in my case, the games where I used cheats didn't output video. This is because only one application can have control at a time, so the cheats take priority. If this is your case, the quickest solution I can give you is to go to the atmosphère/content folder, look for the cheat folders in there, delete them, and that way the program will be able to output video.
 
@StevensND releases only stream on firmware 22.x by default. Turn on "Allow untested firmware" in the manager app and reboot. If it works on 21.0.1, let me know and I'll add it to the tested list.
I had to use this but it still wasn't working for a bit. After few restarts it worked.
 
Ok, it works for me on 22.0.0. Great job, feels good in handheld mode. Found first bug:

Xenoblade Chronicles X, used ReverseNX-RT to go to docked - works fine, but when going back to handheld I'm getting this:
1791055446805.png


it seems to still stream 1080p when it should stream 720p
 
@masagrator thanks for testing! Smash had the same thing (the old docked picture stays around the handheld one), and there's a check for it, but it only runs on 1080p swapchains laid out like Mario Kart's. My guess is Xenoblade X's is laid out differently, so the check never runs. Could you send config/switch-frame-tap/log.txt after it happens?

@StevensND good to hear, I'll add 21.0.1 to the list.

@FORk245 thanks, that's it: cheats and the stream can't attach to the same game. Holding L while the game starts also skips the cheats for that launch.
 

Site & Scene News

New Hot Discussed User Submitted