Skip to content

SysDVR Client setup

exelix edited this page Oct 22, 2024 · 23 revisions

SysDVR-Client is a PC application that acts as a bridge between SysDVR and your video player, it's needed to improve performances by using some custom-built streaming protocols.

If you encounter any issue check out the troubleshooting page

Downloading SysDVR-Client

Go to the Releases tab and download the archive for your OS:

  • SysDVR-Client-Windows-x64.7z is the Windows release for x64 systems
  • SysDVR-Client-Linux-x64.flatpak is the Linux release for x64 systems, this is a flatpak package that can be used to easily install SysDVR-Client on Linux.
  • SysDVR-Client-MacOs-arm64.zip is the Mac OS release for arm64 "apple silicon" systems
  • SysDVR-Client-MacOs-x64.zip is the Mac OS release for intel x64 systems
  • SysDVR-Client-Android-arm64.apk is the android release
  • SysDVR-Client-dotnet.zip is the cross platform build of SysDVR-Client for other unsupported architectures, to use it follow the Manual Install section.

Windows setup

Before running SysDVR Client you may need to install latest x64 MSVC libs from Microsoft.

After that you should be ready to go, extract the release using 7zip or another archive program and launch SysDVR-Client.exe

At the time of writing Windows on ARM is not supported, if you have an ARM device you can try the cross platform build but you will also have to find arm builds of ffmpeg and SDL2. More details in the manual install section.

Android setup

Android does not require any special setup, just install the apk and you're ready to go.

Note that as of 6.0 the android release only supports 64-bit arm devices (that is, most modern phones) running android 10 or newer. Some older devices such as smart TVs or chromecasts may not be supported and the app will not install.

MacOS setup

MacOS does not usually require any special setup, just extract the release and launch the SysDVR-Client file.

However, on some machines you will need to add a signature exception since SysDVR is not signed, you can read how here : https://support.apple.com/en-us/102445#openanyway

If the above still doesn't work you will have to self-sign the dylib files to make them run on your mac, to do this open a terminal in the runntimes/osx-arch/native folder you extracted from the zip and run codesign --remove-signature -v *.dylib and then codesign -s - -v *.dylib. The osx-arch part depends on your CPU, you should have only one folder with the name starting with osx- so you can't go wrong.

Linux setup

Since 5.5 SysDVR-Client comes with a flatpak package, however this is still experimental and only works for x64 systems in case of issues you can try the manual install.

The install commands provided here are for the default Ubuntu package manager, if you use a different distro you'll have to find equivalent commands on your own.

Arm devices such as Raspberry Pi 3 and 4 are supported only with manual install, support depends on the availability of .NET, older boards such as Raspberry Pi 2 or 1 are not supported by .NET.

Flatpak install

  1. Install flatpak from your package manager sudo apt install flatpak
  2. Download SysDVR-Client-Linux-x64.flatpak from the Releases tab
  3. Install the flatpak flatpak --user install SysDVR-Client-Linux-x64.flatpak

You can now launch SysDVR-Client by running flatpak run com.github.exelix11.sysdvr, if you want you can create an alias for it.

Mnaual install

This is the install method for arm devices such as Raspberry Pi 3 and 4 and other linux systems where the provided flatpak package doesn't work. We are going to download the cross platform build of SysDVR-Client and run it with .NET, but first we need to obtain all the needed dependencies.

The example commands listed here are for Ubuntu, for other distros you'll have to find equivalent commands on your own. For windows on arm you will probably not find prebuilt binaries for everything and may have to build them yourself, you can try vcpkg for that.

For this you will need to download the SysDVR-Client-dotnet.7z release.

  1. Download and install .NET.
    • You need .NET 8 or newer, mono and .NET core will not work
    • Microsoft provides packages for the most common package managers and distros
  2. Install SDL2 and SDL2-image sudo apt install libsdl2-dev libsdl2-image-dev
  3. Install libusb sudo apt install libusb-1.0-0-dev
  4. Install ffmpeg sudo apt install libavcodec59
    • You need ffmpeg 5.1.x
    • In particular we need libavcodec59, this may not be available in your package manager, if that's the case you'll have to build ffmpeg from source
    • Failing to install the exact version of ffmpeg will result in a module not found error when you launch SysDVR-Client
  5. Extract the SysDVR-Client-dotnet.7z archive
  6. Download and compile CimguiSDL2Cross following the steps from the github actions workflow for your OS, this is a custom fork of Cimgui that enables support for SDL2, copy the output .so file to the runtimes/your_platform/native folder, for example runtimes/linux-arm64/native for linux on arm64.
  7. Open a terminal in the same folder where you extracted the zip and check if it works by running dotnet SysDVR-Client.dll
  8. Hope for the best

You can run SysDVR client without CimguiSDL2Cross if specify the --legacy command line option, this will disable the new GUI and only show a simple video player.

You can debug dynamic library loading issues by adding the --debug dynlib option to the command line.

Note that the guide uses SysDVR-Client to launch the client, since you are not on windows you will have to use dotnet SysDVR-Client.dll instead with the terminal opened in the same folder as the extracted zip

Troubleshooting: user gigglypuff from discord made a MacOS and linux specific troubleshooting page, in case you get errors check it out