Blog

WinBoat of Wine: Windows-apps draaien op een Linux-GPU-server

We installeerden WinBoat (Windows 11 in een Docker-container) op een Linux-server zonder scherm met een Intel UHD 770: 16 minuten installeren, 4 GB RAM vastgehouden, geen GPU in Windows. Vergeleken met Wine, Proton en een volledige Windows 11-server.

WinBoat of Wine: Windows-apps draaien op een Linux-GPU-server

Er zijn twee manieren om een Windows-programma op Linux te draaien. Wine (en Proton, de versie van Valve) vertaalt Windows-aanroepen naar Linux: geen Windows binnenin, en het programma gebruikt de GPU-drivers van Linux. WinBoat doet het omgekeerde: het draait een echte Windows 11 in een Docker-container (het project dockur/windows, met QEMU/KVM) en toont elke Windows-app als een Linux-venster via de RemoteApp-modus van FreeRDP. We testten WinBoat op een Linux-GPU-server zonder scherm en vergeleken het met Wine.

De door WinBoat geïnstalleerde Windows 11 op de Linux-server, geopend als volledig bureaublad via RDP: Windows toont zijn beeldschermadapters, en geen daarvan is de Intel-GPU (5 seconden).

De resultaten in het kort

  • WinBoat draait op een server zonder scherm: de interface is een Electron-app die we op een virtueel scherm bedienden. Hij vond Docker, KVM en FreeRDP en installeerde Windows 11 Pro zelf.
  • 16 minuten installeren: 1,5 minuut om Windows 11 bij Microsoft te downloaden (8,5 GB), 14 minuten onbewaakte installatie. Daarna 19 GB in gebruik op de schijf van de server.
  • 4,2 GB RAM vastgehouden zolang Windows draait, ongeveer 0,4 vCPU als Windows niets doet.
  • Geen GPU in Windows: Windows ziet alleen een “Red Hat VirtIO GPU DOD controller” en de “Microsoft Remote Display Adapter”, zonder 3D-versnelling. WinBoat 0.9.2 geeft de GPU niet door.
  • Losse app-vensters werkten niet zonder scherm: de RDP-verbinding heeft een geluidsserver nodig, daarna crashten de RemoteApp-vensters (sway) of bleven ze bevroren (Xvfb). Het volledige Windows-bureaublad via RDP werkte wel.
  • Wine en Proton houden de GPU: dezelfde Windows-game haalde ongeveer 95 fps met Wine en 85 tot 96 fps met Proton, op dezelfde Intel UHD 770.

Testopstelling

OnderdeelWaarde
ServerLinux (Debian 13), 4 vCPU, 10 GB RAM, Intel UHD 770 (gedeelde GPU), kernel 7.3, KVM beschikbaar in de server (geneste virtualisatie)
WinBoat0.9.2 (.deb van GitHub), Docker 29.9, FreeRDP 3.15
WindowsWindows 11 Pro, Engels, standaardwaarden van WinBoat: 2 cores, 4 GB RAM, schijf van 32 GB, image dockur/windows:6.05 (800 MB)
Weergavesway headless (Wayland + Xwayland), daarna Xvfb voor de RemoteApp-test

1. WinBoat op een server installeren

WinBoat controleert zijn vereisten in een wizard: minstens 4 GB RAM, KVM, Docker met Compose v2 en FreeRDP 3. Onze server had alles, ook KVM: de server is zelf een virtuele machine, en WinBoat start er een tweede in.

apt install ./winboat-0.9.2-amd64.deb freerdp3-x11
usermod -aG docker,kvm jouwgebruiker

De wizard vraagt een Windows-versie, een taal, een Windows-gebruikersnaam en -wachtwoord en de middelen voor Windows. Na een klik op Install schrijft WinBoat een docker-compose.yml, downloadt Windows 11 bij Microsoft en installeert het zonder verdere vragen:

StapDuur
Download van Windows 11 (ISO van 8,5 GB)1 min 30 s
Onbewaakte Windows-installatie14 min 08 s
Totaal, van “Install” tot “Windows has been installed successfully”15 min 52 s
WinBoat-interface met de lijst van Windows 11-apps, op het virtuele scherm van een Linux-server
De app-lijst van WinBoat op het virtuele scherm van de server: 94 Windows-apps en snelkoppelingen gevonden.

2. Wat het kost

MiddelGemeten
RAM vastgehouden door de container4,15 GiB, zolang Windows draait
CPU tijdens de installatie1 tot 2 cores
CPU in de eerste 15 minuten na de installatieongeveer 2 cores (Windows rondt zijn instelling af)
CPU met Windows inactiefongeveer 0,4 vCPU, korte pieken tot 1,3
Schijf op de server19 GB: 8,5 GB ISO in de map + 11 GB voor de Windows-schijf
Staafdiagram: RAM in gebruik, 4,2 GB voor de WinBoat-container met Windows inactief, 3,2 GB voor de hele Linux-server die SuperTuxKart met Proton draait
Inactief houdt de Windows van WinBoat meer RAM vast dan onze hele Linux-server die een Windows-game met Proton draait.

Op een server met 8 GB RAM neemt de Windows van WinBoat de helft in voordat je één app opent. Met Wine hoeft niets gereserveerd te worden: alleen het programma dat je draait gebruikt geheugen.

3. De GPU in Windows

We openden PowerShell in Windows en toonden de beeldschermadapters:

Name          : Red Hat VirtIO GPU DOD controller
Name          : Microsoft Remote Display Adapter
PowerShell in de Windows 11 van WinBoat met de beeldschermadapters Red Hat VirtIO GPU DOD controller en Microsoft Remote Display Adapter
In de Windows van WinBoat geen Intel-GPU: een virtuele adapter alleen voor weergave en de adapter van Extern bureaublad.

De container krijgt /dev/kvm maar niet de GPU, en de “DOD”-driver (alleen weergave) heeft geen 3D. Windows tekent dus alles op de CPU: prima voor een kantoorprogramma, niet voor een game. De ontwikkelaars van WinBoat kondigen GPU-versnelling aan voor versie 1.0. Daarom draaiden we de SuperTuxKart-benchmark niet in WinBoat:

Staafdiagram: SuperTuxKart in 1080p, 95 fps met Wine, 91 fps met Proton, 111 fps in een Windows 11-VM met de Intel-driver, en geen GPU in WinBoat
Dezelfde Windows-game op dezelfde GPU: Wine, Proton en een Windows 11-server met de Intel-driver gebruiken de GPU; de Windows van WinBoat heeft er geen.

4. App-vensters op een server zonder scherm

De belangrijkste functie van WinBoat is elke Windows-app in een eigen Linux-venster tonen (FreeRDP RemoteApp). Op onze server zonder scherm:

  1. De eerste start mislukte (FreeRDP process returned error code '138'): WinBoat vraagt FreeRDP om geluid via PulseAudio, en een server heeft geen geluidsserver. De PulseAudio-dienst van PipeWire in de sessie starten loste dat op (apt install pipewire-pulse wireplumber).
  2. Op het virtuele sway-scherm (Xwayland) stopte FreeRDP daarna met een X11-fout BadMatch zodra het venster openging.
  3. Op Xvfb met een eenvoudige vensterbeheerder openden de Kladblok-vensters (de vensterlijst toonde “Untitled - Notepad”), maar hun inhoud bleef bevroren op het aanmeldbeeld van Windows.
  4. Het volledige Windows-bureaublad via RDP werkte meteen (video bovenaan het artikel).
WinBoat op een virtueel X-scherm met een RemoteApp-venster van Kladblok bevroren op het aanmeldbeeld van Windows
Het RemoteApp-venster van Kladblok, door WinBoat geopend op Xvfb, bevroren op het aanmeldbeeld.

WinBoat is gemaakt voor een Linux-desktop-pc met een echt scherm. Gebruik op een server het volledige Windows-bureaublad (Extern bureaublad vanaf je computer, via een SSH-tunnel naar poort 47300) of draai dockur/windows direct met Docker Compose: dat is wat WinBoat eronder gebruikt.

WinBoat, Wine/Proton of Windows 11?

Wine / ProtonWinBoatWindows 11-optie
Wat draaithet Windows-programma, op Linuxeen volledige Windows in een containerWindows 11 Pro op de hele server
GPU voor het programmaja (OpenGL, Vulkan, DXVK)neeja (Intel-driver)
SuperTuxKart 1080pongeveer 95 fps (Wine), 85 tot 96 fps (Proton)niet gedraaid, geen GPU111 fps
Vastgehouden RAMalleen wat het programma gebruikt4 GB voor Windowsde hele server
Installatieminuten16 min, automatischdoor ons gedaan
Ideaal voorgames en programma’s waarvan bekend is dat ze werkenkantoor- en bedrijfsapps die Wine weigerenal het andere

Ons advies:

  • Games: Wine of Proton, op de GPU. Zie Steam en Proton op een cloudserver met GPU en Windows-games met Wine.
  • Een Windows-kantoor- of bedrijfsapp die niet met Wine werkt: WinBoat (of dockur/windows) volstaat, als je het 4 GB RAM geeft en op een server het volledige Windows-bureaublad gebruikt.
  • Al het andere, of een Windows-programma dat de GPU nodig heeft: de Windows 11-optie (eenmalig € 10), met de grafische driver van Intel.

WinBoat heeft KVM in je server nodig (geneste virtualisatie). Op onze testserver werkte het; vraag ons per e-mail om te controleren of het op de jouwe aanstaat. Met 4 GB voor Windows kies je iGPU Power (4 vCPU, 14 GB RAM) in plaats van iGPU Start (2 vCPU, 8 GB).

Liever meteen klaar voor gebruik? Vraag het per e-mail bij je bestelling (contact@linuxgpu.eu): we kunnen de server leveren met Wine, WinBoat of Steam al geïnstalleerd en ingesteld aan de serverkant.

Systemen die meteen klaar zijn om te gamen. De systemen die we standaard installeren zijn hier al voor 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 gerenderd door de GPU. Geen driver om te zoeken: installeer je game en Sunshine, en speel.

Probeer het

Bekijk de abonnementen: iGPU Power kost € 29,99 per maand excl. btw, iGPU Start € 14,99.