WinBoat ou Wine : lancer des applications Windows sur un serveur Linux GPU
Il y a deux façons de faire tourner un programme Windows sous Linux. Wine (et Proton, sa version par Valve) traduit les appels Windows vers Linux : pas de Windows à l’intérieur, et le programme utilise les pilotes GPU de Linux. WinBoat fait l’inverse : il lance un vrai Windows 11 dans un conteneur Docker (le projet dockur/windows, avec QEMU/KVM) et affiche chaque application Windows comme une fenêtre Linux grâce au mode RemoteApp de FreeRDP. Nous avons testé WinBoat sur un serveur Linux GPU sans écran et l’avons comparé à Wine.
Les résultats en bref
- WinBoat fonctionne sur un serveur sans écran : son interface est une application Electron que nous avons pilotée sur un écran virtuel. Il a trouvé Docker, KVM et FreeRDP et installé Windows 11 Pro tout seul.
- 16 minutes d’installation : 1 min 30 pour télécharger Windows 11 chez Microsoft (8,5 Go), 14 minutes d’installation automatique. Ensuite, 19 Go occupés sur le disque du serveur.
- 4,2 Go de RAM réservés tant que Windows tourne, environ 0,4 vCPU quand Windows est au repos.
- Pas de GPU dans Windows : Windows ne voit qu’un « Red Hat VirtIO GPU DOD controller » et le « Microsoft Remote Display Adapter », sans accélération 3D. WinBoat 0.9.2 ne transmet pas le GPU.
- Les fenêtres d’applications intégrées n’ont pas fonctionné sans écran : la connexion RDP exige un serveur de son, puis les fenêtres RemoteApp ont planté (sway) ou sont restées figées (Xvfb). Le bureau Windows complet par RDP, lui, a fonctionné.
- Wine et Proton gardent le GPU : le même jeu Windows atteignait environ 95 fps avec Wine et 85 à 96 fps avec Proton, sur la même Intel UHD 770.
Configuration du test
| Élément | Valeur |
|---|---|
| Serveur | Linux (Debian 13), 4 vCPU, 10 Go de RAM, Intel UHD 770 (GPU partagé), noyau 7.3, KVM disponible dans le serveur (virtualisation imbriquée) |
| WinBoat | 0.9.2 (.deb de GitHub), Docker 29.9, FreeRDP 3.15 |
| Windows | Windows 11 Pro, anglais, réglages par défaut de WinBoat : 2 cœurs, 4 Go de RAM, disque de 32 Go, image dockur/windows:6.05 (800 Mo) |
| Affichage | sway headless (Wayland + Xwayland), puis Xvfb pour le test RemoteApp |
1. Installer WinBoat sur un serveur
WinBoat vérifie ses prérequis dans un assistant : au moins 4 Go de RAM, KVM, Docker avec Compose v2 et FreeRDP 3. Notre serveur avait tout, KVM compris : le serveur est lui-même une machine virtuelle, et WinBoat en lance une seconde à l’intérieur.
apt install ./winboat-0.9.2-amd64.deb freerdp3-x11
usermod -aG docker,kvm votreutilisateur
L’assistant demande une version de Windows, une langue, un nom d’utilisateur et un mot de passe
Windows, et les ressources à donner à Windows. Après un clic sur Install, WinBoat écrit un
docker-compose.yml, télécharge Windows 11 chez Microsoft et l’installe sans autre question :
| Étape | Durée |
|---|---|
| Téléchargement de Windows 11 (ISO de 8,5 Go) | 1 min 30 s |
| Installation automatique de Windows | 14 min 08 s |
| Total, de « Install » à « Windows has been installed successfully » | 15 min 52 s |
2. Ce que ça coûte
| Ressource | Mesure |
|---|---|
| RAM réservée par le conteneur | 4,15 Gio, tant que Windows tourne |
| CPU pendant l’installation | 1 à 2 cœurs |
| CPU pendant les 15 minutes après l’installation | environ 2 cœurs (Windows termine sa configuration) |
| CPU avec Windows au repos | environ 0,4 vCPU, pointes brèves à 1,3 |
| Disque sur le serveur | 19 Go : 8,5 Go d’ISO conservés dans le dossier + 11 Go pour le disque Windows |
Sur un serveur de 8 Go de RAM, le Windows de WinBoat en prend la moitié avant même d’ouvrir une application. Avec Wine, rien à réserver : seul le programme lancé utilise de la mémoire.
3. Le GPU dans Windows
Nous avons ouvert PowerShell dans Windows et listé les cartes graphiques :
Name : Red Hat VirtIO GPU DOD controller
Name : Microsoft Remote Display Adapter
Le conteneur reçoit /dev/kvm mais pas le GPU, et le pilote « DOD » (affichage seul) n’a pas de 3D.
Windows dessine donc tout avec le CPU : très bien pour une application de bureau, pas pour un jeu.
Les développeurs de WinBoat annoncent l’accélération GPU pour la version 1.0. C’est pourquoi nous
n’avons pas lancé le benchmark de SuperTuxKart dans WinBoat :
4. Des fenêtres d’applications sur un serveur sans écran
La fonction phare de WinBoat est d’afficher chaque application Windows dans sa propre fenêtre Linux (FreeRDP RemoteApp). Sur notre serveur sans écran :
- Le premier lancement a échoué (
FreeRDP process returned error code '138') : WinBoat demande le son à FreeRDP via PulseAudio, et un serveur n’a pas de serveur de son. Lancer le service PulseAudio de PipeWire dans la session a réglé le problème (apt install pipewire-pulse wireplumber). - Sur l’écran virtuel sway (Xwayland), FreeRDP s’est ensuite arrêté sur une erreur X11
BadMatchdès l’ouverture de la fenêtre. - Sur Xvfb avec un gestionnaire de fenêtres simple, les fenêtres du Bloc-notes se sont ouvertes (la liste des fenêtres affichait « Untitled - Notepad ») mais leur contenu est resté figé sur l’image de connexion de Windows.
- Le bureau Windows complet par RDP a fonctionné du premier coup (vidéo en haut de l’article).
WinBoat est conçu pour un PC de bureau Linux avec un vrai écran. Sur un serveur, utilisez le bureau
Windows complet (Bureau à distance depuis votre ordinateur, par un tunnel SSH vers le port 47300) ou
lancez directement dockur/windows avec Docker Compose : c’est ce que WinBoat utilise en dessous.
WinBoat, Wine/Proton ou Windows 11 ?
| Wine / Proton | WinBoat | Option Windows 11 | |
|---|---|---|---|
| Ce qui tourne | le programme Windows, sous Linux | un Windows complet dans un conteneur | Windows 11 Pro sur tout le serveur |
| GPU pour le programme | oui (OpenGL, Vulkan, DXVK) | non | oui (pilote Intel) |
| SuperTuxKart 1080p | environ 95 fps (Wine), 85 à 96 fps (Proton) | non lancé, pas de GPU | 111 fps |
| RAM réservée | seulement celle du programme | 4 Go pour Windows | tout le serveur |
| Installation | quelques minutes | 16 min, automatique | faite pour vous |
| Idéal pour | les jeux et programmes connus pour marcher | les applications de bureau et métier qui refusent Wine | tout le reste |
Notre conseil :
- Jeux : Wine ou Proton, sur le GPU. Voir Steam et Proton sur un serveur cloud GPU et les jeux Windows avec Wine.
- Une application Windows de bureau ou métier qui ne marche pas avec Wine : WinBoat (ou dockur/windows) convient, à condition de lui donner 4 Go de RAM et d’utiliser le bureau Windows complet sur un serveur.
- Tout le reste, ou un programme Windows qui a besoin du GPU : l’option Windows 11 (10 €, payés une seule fois), avec le pilote graphique d’Intel.
WinBoat a besoin de KVM dans votre serveur (virtualisation imbriquée). Il a fonctionné sur notre serveur de test ; demandez-nous par e-mail de vérifier qu’elle est activée sur le vôtre. Avec 4 Go pris par Windows, choisissez iGPU Power (4 vCPU, 14 Go de RAM) plutôt qu’iGPU Start (2 vCPU, 8 Go).
Envie d’un serveur prêt à l’emploi ? Demandez-le par e-mail à la commande (contact@linuxgpu.eu) : nous pouvons vous livrer le serveur avec Wine, WinBoat ou Steam déjà installés et réglés côté serveur.
Des systèmes prêts pour le jeu dès la livraison. Les systèmes que nous installons par défaut sont déjà préparés pour cela : Debian 13 avec un noyau récent (7.3), les pilotes GPU Intel et Mesa (OpenGL, Vulkan, encodage vidéo VA-API), et Windows 11 (option) avec le pilote graphique d’Intel et le Bureau à distance rendu par le GPU. Aucun pilote à chercher : installez votre jeu et Sunshine, et jouez.
Essayer
Voir les offres : iGPU Power coûte 29,99 € HT par mois, iGPU Start 14,99 €.