Steam und Proton auf einem Cloud-GPU-Server, gestreamt mit Sunshine und Moonlight
Valves Steam Deck und die neue Steam Machine führen Windows-Spiele unter Linux mit Proton aus, Valves Version von Wine. Dieselbe Software läuft auch auf einem Linux-Server im Rechenzentrum: Steam installieren, Proton die Windows-Spiele auf der GPU des Servers ausführen lassen und auf jedem Bildschirm spielen, mit Sunshine (auf dem Server) und Moonlight (bei Ihnen). Wir haben es auf einem Linux-GPU-Server mit Intel UHD 770 getestet.
Die Ergebnisse auf einen Blick
- Der Steam-Client startet auf einem Server ohne Bildschirm: etwa 3 Minuten vom ersten Start bis zum Anmeldefenster, auf einem virtuellen Wayland-Bildschirm, den die GPU zeichnet.
- Proton führt das Windows-Spiel auf der GPU aus: 85 bis 96 fps in 1080p (V-Sync aus) im SuperTuxKart-Benchmark, nah an Wine (etwa 95 fps) und Windows 11 (111 fps) auf derselben GPU.
- Streaming mit Sunshine bremst das Spiel nicht: 83 bis 95 fps während eines 1080p-Streams mit 60 fps zu Moonlight, 9,3 ms Verarbeitung auf dem Server im Mittel, kein Bild verloren.
- Für diesen Test konnten wir uns nicht bei Steam anmelden, daher lief Proton über umu-launcher, das Werkzeug, das Valves Proton ohne den Steam-Client ausführt. Mit Steam melden Sie sich mit Ihrem eigenen Konto an und aktivieren Steam Play.
- Zum Spielen iGPU Power wählen: mit dem GPU-Anteil von iGPU Start fiel derselbe Benchmark, während andere Server die GPU nutzten, auf 67 bis 84 fps.
Testaufbau
| Element | Wert |
|---|---|
| Server | Linux (Debian 13), 4 vCPU (wie iGPU Power), 10 GB RAM, Intel UHD 770 (geteilte GPU), Kernel 7.3, Mesa 25.0 |
| Anzeige | sway im Headless-Modus + Xwayland, 1920 × 1080, von der GPU gezeichnet |
| Steam | Debian-Paket steam-installer (Steam-Client, contrib/non-free) |
| Proton | umu-launcher 1.4.4 (GitHub-Release), der UMU-Proton 10.0-4 und die Steam Linux Runtime 3.0 heruntergeladen hat |
| Spiel | SuperTuxKart 1.5, Windows-Version, eingebauter Benchmark (aufgezeichnetes Rennen, 38 s), OpenGL, V-Sync aus |
| Streaming | Sunshine 2026.914 auf dem Server (Wayland-Aufnahme, H.264 per VA-API auf der GPU kodiert), Moonlight 6.2 auf einem zweiten Linux-Server, 1080p 60 fps |
| Netzwerk | Client und Server im selben Rechenzentrum: über das Internet kommt die Latenz Ihrer Verbindung hinzu |
Andere virtuelle Maschinen nutzten die geteilte GPU während des ganzen Tests stark (zwischen zwei Dritteln und 87 % der GPU-Zeit, wenn unser Server ruhte): Die Zahlen unten gelten also für eine ausgelastete geteilte GPU, nicht für eine leere.
1. Ein Bildschirm für Steam auf einem Server
Steam braucht eine Anzeige und verweigert den Start als root. Wir haben einen normalen Benutzer angelegt und sway gestartet, einen Wayland-Compositor, der ohne Monitor läuft und mit der GPU zeichnet, dazu Xwayland für Steam und Windows-Spiele (Xvfb würde auf der CPU rendern):
dpkg --add-architecture i386
apt install sway xwayland steam-installer mesa-vulkan-drivers mesa-vulkan-drivers:i386 \
libgl1-mesa-dri:i386 intel-media-va-driver-non-free
# als Spiele-Benutzer:
mkdir -p ~/.config/sway
printf 'output HEADLESS-1 resolution 1920x1080\nxwayland enable\n' > ~/.config/sway/config
WLR_BACKENDS=headless WLR_RENDERER=gles2 WLR_LIBINPUT_NO_DEVICES=1 \
WLR_RENDER_DRM_DEVICE=/dev/dri/renderD128 sway &
DISPLAY=:0 steam &
Beim ersten Start lädt Steam seinen Client herunter und aktualisiert ihn (1,4 GB in
~/.local/share/Steam) und zeigt dann das Anmeldefenster, etwa 3 Minuten 20 Sekunden nach dem ersten
Start.
Mit Ihrem eigenen Konto: anmelden (beim ersten Mal über Moonlight oder einen Remote-Desktop), dann
unter Steam → Einstellungen → Kompatibilität Steam Play für alle anderen Titel aktivieren und
eine Proton-Version wählen. Windows-Spiele werden dann wie Linux-Spiele installiert und gestartet. Zum
Spielen mit Controller vom Sofa aus starten Sie Steam im Big-Picture-Modus (steam -gamepadui), der
auch die Oberfläche der Steam Machine ist.
2. Proton ohne Steam-Konto: umu-launcher
Eine Anmeldung bei Steam war für diesen Test nicht möglich, daher haben wir umu-launcher verwendet, den Launcher, mit dem Lutris und Heroic Proton außerhalb von Steam ausführen. Er startet ein Windows-Spiel mit Proton im selben Steam-Linux-Runtime-Container, den auch Steam nutzt:
export WINEPREFIX=~/prefixes/stk GAMEID=umu-default
./umu-run supertuxkart.exe --screensize=1920x1080 --fullscreen --benchmark
Beim ersten Start lud umu-launcher UMU-Proton 10.0-4 (1,4 GB entpackt) und die Steam Linux Runtime 3.0 „sniper“ (800 MB) herunter und legte das Windows-Präfix an (900 MB), in weniger als einer Minute mit der Anbindung des Servers. Das Spielprotokoll bestätigt, dass Proton auf der GPU zeichnet:
IrrDriver: OpenGL renderer: Mesa Intel(R) UHD Graphics 770 (ADL-S GT1)
IrrDriver: OpenGL version string: 4.6 (Core Profile) Mesa 25.0.7
3. Ergebnisse
V-Sync im Spiel ausgeschaltet (swap-interval-vsync="0" in der config.xml von SuperTuxKart): Der
Bildschirm des Servers ist virtuell, V-Sync lässt das Spiel nur auf ihn warten.
| SuperTuxKart (Windows-Version), 1080p, Proton | Typical | Mostly stable | Steady |
|---|---|---|---|
| GPU-Anteil von iGPU Power, 2 Durchläufe | 85 bis 96 fps | 70 bis 83 fps | 52 bis 69 fps |
| GPU-Anteil von iGPU Power, beim Streaming zu Moonlight, 2 Durchläufe | 83 bis 95 fps | 58 bis 75 fps | 44 bis 58 fps |
| GPU-Anteil von iGPU Start, 4 Durchläufe | 67 bis 84 fps | 59 bis 71 fps | 45 bis 61 fps |
Zum Vergleich auf derselben GPU: etwa 95 fps mit Wine und 111 fps unter Windows 11. Proton ist ein Wine mit Valves Ergänzungen; bei einem OpenGL-Spiel wie diesem ist die Geschwindigkeit gleich.
Das Spiel nutzte im Mittel etwa 10 % der 4 vCPU, etwa 30 %, wenn Sunshine gleichzeitig aufnahm und kodierte. Der ganze Server belegte während des Tests 3,2 GB RAM (sway, Spiel, Sunshine).
4. Streaming mit Sunshine und Moonlight
Sunshine für Linux nimmt den sway-Bildschirm auf und kodiert auf der GPU. Die Konfiguration:
capture = wlr
encoder = vaapi
adapter_name = /dev/dri/renderD128
Dafür braucht es den Intel-Mediatreiber (intel-media-va-driver-non-free); ohne ihn findet Sunshine
keinen Encoder. Mit ihm:
Creating encoder [h264_vaapi]
vaapi vendor: Intel iHD driver for Intel(R) Gen Graphics - 25.2.3
Wir haben einen Moonlight-Client auf einem zweiten Linux-Server im selben Rechenzentrum gekoppelt und während des Spiels seine Statistiken notiert:
| Moonlight-Statistik (1080p, H.264, 60 fps) | Wert |
|---|---|
| Empfangene und angezeigte Bilder | 59,8 fps |
| Verarbeitung auf dem Server (Aufnahme + Kodierung), min / Mittel / max | 4,2 / 9,3 / 14,8 ms |
| Verlorene Bilder (Netzwerk oder Jitter) | 0 % |
| Netzwerklatenz (selbes Rechenzentrum) | 1 ms |
| Dekodierzeit auf dem Client | 0,29 ms |
Öffnen Sie die Weboberfläche von Sunshine über einen SSH-Tunnel
(ssh -L 47990:localhost:47990 benutzer@ihr-server), statt sie ins Internet zu stellen. Sunshine für
Linux bringt bereits einen Eintrag „Steam Big Picture“ mit, den Sie in Moonlight auswählen. Ihre
Gesamtlatenz hängt vor allem von Ihrer Internetverbindung zum Server (Deutschland) ab: Eine gute
Glasfaserverbindung in Europa fügt meist 10 bis 30 ms hinzu.
Grenzen
- Anti-Cheat: Viele Online-Spiele mit Anti-Cheat verweigern Proton oder virtuelle Maschinen. Prüfen Sie ProtonDB, bevor Sie ein Spiel dafür kaufen.
- Es ist eine integrierte GPU: gut für Indie-Spiele, ältere Spiele und 2D/3D-Spiele der 2010er, nicht für aktuelle AAA-Spiele in 1080p.
- Ton: Der Server hat keine Soundkarte. Für Ton in Moonlight PipeWire oder PulseAudio in der Spielsitzung starten; den Ton haben wir hier nicht getestet.
Systeme, die ab Werk spielbereit sind. Die Systeme, die wir standardmäßig installieren, sind bereits dafür eingerichtet: Debian 13 mit aktuellem Kernel (7.3), den Intel-GPU-Treibern und Mesa (OpenGL, Vulkan, VA-API-Videokodierung) sowie Windows 11 (Option) mit dem Intel-Grafiktreiber und GPU-beschleunigtem Remotedesktop. Keine Treibersuche: Spiel und Sunshine installieren und loslegen.
Welches Angebot?
Wir empfehlen iGPU Power (4 vCPU, 14 GB RAM, doppelter GPU-Anteil von iGPU Start). Wenn andere Server die GPU nutzen, richtet sich die GPU-Zeit jedes Servers nach seinem Anteil: In unserem Test stieg derselbe Benchmark von 67 bis 84 fps mit dem Anteil von Start auf 85 bis 96 fps mit dem von Power. iGPU Start (2 vCPU, 8 GB) reicht für 2D-Spiele und leichte Werkzeuge.
Lieber sofort losspielen? Fragen Sie bei der Bestellung per E-Mail danach (contact@linuxgpu.eu): Wir können Ihnen den Server mit Steam, virtuellem Bildschirm und Sunshine vorinstalliert und eingerichtet liefern. Sie melden sich mit Ihrem eigenen Konto bei Steam an und installieren Moonlight auf Ihrem Computer, Smartphone oder TV-Gerät.
Läuft ein Spiel nicht mit Proton, gibt Ihnen die Windows-11-Option (einmalig 10 €) ein vollständiges Windows: siehe Windows 11 in der Cloud mit Sunshine und Moonlight.
Zu den Angeboten: iGPU Power kostet 29,99 € netto pro Monat.