Wine débarque sur OpenBSD, et même The Witcher 3 (Remastered) tourne dessus
OpenBSD affiche fièrement sur sa page d'accueil un bilan de deux failles exploitables à distance dans son installation par défaut "en un sacré bout de temps".
Soyons honnêtes : ce n'est pas franchement le genre d'OS sur lequel on s'attend à lancer des .exe Windows. C'est pourtant ce qu'il sait faire désormais, jusqu'au remaster de The Witcher 3 sorti fin septembre !
Thomas Frohwein, l'un de ses développeurs, a présenté dimanche ce qui est peut-être, selon lui, la proposition de port la plus surprenante de l'année : Wine, la couche de compatibilité qui fait tourner les programmes Windows sous Unix.
Un premier port avait été retiré en 2011 du catalogue des ports d'OpenBSD, qui rassemble les logiciels tiers adaptés au système. Le message de commit ne s'embarrassait pas de diplomatie : le développement était au point mort, et le port ne fonctionnait de toute façon pas.
Quinze ans plus tard, Wine y a fait son retour dans la foulée de l'annonce.
Planter pour mieux sauter
Pour lancer un programme Windows 64 bits sur OpenBSD, Wine bute d'abord sur un registre du processeur, %gs. Sous Windows, il pointe vers une structure qui décrit le thread en cours d'exécution, et que les programmes consultent régulièrement.
Sous Linux, où Wine et Proton font tourner la grande majorité des jeux Windows, Wine fait pointer ce registre vers sa propre version de cette structure.
OpenBSD ne le permet pas : le registre y reste à zéro, chaque instruction qui s'en sert va lire une adresse interdite, et le programme plante.
La parade d'Andrii Yukhymchak, l'un des deux développeurs qui ont abattu l'essentiel du travail, consiste justement à laisser le programme planter. Wine intercepte l'erreur, décode l'instruction fautive et en écrit ailleurs une version équivalente sans %gs, qui vise directement la bonne structure.
Quand la place le permet, l'instruction d'origine est ensuite remplacée par un saut vers sa doublure, pour ne pas planter deux fois au même endroit.
Ce seul correctif a suffi, selon lui, à faire tourner Notepad++ et toute une série de jeux, à commencer par Factorio (avec le son en vrac, mais on ne va pas chipoter).

Le développeur ne s'en cache pas : une IA l'a aidé à trouver une approche qui marche et à apprendre à décoder ces instructions.
Le code final, il l'a écrit lui-même, par respect pour ce qu'il présente comme les règles de Wine et d'OpenBSD : pas de code généré par IA.
Le 32 bits peut aller se rhabiller
L'équipe dit avoir testé plusieurs dizaines de logiciels Windows 64 bits, la plupart avec succès. Le remaster de The Witcher 3 en fait partie, à condition d'installer en plus vkd3d-proton, qui traduit les appels Direct3D 12 du jeu en Vulkan.

Thomas Frohwein a même pris soin de préciser, dans le titre de sa vidéo, que ce n'est pas une blague. Hollow Knight a lui aussi eu droit à sa démonstration.
Les programmes 32 bits, en revanche, restent à quai : WoW64, le mécanisme qui permet à Windows comme à Wine de les faire tourner sur un système 64 bits, ne fonctionne pas sur OpenBSD.
Pour savoir à quoi s'en tenir avec un .exe, la commande file suffit : si elle répond quelque chose comme Intel 80386 32-bit, inutile d'insister.
L'absence du 32 bits gêne moins qu'il y a cinq ou dix ans : une bonne partie des logiciels Windows sont depuis passés au 64 bits, et Thomas Frohwein y voit la raison du regain d'intérêt pour Wine.
À consommer avec modération
Restent des soucis de stabilité sur les jeux 3D les plus gourmands, et des correctifs qu'OpenBSD devra sans doute maintenir seul, leur intégration dans Wine n'étant pas au programme.
D'après Andrii Yukhymchak, les mainteneurs de Wine hésitaient déjà à accepter de simples patchs pour compiler sur OpenBSD. Son correctif %gs, qui réécrit le code des programmes Windows en mémoire, n'a, lui, aucune chance d'être intégré.
Le développeur prévient aussi que Steam, qui vous regarde jouer pour compter vos heures, va complètement à l'encontre du modèle de sécurité d'OpenBSD.
Dernière recommandation de Thomas Frohwein : lancer Wine sous un utilisateur dédié, sans privilèges. L'équipe veut encore voir si elle peut mieux le cloisonner, par exemple avec unveil, l'appel système d'OpenBSD qui limite les fichiers auxquels un programme a accès.
La précaution n'a rien de superflu : la FAQ de Wine prévient elle-même qu'un malware Windows y tourne comme n'importe quel autre programme, avec accès à tous les fichiers de l'utilisateur qui le lance.
À propos de l'auteur
Nicolas Lecointre
Fondateur des Joies du Code, je suis l'actualité et la culture des développeurs depuis 2012. Ancien développeur, je me consacre aujourd'hui entièrement au média.
Offres d'emploi
À lire également
Tech Show Paris 2026 : DevOps Live et quatre autres salons pour un seul badge gratuit, les 18 et 19 novembre
Les 18 et 19 novembre 2026, Tech Show Paris souffle sa 10ème bougie à Paris Expo Porte de Versailles, avec la recette qui fait sa marque : un seul badge...
Articles similaires
Noyé sous les rapports bidon de l'IA, Google suspend son programme de bug bounty open source
Deno rejoint Cloudflare, et son runtime JavaScript n'a plus qu'un an à vivre
L'industrie du disque demande à l'Europe de ficher yt-dlp comme un vulgaire site pirate
Noyé sous les rapports bidon de l'IA, Google suspend son programme de bug bounty open source
Le Démineur de Windows a enfin droit à son reboot AAA
Plus de contenu
Quand j'ai placé un if ternaire dans mon code
Quand le lead dev vient me voir pour m'aider à corriger un bug
Quand je lance mes tests de non-régression
Quand le spécialiste sécurité essaie de pentester mon application
Quand le commercial tente de vendre une nouvelle fonctionnalité au client
Quand mes vacances me font échapper à une mise en prod très probablement désastreuse
git push origin -f
Quand le stagiaire me fait une démo de ce qu'il a codé en mon absence
Quand j'ai placé un if ternaire dans mon code
Quand le lead dev vient me voir pour m'aider à corriger un bug
Quand je lance mes tests de non-régression
Quand le spécialiste sécurité essaie de pentester mon application

