SysDVR has two sides with very different requirements. The console side is strict — a hacked Switch 1 running custom firmware is non-negotiable. The receiver side is lenient: almost any Windows PC, Mac, Linux machine or Android device from the last several years can receive the 720p30 stream. This page is the full, honest matrix.
The full matrix
| Side | Requirement | Notes |
|---|---|---|
| Console | Switch 1 (any revision) with CFW | Latest Atmosphère recommended; other CFWs unsupported. No stock-console use. No Switch 2 version. |
| Console memory | Under 1 MB (full build) / ~500 KB (USB-Only) | Matters when stacking sysmodules — see sysmodule management. |
| Console storage | A few MB of microSD space | Full SysDVR.zip is about 3 MB. |
| Windows client | 64-bit Windows + latest MSVC redistributables | Standard build is native — no .NET install needed. .NET 8 is only for the cross-platform build. |
| macOS client | Intel (x64) or Apple Silicon (arm64) build | Unsigned app — may need a signature exception or self-signing on first launch. |
| Linux client | Flatpak (x64) | USB mode needs libusb + the udev rule (99-sysdvr.rules); don’t run the client as root. |
| Android client | Android 10+, 64-bit device | 32-bit support added in v6.2. GitHub-only distribution — no Play Store version. |
| Network modes | Console and receiver on the same LAN | Wired LAN > same router > nearby 5 GHz Wi-Fi. Internet speed is irrelevant. |
| USB mode | USB-A to USB-C cable recommended | Doesn’t work while docked; USB-C↔C cables are known-problematic. |
Console requirements in detail
SysDVR is a sysmodule loaded by CFW at boot. It runs on all Switch 1 revisions — launch models, V2, OLED and Lite — as long as the console runs Atmosphère (the author recommends the latest release). Mariko models (V2, OLED, Lite) reach CFW by a different route than launch models; the Mariko guide and Lite guide explain their prerequisites. Firmware 20.0 and later reduced the memory available to sysmodules, which is worth knowing if you run many of them. Console and client versions must match, and you should reboot the console after installing or updating.
Receiver requirements in detail
Windows
64-bit only. The standard client needs just the latest Microsoft Visual C++ redistributables — a persistent myth says you need .NET; you don’t, for the standard build. Only the cross-platform dotnet build requires .NET 8+ (plus SDL2 and ffmpeg’s libavcodec 5.1.x), and that’s a manual install aimed at unsupported architectures. For USB mode on Windows, the driver is installed from inside the client — see the Windows client setup guide.
macOS
Separate builds for Intel and Apple Silicon — download the one matching your Mac. The app is unsigned, so macOS may ask for a signature exception or require self-signing the libraries; the macOS setup guide walks through it. No driver setup is needed for USB mode on macOS.
Linux
The official build is a Flatpak for x64 (flatpak run com.github.exelix11.sysdvr); ARM machines like a Raspberry Pi use the manual dotnet build. USB mode needs libusb and the udev rule — and don’t run the client as root, which breaks audio. Details in the Linux setup guide.
Android
Android 10 or later on a 64-bit device is the safe requirement; v6.2 added 32-bit support for older hardware. The client is only distributed via GitHub — any store listing is unofficial. Older and smart-TV devices may not install it; the Android TV guide covers that case and the RTSP alternative. Note there is no iOS client — iPhone/iPad viewing works via RTSP players only.
What you do NOT need
- A capture card — that’s the alternative, not a requirement (see the comparison).
- .NET, for the standard Windows/macOS/Linux builds.
- A fast internet connection — network streaming is local-only.
- A powerful receiver — decoding a 720p30 H.264 stream is light work for any recent device.
The version-matching rule
One requirement cuts across every row of the matrix: the console sysmodule and the client must be the same SysDVR version. A v6.3 console build won’t talk properly to a v6.1 client. Update both sides together, reboot the console afterwards (sysmodules load at boot), and most “it suddenly stopped working” reports never happen. The update guide has the safe sequence.
Quick self-check: console side
- Switch 1 (launch, V2, OLED or Lite) — not Switch 2.
- Boots into Atmosphère (latest recommended).
- microSD with a few MB free for SysDVR’s files.
- If you run other sysmodules, headroom in the stack — full SysDVR is under 1 MB, USB-Only about 500 KB.
- For blocked games: dvr-patches matching your exact firmware.
Quick self-check: receiver side
- One of: 64-bit Windows (MSVC redistributables), Intel/Apple-Silicon Mac, Linux with Flatpak, or Android 10+ 64-bit phone/tablet.
- Same local network as the console for network modes — no AP isolation, no guest SSID.
- For the lowest latency: a USB-A→C cable and an undocked console, or a wired/5 GHz network path.
- Client version identical to the console’s SysDVR version.
- That’s all — no capture card, no account, no subscription; SysDVR is free and open source.
If you take one line from this page, take this one: the console side is where compatibility is decided, and the receiver side almost never is. Get a Switch 1 onto Atmosphère with matched versions, and nearly any computer or Android device you already own completes the setup — that’s the whole trick of SysDVR’s requirements.
Next steps
Check your console against the matrix, then get the matching files from the download page and follow the install guide. More per-device detail lives in the platforms hub.
