Wine est une couche d'émulation des API Windows permettant de faire fonctionner la majorité des logiciels et jeux Windows sous Linux. Est-ce que votre logiciel ou jeu fonctionnera dans Wine ? C'est un peu la loterie, il n'y a pas de garantie. Mais la majorité passent sans problème: Près de 90% des jeux Windows fonctionnent sous Linux.
Cette page est un guide pour installer, configurer et utiliser Wine. Un petit guide complémentaire pour Proton est fourni en fin de document.
L'avantage de cette solution par rapport à des machines virtuelles (VMware, VirtualBox):
L'inconvénient étant que Wine n'émule pas Windows dans sa totalité, et certains programmes spécifiques peuvent ne pas tourner (en particulier les jeux contenant des systèmes anti-triche, qui très souvent ne fonctionnent absolument pas dans Wine).
Je vous propose deux solutions:
Ces deux solutions fonctionne hors de Steam.
Note : Il existe des wrappers, c'est à dire des logiciels qui encapsulent Wine dans une interface graphique, comme Bottles,Lutris, PlayOnLinux, GameHub ou MiniGalaxy. Ils sont tous basés sur Wine. Dans cette page, nous allons utiliser purement Wine sans ces logiciels.
winetricks vcrun2022 winetricks dxvk winetricks vkd3d winetricks corefonts winetricks xna40
wine reg.exe ADD "HKEY_CURRENT_USER\Software\Wine\X11 Driver" /v UseTakeFocus /t REG_SZ /d N /f
~/.bashrc
:export WINEFSYNC=1
Vous êtes maintenant paré•e pour faire tourner près de 90% des jeux Windows.
Voici une liste non exhaustive de jeux Windows que j'ai réussi à faire tourner sous Linux : Borderlands 2 et 3, Alien Isolation, Hellblade, Detroit:Become human, Doom Eternal, StarWars Fallen Order, Ratchet & Clank : Rift apart, Mirror's Edge Catalyst, Mass Effect Legendary Edition, The Invincible, Death Stranding, Life is Strange, Control, The Talos Principle, Call of the sea, Chernobylite, Cities Skylines, Crash Bandicoot NSaneTrilogy, Deadlight Director's Cut, Deep Rock Galactic, Disco Elysium Director's Cut, Eastward, Endless Space 2, Event[0], Factorio, Hades, Hob, Humanity, illWill, Inside, Journey, Katana Zero, Lego Builder's Journey, Maquette, Metro Exodus, Minecraft Legends, Narita Boy, Necromunda Hired Guns, Noita, No Man's Sky, Observation, Omno, Outer Wilds, Oxenfree, Oxygen Not Included, Pikuniku, Planet of Lana, Portal, Portal 2, Prey, Prodeus, RainWorld, Rayman Origins, RiME, RtypeFinal 2, Sable, Satisfactory, Scorn, Severed Steel, Shadow Warrior 2, SOMA, STALKER (les 3 épisodes), Stardew Valley, Stray, Subnautica, Le donjon de Naheulneuk, The Entropy Centre, The Stanley Parable, The Universim, The Wandering Village, The Witness, Tinkertown, Tinykin, Tunic, Ultrakill, Unpacking, Untitled Goose Game, Viewfinder, Void Bastards, Wasteland 2 Director's Cut, We love Katamari Reroll Royal, What remains of Edith Finch, XEL, Ynglet…
Explications des commandes:
reg.exe
: Dans certains jeux, le fait de basculer de fenêtre (Alt+Tab ⇆) et revenir au jeu fait que le clavier ne répond plus. Cette commande évite le problème.export WINEFSYNC=1
active fsync dans Wine (désactivé par défaut), ce qui améliore les performances dans les jeux (cette option est activée par défaut dans Proton). (Au démarrage d'une application, Wine doit alors afficher fsync: up and running.
. Notez qu'il faut que notre noyau Linux le supporte, mais cela devrait être le cas depuis le 5.13.)Avec ça, vous devriez être paré⋅e.
Les guides d'installation pour les différentes distributions sont disponibles dans cette page: https://wiki.winehq.org/Download
Pour bien cerner les termes:
~/.wine
). Les applications Windows voient ~/.wine/drive_c
comme le disque C:.Nous allons expliciter l'installation pour Ubuntu ci-dessous:
Il est possible d'installer Wine:
Je vous recommande chaudement d'installer depuis les dépôts de WineHQ, car vous bénéficierez des toutes dernières versions. L'équipe de WineHQ travaille vite et publie plusieurs versions par an améliorant la compatibilité avec les jeux.
Nous allons décrire ici l'installation pour Ubuntu 24.04 (et Linux Mint 22.x):
sudo apt purge wine*
sudo dpkg --add-architecture i386
sudo mkdir -pm755 /etc/apt/keyrings wget -O - https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key -
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/noble/winehq-noble.sources
sudo apt update
sudo apt install --install-recommends winehq-staging winetricks
sudo apt install aptitude sudo aptitude install winehq-staging winetricks --with-recommends
Une fois Wine installé, il est nécessaire de préparer les préfixes.
Un "préfixe" (dans le vocabulaire de Wine) est un répertoire dans lequel Wine aura préparé un ensemble de fichiers nécessaires au lancement des applications Windows. Ces répertoires ont la même structure qu'un disque Windows: Si vous avez créé un préfixe ~/.wine
, vous trouverez par exemple les programmes Windows installés dans ~/.wine/drive_c/Program Files
.
Vous pouvez créer autant de préfixes que vous voulez (si vous voulez séparer vos installations), mais cela prendra plus de place. Dans cette page, nous utiliserons un unique préfixe. Wine utilise par défaut le répertoire .wine
dans votre répertoire personnel.
Nous allons donc préparer le répertoire ~/.wine
. Il est nécessaire de préparer ce répertoire pour chaque utilisateur de la machine. Cette préparation n'est à faire qu'une seule fois.
On re-créé donc un préfixe Wine tout propre:
rm -rf ~/.wine wineboot
Lors de cette préparation, Wine voudra peut-être télécharger des fichiers. Répondez "oui" quand il vous pose la question.
Certaines applications et jeux ont besoin de runtimes et DLL supplémentaires pour fonctionner: DotNet, DirectX, Microsoft C++ Runtimes, etc.
Il y a 3 packages qui permettent de faire tourner 80% des jeux. Ces packages sont vcrun2022, dxvk et vkd3d. Ces packages ne sont à installer qu'une fois.
winetricks vcrun2022
Cela va installer les DLL Microsoft Visual C++ (2015 à 2022) nécessaires à énormément de jeux, ainsi qu'à des moteurs 3D comme l'Unreal Engine (utilisé par beaucoup de jeux). Notez que 2 installeurs seront lancés: celui 32 bits (x86) et celui 64 bits (x64). Il vous faudra cliquer pour accepter l'installation.
winetricks dxvk
Cela va installer dxvk qui permet aux jeux Windows conçus pour DirectX 9/10/11 de fonctionner directement avec votre carte graphique (pour peu qu'elle soit compatible Vulkan sous Linux, ce qui doit être le cas de plus de 90% des cartes graphiques).
winetricks vkd3d
La même chose pour les jeux DirectX 12.
-dx11
ou -dx12
pour forcer une version de DirectX (c'est le cas de Satisfactory). D'autres fois, c'est sélectionnable dans les menus (c'est le cas de Borderlands 3).
Certain jeux dépendent d'autres modules. Je pense en particulier à un framework de chez Microsoft, XNA. Si un jeu ne passe pas, vous pouvez éventuellement ajouter:
winetricks xna40
Vous aurez quelques fenêtres d'installation à valider. Et essayez de relancer le jeu.
Si vous tombez sur un jeu dont les menus n'affichent pas de texte (par exemple Star Valor), essayez:
winetricks corefonts
(Cette installation prendra un certain temps.)
Certains lanceurs (comme ceux de Trine) peuvent aussi afficher des zones blanches pour le texte. Dans ce cas, repassez votre bureau Linux en thème clair standard et relancez le jeu.
Si le logiciel/jeux possède un installeur, lancez-le simplement avec:
wine installeur.exe
Notez bien que pour les applications et installeurs Windows:
~/.wine/drive_c
/
(la racine de votre système Linux).~/apps
, donc j'installe les applications Windows dans Z:\home\sebsauvage\apps\
).
Par la suite, pour lancer l'application, faites (là où est installée l'application):
wine application.exe
Il est possible que le jeu dépende d'autres packages/DLL. Il n'est pas toujours facile d'identifier les runtimes manquants, mais winetrick vous simplifiera grandement l'installation de ces librairies.
Par exemple, certains logiciels ont besoin de DotNet:
winetricks dotnet40
Pour voir la liste de package winetricks installables:
winetricks dlls list
Vous y retrouverez: Adobe Air, DirectX, DotNet, Adobe Flash, Internet Explorer 6/7/8, contrôle MS RichEdit, QuickTime, Shockwave, MS Visual Basic 2/3/4/5/6 runtime, MS Visual C++ runtimes librairies (vcrunXXXX), XNA…
Pour lister les runtimes déjà installés:
winetricks list-installed
Notes:
sudo winetricks --self-update
winetricks -f dxvk
En particulier, dxvk et vkd3d sont en développement actif : Ils ont plusieurs nouvelles versions par an.
winetricks uninstaller
Et choisissez l'application à dé-installer. Vous pouvez ainsi déinstaller les jeux/logiciels installés, ainsi que les runtimes que vous avez installés.
Proton est une version modifiée de Wine intégrée au client Steam Linux. Par défaut, il n'est actif que sur quelques titre spécifiquement testés par Valve, mais il est possible de forcer l'activation pour tous les jeux (sans bien sûr la garantie qu'il fonctionne avec tous les jeux).
Pour effectuer cette activation:
Vous pouvez alors installer et lancer les jeux Windows.
Notez que plusieurs versions de Proton vous sont proposées. D'une manière générale, il vaut mieux choisir la version la plus récente. C'est elle qui sera utilisée par défaut.
Il peut arriver que certains jeux fonctionnent mieux avec d'anciennes versions de Proton. Dans les propriétés de chaque jeu, vous pouvez forcer la version de Proton. À vous d'essayer plusieurs versions de Proton pour faire passer un jeu.
GE-Proton est une version modifiée de Proton comportant des patchs supplémentaires. Proton est lui-même un dérivé de Wine, possédant des patchs supplémentaires. Il peut être intéressant d'essayer les jeux avec Proton au lieu de Wine, en particulier les jeux récents DirectX 12 si vous avez de mauvaises performances sous Wine ou si le jeu ne démarre pas.
GE-Proton est conçu pour être utilisé dans Steam, mais umu-launcher permet de l'utiliser en dehors de Steam.
Nous allons utiliser 2 logiciels:
Instructions:
~/GE-Proton
)~/GE-Proton/GE-Proton9-27/
~/Talos2/TheTalosPrinciple2_win_wine/
: Le jeu lui-même (Placez le jeu dans son propre sous-répértoire).~/Talos2/pfx
: Son préfixe (c'est là que le jeu va mettre ses sauvegardes).~/Talos2/
(cela n'est à faire qu'une seule fois):#!/usr/bin/env bash mkdir -p ./pfx export WINEPREFIX=$(readlink -f ./pfx) export GAMEID=0 export PROTONPATH=$(readlink -f "$HOME/GE-Proton/GE-Proton9-27/") umu-run winetricks -q win10 # Simuler une machine Windows 10 umu-run winetricks vcrun2022
~/Talos2/
. Utilisez ce script chaque fois que vous voulez lancer le jeu:#!/usr/bin/env bash mkdir -p ./pfx export WINEPREFIX=$(readlink -f ./pfx) export GAMEID=0 export PROTONPATH=$(readlink -f "$HOME/GE-Proton/GE-Proton9-27/") cd "TheTalosPrinciple2_win_wine" umu-run $(readlink -f "Talos2.exe")
runtimes.sh
pour installer d'autres composants (corefonts, xna40, etc.)
Sur ma RTX3070, mes jeux DirectX 12 qui avaient de mauvaises performances sous Wine+vkd3d ont maintenant d'excellente performances dans GE-Proton : STALKER 2, The Talos Principle 2, Age of Wonders 4, Avowed…