[Scene Switch] SysDVR v5.5.6 released
Published a new update for the custom system module SysDVR , the sysmodule developed by the developer exelix11 allows us to capture the output of games running on the Switch console.
This new release fixes a major issue that caused the SysDVR client to crash when sharing your screen to Discord.
In addition, a new feature has been introduced that allows for automatic reconnection when streaming in USB mode, even if the Switch console is unplugged. This ensures a smoother and more seamless experience during your gaming sessions.
However, it is important to note that this new version of SysDVR searches the console by serial number. Unexpected behavior may occur if the console was modified using prodinfo modification tools and multiple consoles are connected at the same time.
Characteristics
- Cross-platform, it can stream to Windows PC, MacOS and Linux.
- Stream via USB or Wi-Fi.
- Video quality is fixed at 720p @ 30fps with h264 compression, this is a hardware limit .
- Audio quality is fixed at 16-bit PCM at 48kHz stereo. Not compressed.
- Very low latency with optimal configuration, most games are playable!
Guide
Note: This guide is for SysDVR 5.5 version only, if you want to use an older version please refer to this guide .
Before we begin, here are some things to keep in mind:
- To use SysDVR the console must be hacked, as if it were running custom firmware.
- Users have reported that SysDVR does not seem to cause bans.
- Only games that support video recording (long press of the capture button) are compatible with SysDVR.
- There is an experimental patch to enable support for all games, use it at your own risk.
- To stream homebrew you need to launch a game that supports video recording with title capture i.e. holding down while starting the game will actually start the homebrew launcher.
- Streaming quality highly depends on the environment, you need a good USB cable or stable connection.
- A stable connection means good WiFi signal strength on both PC and Switch console, NOT internet speed.
Guide
The first step sees a proper configuration of SysDVR on the Switch console .
You also need to choose a stream mode, you can change the stream mode at any time by launching the SysDVR settings app from the homebrew menu on your console.
Note: If you choose to download the USB only version it will not be possible to change the streaming mode, therefore the app will not be present in the settings.
Three streaming modes are available:
- TCP Bridge (recommended) : Stream with the highest possible quality over the network.
- Configure SysDVR-Client on the PC (only to be done the first time).
- Then follow the TCP Bridge guide
- USB : Stream in highest possible quality via USB, does not work when plugged in.
- Configure SysDVR-Client on the PC (only to be done the first time).
- Install the custom USB driver (first time only).
- Then follow the USB streaming guide
- Simple Network Mode : Stream with good quality over the network directly to a video player. This mode doesn’t require the client app so you can stream to your phone or smart tv, but it may have high latency or not look as good as the others.
- Follow the simple network mode guide
In case of problems, read the troubleshooting section
SysDVR configuration
SysDVR is a sysmodule, i.e. homebrew that sits in the background on the Switch console and streams gameplay.
Before continuing make sure you are using the latest version of Atmosphere (other Custom Firmware should work but I won’t provide support for them).
SysDVR installation
Inside the repository there are several archives:
- The archive
SysDVR.zip
contains the “full” version within it, can stream using both network and USB modes, and comes with a homebrew app to switch between them. - The archive
SysDVR-USB-Only.zip
contains the same program, but only allows streaming via USB using less memory, it should work together with more system modules.
Note: Unless you have specific memory requirements, you should use the full version no matter how you want to stream.
Download one of the builds and extract the archive to your SD card, if you choose to use an FTP connection to transfer files, be sure to restart your Switch console.
The builds are designed to work with the Atmosphere Custom Firmware. If you use a different Custom Firmware, you need to rename the different folders accordingly.
By default SysDVR will stream with simple network mode , to switch between modes and set the default one you can use SysDVR settings homebrew included in the archive.
You can optionally install logging patches to support most games.
With the default configuration some games are not compatible with SysDVR, however you can download dvr-patch patches to add support for most games.
Read the warnings and steps inside the dvr-patches repository
SysDVR client installation
SysDVR-Client is a PC application that acts as a bridge between SysDVR and video player, it is required to improve performance using some custom streaming protocols.
If you have any problems, please check the troubleshooting section
SysDVR client download
From the repository, search and download the archive SysDVR-Client.7z
, it’s a single release that runs on all supported operating systems.
Among the various files it contains two executables:
SysDVR-Client.exe
(orSysDVR-Client.dll
on Linux and Mac) this is the actual client, it’s a command line application and requires to be started via terminal or command prompt on windows.SysDVR-ClientGUI.exe
this is a GUI launcher for SysDVR-Client, this is for Windows only and is meant to make things easier for less experienced users.
Since 5.5 versions also contain the SysDVR-Client.flatpak
, this is a flatpak package which can be used to easily install SysDVR-Client on Linux.
Installation on Windows
- Download and install the latest version of .NET . Make sure you get the x64 version .
- You need to install .NET 6 or later, older versions like framework or 5 will not work.
- This is not always necessary, but it may be necessary to install the latest MSVC x64 libraries from the Microsoft site
- You should be ready now, run the program
SysDVR-Client.exe
from the command prompt or double click the SysDVR-ClientGUI executable .- SysDVR-ClientGUI is an intuitive GUI for SysDVR-Client that will automatically configure the streaming modes and create shortcuts for them.
Installation on Linux
As SysDVR-Client version 5.5 comes with a flatpak package, however this is still experimental and only works for x64 systems if you experience problems you can try manual installation.
The installation commands provided here are for the default Ubuntu package manager, if you are using a different distribution you will have to look up the equivalent commands yourself.
Arm devices like Raspberry Pi 3 and 4 are only supported with manual installation, support depends on .NET availability, older boards like Raspberry Pi 2 or 1 are not supported by .NET.
Flatpack installation
- Install flatpak from your package manager with the command
sudo apt install flatpak
- Download the file
SysDVR-Client.flatpak
from the repository. - Install the flatpak with the command
flatpak --user install SysDVR-Client.flatpak
Now you can start SysDVR-Client by typing command flatpak run com.github.exelix11.sysdvr
, you can also create an alias for it if you want.
Note: The guide uses SysDVR-Client
to start the client, since the installation was done from flatpak, you will have to type the command instead flatpak run com.github.exelix11.sysdvr
.
Manual installation
- Download and install the .NET framework .
- You will need .NET 6 or newer, mono and .NET core will not work.
- Microsoft provides packages for the most common package managers and distributions.
- Install SDL2 with the command
sudo apt install libsdl2-dev
- Install ffmpeg with the command
sudo apt install ffmpeg
- You will need ffmpeg 5.1.x.
- In particular we need libavcodec59, this may not be available within the package manager, in which case you will need to compile ffmpeg from source.
- Failure to install the exact ffmpeg version will lead to a module not found error when starting SysDVR-Client.
- You should be good to go now, open a terminal in the same folder where you extracted the files and check if it works by running the command
dotnet SysDVR-Client.dll --help
Note: The guide uses SysDVR-Client
to start the client, since you are not on Windows you will have to type the command dotnet SysDVR-Client.dll
with the terminal open in the same folder as the extracted archive.
macOS configuration
The installation commands use brew
, if you use a different package manager you will have to look up the equivalent commands yourself.
- Download and install the .NET framework .
- You will need .NET 6 or newer, mono and .NET core will not work.
- You will need to install the native .NET version for your device: If you have an Apple Silicon Mac, download the arm64 version, if you have an Intel Mac, download the x64 version. Running SysDVR with rosetta will not work .
- Install ffmpeg with the command
brew install ffmpeg@5.1.2
- Install SDL2 with the command
brew install SDL2
- Install libusb with the command
brew install libusb
- You should be good to go now, open a terminal in the same folder where you extracted the files and check if it works by running the command
dotnet SysDVR-Client.dll --help
Note: The guide uses SysDVR-Client
to start the client, since you are not on Windows you will have to type the command dotnet SysDVR-Client.dll
with the terminal open in the same folder as the extracted archive.
Configuring the USB driver
To stream via USB you need to install the custom SysDVR driver. This step is only necessary if you want to stream via USB, you can skip it if you are using network modes only.
To use the standard drivers SysDVR now shows as an Android device, some operating systems may display it as Google Inc. Nexus/Pixel Device (fastboot)
. Windows should show it correctly as SysDVR.
Note: If the same operations have already been performed before version 5.5, you have to repeat them, as the USB implementation has changed.
If you have the full version of SysDVR before continuing, launch the SysDVR settings homebrew on the Switch console and switch to streaming mode USB
.
Avoid using a USB C to USB C cable, as these are known to cause problems and support varies from device to device, prefer a standard USB A to USB C cable instead.
Windows driver configuration
- Connect the Switch console to your PC and launch the program
SysDVR-ClientGUI.exe
. - Select
USB (requires setting up USB drivers)
and click Launch. - If this is your first time using SysDVR, it will ask you to install the driver, click yes and follow the steps. It may take a few minutes, please be patient.
- If you don’t see the driver installation prompt and USB streaming doesn’t work, you are probably using an older version of SysDVR-Client.
- If all went well unplug the console for a few seconds , the driver is now installed and you can stream via USB.
In case of error you can also try to install the driver manually .
Configuring the driver on Linux
- Install libusb using package manager, for example on Ubuntu:
sudo apt install libusb-1.0-0
- Install the sysdvr udev rule to allow USB access to the console without root.
- As a single command:
sudo wget https://raw.githubusercontent.com/exelix11/SysDVR/master/Client/linux/sysdvr.rules -O /etc/udev/rules.d/99-sysdvr.rules && sudo udevadm control --reload-rules
- Or manually: Download the udev rules file from here , and move it to
/etc/udev/rules.d/
(you may need to create the folder) and run the commandsudo udevadm control --reload-rules
to reload the rules. - Instructions may vary if you are using an unusual distribution, Google is your friend.
- As a single command:
- Unplug and plug the console back in, you should now be able to stream via USB without root.
Driver configuration on mac
- Installing the libusb library should be enough, just run the command
brew install libusb
Network RTSP mode (default mode)
This is the easiest method to set up but requires a very strong connection between your PC and the Switch console. For this you will need only your console and a video player that supports RTSP, SysDVR-Client is not necessary. For better quality you should try TCP Bridge.
- Launch the SysDVR Settings homebrew on the Switch console and select
Simple network mode
. - Launch a compatible game.
- Open the video player and try to connect to
rtsp://<SwitchIpAddress>:6666/
, replace<SwitchIpAddress>
with the IP address of the Switch console, you can see it from the settings.
Recommended player on Windows
On Windows PC it is possible to use mpv , however it seems that the RTSP mode is also available on VideoLAN VLC . After downloading it, open a command prompt in the same folder as the executable and type the command mpv rtsp://<SwitchIpAddress>:6666/
.
Note for Windows 10 users: In the past I have recommended using Windows 10 hotspot mode in case you don’t have a LAN adapter, you find that your Windows Firewall may be blocking data from your Switch console when using certain players, as a workaround you can try a different player or temporarily turn off the Windows Firewall while streaming.
RTSP over TCP and UDP
The SysDVR server supports both RTSP over TCP and UDP, this usually doesn’t matter but I’ve found that different programs will connect using different modes, eg mpv will always use TCP while obs will try UDP first and then TCP.
Depending on your network environment, you may find one performs worse than the other, so you’ll need to test which one works best for you.
In mpv you can force udp mode by running the mpv command rtsp://<SwitchIpAddress>:6666/ --rtsp-transport=udp
.
Network TCP Bridge Mode
Note: SysDVR-Client needs to be configured to use this mode, USB driver is not needed.
- To use this mode, select the mode
TCP Bridge
in SysDVR Settings on the Switch console. - Launch a compatible game and connect with the client using one of the following methods.
SysDVR-ClientGUI (Windows only)
- Select
TCP Bridge (network mode)
, type the IP address of the Switch console and click Launch. In a few seconds the stream should start. - The IP address can be found within the Switch console settings.
SysDVR client
- Start it as:
Bridge SysDVR-Client <switch ip address>
, replace<switch ip address>
with your Switch console’s IP address, no port is needed. - From the command you can specify the commands
--no-audio
or--no-video
at the end to disable one of the streams.
Note: If you don’t like the built-in video player, you can stream to another program using one of the external player options.
USB streams
Note: To use this mode you need to configure SysDVR-Client, and then the USB driver.
- To stream via USB, select the mode
USB
in SysDVR Settings on the Switch console. - Launch a compatible game and connect with the client using one of the following methods.
SysDVR-ClientGUI (Windows only)
- Select
USB (requires setting up USB drivers)
and click Launch. - If this is your first time using SysDVR, it will ask you to install the driver, click yes and follow the steps. It may take a few minutes, please be patient. If all went well, unplug your console , wait a few seconds, and try streaming again.
SysDVR client
- Start re
SysDVR-Client usb
to start streaming. - From the prompt you can specify
--no-audio
and--no-video
at the end to disable one of the streams.
Note: If you don’t like the built-in video player, you can stream to another program using one of the external player options.
troubleshooting
Version problems
Make sure that SysDVR on the console and SysDVR-Client on the PC are from the same version. For example, if you are using SysDVR version 5.0 and SysDVR-Client version 4.0 it will not work .
When you do an update, you update both the sysmodule on the Switch console and the client on the PC, don’t forget to restart the Switch console after a fresh install .
Question: Streaming doesn’t work, what’s the problem?
Answer: Try to stream but enable Show advanced options
and then Log transfer info
in the GUI (add --print-stats
if you’re booting from the command line) to the command line, what do you see?
- If you see a connection error like
device refused the connection
ordevice not found
or similar:- First restart your Switch console to be safe, then launch a compatible game (or use dvr-patches ).
- Make sure SysDVR on console is in correct mode, open SysDVR settings homebrew on console to switch between modes. After switching, launch a compatible game.
- For USB streaming: Try reinstalling the USB driver, then unplug the console and try again. Try a different USB port on your PC and a different cable. Do not use USB C to USB C cables, they are known to cause problems.
- For network streaming: Your router or firewall may be blocking the communication, public hotspots such as school wifi will not work.
- You are getting errors related to missing files like avcodec, SDL2 or other DLL files.
- On Apple Silicon Mac install the native .NET arm and not the Intel version.
- On Windows install the 64 bit version of dotnet , if you still get the 32 bit warning read how to remove it from your PATH
- Make sure you have extracted the archive correctly, on Windows PC all dll files should be included.
- On Windows: See Installing MSVC Redistributables
- On Mac and Linux: Retry installing native dependencies.
- No new text appears or get
timeout error
: It means the SysDVR client is not receiving any data.- This means that the game you are trying to stream is not compatible. Streaming is not possible if the game does not support video recording (long press of the capture button). You cannot stream while in the main menu or any other system application, only games are supported.
- To stream incompatible games, try installing dvr-patch
- For USB streaming: If you just installed the driver, unplug the console and try again, you can also try different USB ports.
- For network streaming: Your router or firewall may be blocking the communication (common in Wi-Fi hotspots).
- A lot of scrolling text appears on the screen.
- It means SysDVR is transmitting data correctly.
Problems with the console
Question: Is my game compatible?
Answer: Long press the capture button: If you can record a video, the game is compatible. Some games only allow you to capture video in certain sections, so you can stream with SysDVR only during those. you can try downloading dvr-paches to enable streaming for each game.
Question: After copying the sysmodule to the SD in Atmosphère it won’t start anymore
Answer: This happens if you have too many sysmodules or particularly heavy ones like sysftpd, remove them to start SysDVR. If you really need other system modules at the same time, you can try using the USB-only version as it uses less memory.
To remove SysDVR delete the folder /atmosphere/contents/00FF0000A53BB665
, to remove other system modules if you are unsure of the correct ID delete the entire folder /atmosphere
and download a fresh copy of Atmosphere.
Question: SysDVR-settings app says SysDVR is not running but I configured it correctly
Answer: If you are using the full version of SysDVR it starts about 20 seconds after booting the console, if you start settings too fast it will not connect, please wait a while and try again. SysDVR USB only version does not support settings app. In case you copied SysDVR with the console turned on, you need to reboot to start it.
Question: SysDVR-settings app says SysDVR is out of date
Answer: If you just updated SysDVR restart console, system modules are reloaded only on restart.
Question: Homebrews using USB like GoldLeaf, Twilli or nxmtp will no longer launch
Answer: This is because the USB interface is being used by SysDVR, if you are using the full version you can switch streaming modes using the included SysDVR settings homebrew in the archive.
Streaming issues
Question: I installed the 64 bit version of dotnet but sysdvr warns that it is the 32 bit version
Answer: This usually means you have both versions installed and the 32 bit version takes priority, please do the following:
- Open the tutorial of the editorPATH environment variables on google.
- You should see two entries like
C:\program files x86\dotnet\
andC:\program files\dotnet\
, just delete the x86 one. - Click OK to save, everything should work now.
Install the MSVC redistributables
Some of the included components require the Microsoft VC++ libraries to be installed , depending on your version of Windows you may need the x86 or x64 version (or both).
Question: Everything is configured correctly but no video is showing
Answer: Before it starts showing everything the video player needs to capture a keyframe, this usually happens automatically every ~2 seconds, but for games where the screen is mostly static like 2D platformers, this may take some time. A simple fix is to move the game camera so that the console outputs a keyframe.
Question: The video lags or there are many glitches
Answer: Make sure the connection between the console and PC is good enough, if streaming over the network moves both closer to the router or goes to LAN, for USB try using a superior quality cable.
Question: When using Simple network mode
there is a lot of delay or it increases over time
Answer: Mpv will use a cache buffer to avoid delay when the connection drops some packets but this increases the delay, you can disable it using the command --cache=no --cache-secs=0
, if this doesn’t fix the problem probably the connection is not good enough to stream.
Manual driver installation on Windows
- Download the Android USB ADB driver from Google or plug it in directly and extract all files to a folder.
- The extracted folder should contain a folder called
usb_driver
, inside of it is a file calledandroid_winusb.inf
. - Right-click
android_winusb.inf
and selectInstall
.
Changelog
- Fixed discord screen sharing causing SysDVR client to crash #235
- Auto reconnect when streaming in USB mode even if the console is unplugged.
- This will try to find the same console by serial number, if you hacked it with the prodinfo hack tools and connect multiple consoles at the same time it may not work as expected.
Note: This is a client-only update, the sysmodule is the same as version 5.5.5.
BiteYourConsole disclaims any liability regarding information, software, products and services included. All of the above information is posted “as is” without warranty of any kind.
We disclaim all responsibility for this information and for the software, products and services included.
BiteYourConsole also does not warrant that this system will operate without accidents or hardware, software, or communication failures.
Users are allowed to use this program only for lawful and worthy purposes that are in accordance with all laws, regulations and accepted customs in Italy and in any other legal entity from which you connect to this system.
Download: SysDVR v5.5.6 (USB only)
Download: SysDVR v5.5.6
Download: SysDVR Client v5.5.6
Download: SysDVR Client FlatPack v5.5.6
Download: Source code SysDVR v5.5.6
Source: github.com