server download: linux-amd64 client download: linux-amd64 ā¢ darwin-arm64
This is a game streaming and remote desktop tool for Linux, featuring:
[!WARNING]
Alpha software! Please submit any issues you encounter. Run the server with--bug-report
to generate detailed logs and record videos to attach to your report.
Grab the latest release (link above), and run it on a server with a GPU:
$ cat > steam-bigpicture.toml <<EOF
command = ["steam", "-steamos", "-gamepadui"]
xwayland = true
EOF
$ ./mmserver --bind "<your local ip>:9599" -i steam-bigpicture.toml
You can replace steam with your app of choice, or even a full nested desktop environment like Sway.
And then on the client (after installing ffmpeg
):
$ ./mmclient "<ip>:9599" steam-bigpicture --codec h265 --resolution 1080
This will work over the local network, or a private IP space like Tailscale. To serve over the public internet, TLS is required. See mmserver.default.toml for more detail on that and other configuration options.
For instructions on building the server and/or client yourself, see BUILD.md.
The following is required to run the server:
mesa-git
on arch or build from source)The following is required to run the client:
Hardware encoding, based on Vulkan Video, is needed to get the best performance and latency. CPU-based encode is available as a fallback, but it's much slower.
To see if your GPU supports video encoding, see the following matrix for your vendor: AMD ā¢ NVIDIA
Note that with the ffmpeg
feature, linking against a system-installed ffmpeg
is supported, which may allow you to use specific CPU-based codecs not considered in this table.
Codec | CPU | AMD | NVIDIA | Intel[^1] |
---|---|---|---|---|
H.264 | ā | āļø | āļø | ā |
H.265 | āļø | āļø | āļø | ā |
AV1 | āļø | ā | ā | ā |
[^1]: I don't have an Intel GPU available to test, and it's difficult to find information online about driver/card support for hardware encode. Please let me know how it goes!