Blog

WinBoat oder Wine: Windows-Programme auf einem Linux-GPU-Server

WinBoat (Windows 11 in einem Docker-Container) auf einem Linux-Server ohne Bildschirm mit Intel UHD 770: 16 Minuten Installation, 4 GB RAM belegt, keine GPU in Windows. Vergleich mit Wine, Proton und einem vollständigen Windows-11-Server.

WinBoat oder Wine: Windows-Programme auf einem Linux-GPU-Server

Es gibt zwei Wege, ein Windows-Programm unter Linux auszuführen. Wine (und Proton, Valves Version davon) übersetzt Windows-Aufrufe für Linux: kein Windows im Inneren, und das Programm nutzt die GPU-Treiber von Linux. WinBoat macht das Gegenteil: Es startet ein echtes Windows 11 in einem Docker-Container (das Projekt dockur/windows, mit QEMU/KVM) und zeigt jedes Windows-Programm über den RemoteApp-Modus von FreeRDP als Linux-Fenster an. Wir haben WinBoat auf einem Linux-GPU-Server ohne Bildschirm getestet und mit Wine verglichen.

Das von WinBoat installierte Windows 11 auf dem Linux-Server, als vollständiger Desktop über RDP: Windows listet seine Grafikadapter, keiner davon ist die Intel-GPU (5 Sekunden).

Die Ergebnisse auf einen Blick

  • WinBoat läuft auf einem Server ohne Bildschirm: Die Oberfläche ist eine Electron-App, die wir auf einem virtuellen Bildschirm bedient haben. Sie fand Docker, KVM und FreeRDP und installierte Windows 11 Pro selbstständig.
  • 16 Minuten Installation: 1,5 Minuten für den Download von Windows 11 bei Microsoft (8,5 GB), 14 Minuten unbeaufsichtigte Installation. Danach 19 GB belegt auf der Festplatte des Servers.
  • 4,2 GB RAM belegt, solange Windows läuft, etwa 0,4 vCPU, wenn Windows nichts tut.
  • Keine GPU in Windows: Windows sieht nur einen „Red Hat VirtIO GPU DOD controller“ und den „Microsoft Remote Display Adapter“, ohne 3D-Beschleunigung. WinBoat 0.9.2 reicht die GPU nicht durch.
  • Einzelne App-Fenster funktionierten ohne Bildschirm nicht: Die RDP-Verbindung braucht einen Soundserver, danach stürzten die RemoteApp-Fenster ab (sway) oder blieben eingefroren (Xvfb). Der vollständige Windows-Desktop über RDP funktionierte.
  • Wine und Proton behalten die GPU: Dasselbe Windows-Spiel erreichte mit Wine etwa 95 fps und mit Proton 85 bis 96 fps, auf derselben Intel UHD 770.

Testaufbau

ElementWert
ServerLinux (Debian 13), 4 vCPU, 10 GB RAM, Intel UHD 770 (geteilte GPU), Kernel 7.3, KVM im Server verfügbar (verschachtelte Virtualisierung)
WinBoat0.9.2 (.deb von GitHub), Docker 29.9, FreeRDP 3.15
WindowsWindows 11 Pro, Englisch, WinBoat-Standardwerte: 2 Kerne, 4 GB RAM, 32 GB Festplatte, Image dockur/windows:6.05 (800 MB)
Anzeigesway headless (Wayland + Xwayland), dann Xvfb für den RemoteApp-Test

1. WinBoat auf einem Server installieren

WinBoat prüft seine Voraussetzungen in einem Assistenten: mindestens 4 GB RAM, KVM, Docker mit Compose v2 und FreeRDP 3. Unser Server hatte alles, auch KVM: Der Server ist selbst eine virtuelle Maschine, und WinBoat startet darin eine zweite.

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

Der Assistent fragt nach Windows-Version, Sprache, Windows-Benutzername und -Passwort sowie nach den Ressourcen für Windows. Nach einem Klick auf Install schreibt WinBoat eine docker-compose.yml, lädt Windows 11 bei Microsoft herunter und installiert es ohne weitere Fragen:

SchrittDauer
Download von Windows 11 (ISO, 8,5 GB)1 min 30 s
Unbeaufsichtigte Windows-Installation14 min 08 s
Gesamt, von „Install“ bis „Windows has been installed successfully“15 min 52 s
WinBoat-Oberfläche mit der Liste der Windows-11-Programme, auf dem virtuellen Bildschirm eines Linux-Servers
Die Programmliste von WinBoat auf dem virtuellen Bildschirm des Servers: 94 Windows-Programme und Verknüpfungen gefunden.

2. Was es kostet

RessourceGemessen
Vom Container belegter RAM4,15 GiB, solange Windows läuft
CPU während der Installation1 bis 2 Kerne
CPU in den ersten 15 Minuten nach der Installationetwa 2 Kerne (Windows schließt seine Einrichtung ab)
CPU mit Windows im Leerlaufetwa 0,4 vCPU, kurze Spitzen bis 1,3
Festplatte auf dem Server19 GB: 8,5 GB ISO im Ordner + 11 GB für die Windows-Festplatte
Balkendiagramm: belegter RAM, 4,2 GB für den WinBoat-Container mit Windows im Leerlauf, 3,2 GB für den ganzen Linux-Server mit SuperTuxKart unter Proton
Im Leerlauf belegt das Windows von WinBoat mehr RAM als unser ganzer Linux-Server, der ein Windows-Spiel mit Proton ausführt.

Auf einem Server mit 8 GB RAM nimmt das Windows von WinBoat die Hälfte, bevor Sie ein einziges Programm öffnen. Mit Wine muss nichts reserviert werden: Nur das gestartete Programm belegt Speicher.

3. Die GPU in Windows

Wir haben in Windows PowerShell geöffnet und die Grafikadapter aufgelistet:

Name          : Red Hat VirtIO GPU DOD controller
Name          : Microsoft Remote Display Adapter
PowerShell im Windows 11 von WinBoat mit den Grafikadaptern Red Hat VirtIO GPU DOD controller und Microsoft Remote Display Adapter
Im Windows von WinBoat keine Intel-GPU: ein virtueller Adapter nur für die Anzeige und der Remote-Desktop-Adapter.

Der Container erhält /dev/kvm, aber nicht die GPU, und der „DOD“-Treiber (nur Anzeige) hat kein 3D. Windows zeichnet also alles auf der CPU: gut für ein Büroprogramm, nicht für ein Spiel. Die WinBoat-Entwickler kündigen GPU-Beschleunigung für Version 1.0 an. Deshalb haben wir den SuperTuxKart-Benchmark in WinBoat nicht gestartet:

Balkendiagramm: SuperTuxKart in 1080p, 95 fps mit Wine, 91 fps mit Proton, 111 fps in einer Windows-11-VM mit Intel-Treiber, keine GPU in WinBoat
Dasselbe Windows-Spiel auf derselben GPU: Wine, Proton und ein Windows-11-Server mit Intel-Treiber nutzen die GPU; das Windows von WinBoat hat keine.

4. Programmfenster auf einem Server ohne Bildschirm

Die Hauptfunktion von WinBoat ist, jedes Windows-Programm in einem eigenen Linux-Fenster zu zeigen (FreeRDP RemoteApp). Auf unserem Server ohne Bildschirm:

  1. Der erste Start schlug fehl (FreeRDP process returned error code '138'): WinBoat verlangt von FreeRDP Ton über PulseAudio, und ein Server hat keinen Soundserver. Den PulseAudio-Dienst von PipeWire in der Sitzung zu starten, löste das (apt install pipewire-pulse wireplumber).
  2. Auf dem virtuellen sway-Bildschirm (Xwayland) brach FreeRDP danach mit einem X11-Fehler BadMatch ab, sobald sich das Fenster öffnete.
  3. Auf Xvfb mit einem einfachen Fenstermanager öffneten sich die Notepad-Fenster (die Fensterliste zeigte „Untitled - Notepad“), aber ihr Inhalt blieb auf dem Windows-Anmeldebild stehen.
  4. Der vollständige Windows-Desktop über RDP funktionierte sofort (Video oben im Artikel).
WinBoat auf einem virtuellen X-Bildschirm mit einem RemoteApp-Fenster von Notepad, eingefroren auf dem Windows-Anmeldebild
Das RemoteApp-Fenster von Notepad, von WinBoat auf Xvfb geöffnet, eingefroren auf dem Anmeldebild.

WinBoat ist für einen Linux-Desktop-PC mit echtem Bildschirm gedacht. Auf einem Server nutzen Sie den vollständigen Windows-Desktop (Remotedesktop von Ihrem Computer über einen SSH-Tunnel zu Port 47300) oder starten dockur/windows direkt mit Docker Compose: Darauf baut WinBoat auf.

WinBoat, Wine/Proton oder Windows 11?

Wine / ProtonWinBoatWindows-11-Option
Was läuftdas Windows-Programm, unter Linuxein vollständiges Windows im ContainerWindows 11 Pro auf dem ganzen Server
GPU für das Programmja (OpenGL, Vulkan, DXVK)neinja (Intel-Treiber)
SuperTuxKart 1080petwa 95 fps (Wine), 85 bis 96 fps (Proton)nicht gestartet, keine GPU111 fps
Belegter RAMnur der des Programms4 GB für Windowsder ganze Server
EinrichtungMinuten16 min, automatischfür Sie erledigt
Ideal fürSpiele und Programme, die bekanntermaßen laufenBüro- und Fachprogramme, die mit Wine nicht laufenalles andere

Unser Rat:

  • Spiele: Wine oder Proton, auf der GPU. Siehe Steam und Proton auf einem Cloud-GPU-Server und Windows-Spiele mit Wine.
  • Ein Windows-Büro- oder Fachprogramm, das mit Wine nicht läuft: WinBoat (oder dockur/windows) passt, wenn Sie ihm 4 GB RAM geben und auf einem Server den vollständigen Windows-Desktop nutzen.
  • Alles andere, oder ein Windows-Programm, das die GPU braucht: die Windows-11-Option (einmalig 10 €), mit dem Grafiktreiber von Intel.

WinBoat braucht KVM in Ihrem Server (verschachtelte Virtualisierung). Auf unserem Testserver funktionierte es; fragen Sie uns per E-Mail, ob sie auf Ihrem aktiviert ist. Da Windows 4 GB belegt, wählen Sie iGPU Power (4 vCPU, 14 GB RAM) statt iGPU Start (2 vCPU, 8 GB).

Lieber sofort einsatzbereit? Fragen Sie bei der Bestellung per E-Mail danach (contact@linuxgpu.eu): Wir können Ihnen den Server mit Wine, WinBoat oder Steam serverseitig vorinstalliert und eingerichtet liefern.

Systeme, die sofort 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), und Windows 11 (Option) mit dem Grafiktreiber von Intel und einem von der GPU gerenderten Remotedesktop. Kein Treiber zu suchen: Spiel und Sunshine installieren und loslegen.

Ausprobieren

Zu den Angeboten: iGPU Power kostet 29,99 € netto pro Monat, iGPU Start 14,99 €.