SysDVR Client Setup on Linux (Flatpak & Raspberry Pi)

On Linux, SysDVR-Client comes as an official Flatpak package for x64 systems — a two-command install. ARM machines such as the Raspberry Pi take a manual route through the cross-platform .NET build, which is more involved and worth attempting only if you’re comfortable in a terminal. This guide covers both, plus the one USB detail Linux users must not skip: the udev rule.

Option A — Flatpak install (x64)

The Flatpak build has existed since version 5.5 and is still labelled experimental by the author, but it is the right first choice on any 64-bit Linux desktop. On Ubuntu, with the commands from the official guide:

  1. Install Flatpak itself if you don’t have it: sudo apt install flatpak (other distros: use your package manager’s equivalent).
  2. Download SysDVR-Client-Linux-x64.flatpak from the download page.
  3. Install it as a user package:
flatpak --user install SysDVR-Client-Linux-x64.flatpak

Then launch it any time with:

flatpak run com.github.exelix11.sysdvr

You can create a shell alias for that command if you use it often. Keep the console and client on the same version — v6.3 with v6.3 — and remember the sysmodule takes about 20 seconds after the console boots before it can be discovered.

USB on Linux: libusb and the udev rule

USB streaming on Linux talks to the console through libusb, and your user account needs permission to access the device. The setup uses a udev rule file named 99-sysdvr.rules so the console is accessible without elevated privileges. Follow that rule’s setup rather than working around permissions, because of one specific trap:

Do not run SysDVR-Client as root. Running it with sudo/root breaks audio on Linux. If USB isn’t being seen, fix the udev rule — never reach for sudo.

The full USB flow, including switching the console to USB mode and cable advice, is in the USB streaming setup guide. Network modes (TCP Bridge and RTSP) need no device permissions at all.

Option B — Manual .NET install (Raspberry Pi & ARM)

Let’s be honest about this path before you start: it is a multi-step, terminal-heavy install with several exact-version dependencies, and the official guide ends its own walkthrough with “hope for the best”. Raspberry Pi 3 and 4 are supported this way; Pi 1 and 2 are not, because .NET doesn’t run on them. In outline, you need:

  • .NET 8 or newer installed (mono and older .NET Core will not work).
  • SDL2 and SDL2-image development packages: sudo apt install libsdl2-dev libsdl2-image-dev.
  • libusb: sudo apt install libusb-1.0-0-dev.
  • ffmpeg 5.1.x exactly, i.e. libavcodec59. A different ffmpeg version results in a “module not found” error at launch; if your distro doesn’t ship it, the fallback is building ffmpeg from source.
  • The SysDVR-Client-dotnet.zip cross-platform build from the download page, extracted locally.
  • A compiled CimguiSDL2Cross library copied into the matching runtimes/<platform>/native folder — or skip the new GUI by launching with the --legacy option, which shows a simple video player instead.

With the dependencies in place you run the client from its folder with dotnet SysDVR-Client.dll. If dynamic libraries fail to load, --debug dynlib helps identify which one. Because every distro differs, treat the official wiki’s manual-install page as the reference for exact steps and use this section as the map of what you’ll need.

A note on expectations before you choose a route: the Flatpak is the author’s packaged build and behaves like the clients on other platforms. The manual route, by contrast, is a community-style assembly of dependencies around the cross-platform build — powerful because it reaches hardware nothing else supports, but every distro quirk along the way is yours to solve. Choose it for the hardware it unlocks, not as a first resort.

Which route should you take?

SituationRecommended routeWhy
64-bit desktop or laptopFlatpakTwo commands, self-contained, no dependency hunting
Raspberry Pi 3 / 4 or other ARM boardManual .NET installThe Flatpak is x64-only; ARM is supported only this way
Raspberry Pi 1 / 2Neither.NET doesn’t run on these boards, so the client can’t either
Linux handheld or mini-PC (x64)Flatpak firstSame x64 build; fall back to manual only if the Flatpak misbehaves

After installing: connecting

Launch the client and choose a connection mode, exactly as on other platforms. For TCP Bridge, the console advertises itself on the local network and the client lists it automatically; if your Linux firewall is restrictive, remember the discovery is a UDP broadcast, so a default-deny inbound policy can hide the console until you allow local traffic. For USB, the udev rule above is what makes the console visible to your user account. And as everywhere: console and client versions must match, and the sysmodule needs its ~20 seconds after boot before it can be found.

Updating the Flatpak

There is no in-app updater. Updating means downloading the newer .flatpak file from the release and installing it the same way — flatpak --user install replaces the previous version in place, and your launch command stays flatpak run com.github.exelix11.sysdvr. Update the console sysmodule in the same sitting and reboot the console, so both sides land on the same version together.

Next steps

Similar Posts