Steam en Proton op een cloudserver met GPU, gestreamd met Sunshine en Moonlight
De Steam Deck en de nieuwe Steam Machine van Valve draaien Windows-games op Linux met Proton, Valves versie van Wine. Dezelfde software draait ook op een Linux-server in een datacenter: installeer Steam, laat Proton je Windows-games op de GPU van de server draaien en speel op elk scherm met Sunshine (op de server) en Moonlight (aan jouw kant). We testten het op een Linux-GPU-server met een Intel UHD 770.
De resultaten in het kort
- De Steam-client start op een server zonder scherm: ongeveer 3 minuten van de eerste start tot het aanmeldvenster, op een virtueel Wayland-scherm dat de GPU tekent.
- Proton draait de Windows-game op de GPU: 85 tot 96 fps in 1080p (V-Sync uit) in de SuperTuxKart-benchmark, dicht bij Wine (ongeveer 95 fps) en Windows 11 (111 fps) op dezelfde GPU.
- Streamen met Sunshine vertraagt de game niet: 83 tot 95 fps tijdens een 1080p-stream op 60 fps naar Moonlight, gemiddeld 9,3 ms verwerking op de server, geen beeld verloren.
- Voor deze test konden we niet aanmelden bij Steam, dus draaide Proton via umu-launcher, de tool die Valves Proton zonder de Steam-client uitvoert. Met Steam meld je je aan met je eigen account en zet je Steam Play aan.
- Kies iGPU Power om te gamen: met het GPU-aandeel van iGPU Start zakte dezelfde benchmark, terwijl andere servers de GPU gebruikten, naar 67 tot 84 fps.
Testopstelling
| Onderdeel | Waarde |
|---|---|
| Server | Linux (Debian 13), 4 vCPU (zoals iGPU Power), 10 GB RAM, Intel UHD 770 (gedeelde GPU), kernel 7.3, Mesa 25.0 |
| Weergave | sway in headless-modus + Xwayland, 1920 × 1080, getekend door de GPU |
| Steam | Debian-pakket steam-installer (Steam-client, contrib/non-free) |
| Proton | umu-launcher 1.4.4 (GitHub-release), die UMU-Proton 10.0-4 en de Steam Linux Runtime 3.0 downloadde |
| Game | SuperTuxKart 1.5, Windows-versie, ingebouwde benchmark (opgenomen race, 38 s), OpenGL, V-Sync uit |
| Streaming | Sunshine 2026.914 op de server (Wayland-opname, H.264 gecodeerd door de GPU via VA-API), Moonlight 6.2 op een tweede Linux-server, 1080p 60 fps |
| Netwerk | client en server in hetzelfde datacenter: via internet komt de latentie van je verbinding erbij |
Andere virtuele machines gebruikten de gedeelde GPU de hele test zwaar (tussen twee derde en 87 % van de GPU-tijd als onze server niets deed): de cijfers hieronder gelden dus voor een drukke gedeelde GPU, niet voor een lege.
1. Een scherm voor Steam op een server
Steam heeft een weergave nodig en weigert als root te draaien. We maakten een gewone gebruiker aan en startten sway, een Wayland-compositor die zonder monitor werkt en met de GPU tekent, plus Xwayland voor Steam en Windows-games (Xvfb zou op de CPU renderen):
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 gamegebruiker:
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 &
Bij de eerste start downloadt en werkt Steam zijn client bij (1,4 GB in ~/.local/share/Steam) en
toont dan het aanmeldvenster, ongeveer 3 minuten en 20 seconden na de eerste start.
Met je eigen account: meld je aan (de eerste keer via Moonlight of een extern bureaublad), zet dan
onder Steam → Instellingen → Compatibiliteit Steam Play voor alle andere titels aan en kies een
Proton-versie. Windows-games installeren en starten dan als Linux-games. Om met een controller vanaf de
bank te spelen, start je Steam in Big Picture-modus (steam -gamepadui), ook de interface van de Steam
Machine.
2. Proton zonder Steam-account: umu-launcher
Aanmelden bij Steam was voor deze test niet mogelijk, dus gebruikten we umu-launcher, de launcher waarmee Lutris en Heroic Proton buiten Steam draaien. Hij start een Windows-game met Proton in dezelfde Steam Linux Runtime-container die Steam gebruikt:
export WINEPREFIX=~/prefixes/stk GAMEID=umu-default
./umu-run supertuxkart.exe --screensize=1920x1080 --fullscreen --benchmark
Bij de eerste start downloadde umu-launcher UMU-Proton 10.0-4 (1,4 GB uitgepakt) en de Steam Linux Runtime 3.0 “sniper” (800 MB) en maakte het Windows-prefix aan (900 MB), in minder dan een minuut met de verbinding van de server. Het log van de game bevestigt dat Proton op de GPU tekent:
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. Resultaten
V-Sync uit in de game (swap-interval-vsync="0" in de config.xml van SuperTuxKart): het scherm van
de server is virtueel, en V-Sync laat de game er alleen op wachten.
| SuperTuxKart (Windows-versie), 1080p, Proton | Typical | Mostly stable | Steady |
|---|---|---|---|
| GPU-aandeel van iGPU Power, 2 runs | 85 tot 96 fps | 70 tot 83 fps | 52 tot 69 fps |
| GPU-aandeel van iGPU Power, tijdens streamen naar Moonlight, 2 runs | 83 tot 95 fps | 58 tot 75 fps | 44 tot 58 fps |
| GPU-aandeel van iGPU Start, 4 runs | 67 tot 84 fps | 59 tot 71 fps | 45 tot 61 fps |
Ter vergelijking, op dezelfde GPU: ongeveer 95 fps met Wine en 111 fps onder Windows 11. Proton is een Wine met toevoegingen van Valve; voor een OpenGL-game als deze is de snelheid gelijk.
De game gebruikte gemiddeld ongeveer 10 % van de 4 vCPU, ongeveer 30 % als Sunshine tegelijk opnam en codeerde. De hele server gebruikte tijdens de test 3,2 GB RAM (sway, game, Sunshine).
4. Streamen met Sunshine en Moonlight
Sunshine voor Linux neemt het sway-scherm op en codeert op de GPU. De configuratie:
capture = wlr
encoder = vaapi
adapter_name = /dev/dri/renderD128
Daarvoor is de Intel-mediadriver nodig (intel-media-va-driver-non-free); zonder vindt Sunshine geen
encoder. Met de driver:
Creating encoder [h264_vaapi]
vaapi vendor: Intel iHD driver for Intel(R) Gen Graphics - 25.2.3
We koppelden een Moonlight-client op een tweede Linux-server in hetzelfde datacenter en noteerden de statistieken tijdens het spelen:
| Moonlight-statistiek (1080p, H.264, 60 fps) | Waarde |
|---|---|
| Ontvangen en getoonde beelden | 59,8 fps |
| Verwerking op de server (opname + codering), min / gemiddeld / max | 4,2 / 9,3 / 14,8 ms |
| Verloren beelden (netwerk of jitter) | 0 % |
| Netwerklatentie (zelfde datacenter) | 1 ms |
| Decodeertijd op de client | 0,29 ms |
Open de webinterface van Sunshine via een SSH-tunnel (ssh -L 47990:localhost:47990 gebruiker@jouw-server)
in plaats van haar op internet open te zetten. Sunshine voor Linux heeft al een item “Steam Big
Picture” dat je in Moonlight kiest. Je totale latentie hangt vooral af van je internetverbinding met
de server (Duitsland): een goede glasvezelverbinding in Europa voegt meestal 10 tot 30 ms toe.
Beperkingen
- Anti-cheat: veel online games met anti-cheat weigeren Proton of virtuele machines. Kijk op ProtonDB voordat je hiervoor een game koopt.
- Het is een geïntegreerde GPU: geschikt voor indiegames, oudere games en 2D/3D-games uit de jaren 2010, niet voor recente AAA-games in 1080p.
- Geluid: de server heeft geen geluidskaart. Voor geluid in Moonlight start je PipeWire of PulseAudio in de gamesessie; geluid hebben we hier niet getest.
Systemen die direct klaar zijn om te gamen. De systemen die we standaard installeren zijn hier al op ingericht: Debian 13 met een recente kernel (7.3), de Intel-GPU-drivers en Mesa (OpenGL, Vulkan, VA-API-videocodering), en Windows 11 (optie) met de grafische driver van Intel en Extern bureaublad dat op de GPU rendert. Geen drivers zoeken: installeer je game en Sunshine, en speel.
Welk abonnement?
We raden iGPU Power aan (4 vCPU, 14 GB RAM, twee keer het GPU-aandeel van iGPU Start). Als andere servers de GPU gebruiken, volgt de GPU-tijd van elke server zijn aandeel: in onze test ging dezelfde benchmark van 67 tot 84 fps met het aandeel van Start naar 85 tot 96 fps met dat van Power. iGPU Start (2 vCPU, 8 GB) blijft genoeg voor 2D-games en lichte tools.
Liever meteen spelen? Vraag het per e-mail bij je bestelling (contact@linuxgpu.eu): we kunnen de server leveren met Steam, het virtuele scherm en Sunshine al geïnstalleerd en ingesteld. Jij meldt je bij Steam aan met je eigen account en installeert Moonlight op je computer, telefoon of tv-box.
Werkt een game niet met Proton, dan geeft de Windows 11-optie (eenmalig € 10) je een volledige Windows: zie Windows 11 in de cloud met Sunshine en Moonlight.
Bekijk de abonnementen: iGPU Power kost € 29,99 per maand excl. btw.