Table des matières

Wine

Présentation

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.

Pour être tout à fait exacte, Wine n'est pas un émulateur ("WINE" = "Wine Is Not an Emulator"). Wine n'émule pas Windows, mais exécute directement les exécutables Windows, et redirige les appels des API Windows vers les API Linux (par exemple DirectX vers OpenGL/Vulkan).

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:

  • Wine fonctionnera pour 90% des jeux.
  • Pour les jeux récents sur les cartes graphiques récentes, GE-Proton pourra être une alternative intéressante.

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.


Installation (VERSION COURTE)

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:

Avec ça, vous devriez être paré⋅e.

Si vous avez des problèmes de performances (en particulier avec les jeux DirectX 12) ou des jeux qui ne démarrent pas, je vous recommande d'essayer avec GE-Proton au lieu de Wine.
Le paquet physx (nécessaire pour une poignée de jeux) est cassé depuis Wine 9.5. Y compris dans Wine 10. Il est rare que les jeux l'exigent (c'est souvent optionnel) et certain le fournissent avec le jeu. Cela ne devrait donc poser problème que dans moins de 1% des jeux.
J'ai récemment eu des problèmes avec wine-staging (10.2). Je suis repassé à wine-stable.

Installation (version détaillé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:

Nous allons expliciter l'installation pour Ubuntu ci-dessous:

Ubuntu

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):

Si vous avez une version d'Ubuntu plus ancienne que la 20.04:

Si vous avez une version d'Ubuntu plus ancienne que la 20.04:


Une fois Wine installé, il est nécessaire de préparer les préfixes.


Préparation des 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.

Il est possible de créer des préfixes 32 et 64 bits. Depuis quelques versions, Wine créé par défaut un préfixe 64 bits. Avec les évolutions de Wine et winetricks, il n'est plus vraiment nécessaire de créer des préfixes 32 et 64 bits séparés: La majorité des applications 32 bits tournent sans problème dans un préfixe 64 bits. Si vraiment vous voulez créer des préfixes séparés, voir l'ancienne page.

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.

Si vous aviez déjà des préfixes avec des logiciels installés dedans, sauvegardez-les car nous allons les effacer. Si vous aviez des sauvegarde de jeux Windows, elles sont probablement stockées dedans.

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.

Installation de runtimes supplémentaires

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.

Je sais que winetricks permet d'installer plusieurs packages à la fois, mais certains bugs de téléchargement semblent survernir quand on fait cela. Je vous recommande d'utiliser winetricks pour installer un seul package à la fois comme ci-dessus.
La plupart des jeux sont créés pour une version spécifique de DirectX. La vaste majorité des jeux utilisent DirectX 9/10/11, donc dxvk doit suffir dans la plupart des cas. Notez que certains jeux sont capables de fonctionner avec DirectX 11 ou 12 (par exemple: Borderlands 3 ou Satisfactory). Si cela ne marche pas en 12, essayez en 11 (et inversement). Très souvent, ces jeux acceptent de démarrer avec une option -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).
Ces 3 packages winetricks (vcrun2022, dxvk et vkd3d) devraient vous permettre de faire fonctionner plus de 80% des jeux.

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.


Installation des logiciels

Si le logiciel/jeux possède un installeur, lancez-le simplement avec:

wine installeur.exe
Si l'installeur du jeu vous propose d'installer DirectX ou les "Microsoft Visual C++ Runtime", pensez à bien décocher ces options, car il est préférable de les installer via winetricks (comme vu ci-dessus).

Notez bien que pour les applications et installeurs Windows:

Notez que vous n'avez absolument pas l'obligation d'installer les applications Windows dans C: (c'est à dire ~/.wine…): Vous pouvez les mettre ailleurs (Personnellement, j'ai un dossier ~/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:

En particulier, dxvk et vkd3d sont en développement actif : Ils ont plusieurs nouvelles versions par an.


Déinstallation des applications

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.


Astuces

Activation de Proton dans Steam pour tous les jeux

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.

Après avoir forcé la version de Proton sur un jeu, il est possible que Steam re-télécharge des fichiers ou que le bouton de lancement du jeu affiche "Mettre à jour". Cliquez dessus. Il est également possible que lors du lancement du jeu Steam décider d'installer les dépendances nécessaires (DirectX, msvcrt…). Cela peut prendre un certain temps.
Astuce: Si vous avez des jeux natifs Linux dans Steam qui ne démarrent pas, forcez l'utilisation de Proton ! Vous utiliserez alors la version Windows de ces mêmes jeux.
Astuce: Certains jeux existent dans Steam pour Linux et Windows. Il peut être intéressant d'essayer la version Windows de votre jeu, car parfois les versions Windows sont mieux maintenues que les versions Linux et il est possible que vous ayez de meilleures performances avec les versions Windows des jeux (C'est flagrand pour Borderland 2 par exemple, dont la version Windows est beaucoup plus fluide que la version Linux).

Lancement de jeux Windows non-Steam avec Proton

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.

Notez que comparativement à la solution Wine, GE-Proton met l'accent sur les performances et les jeux récents au détriment de la compatibilité avec les anciennes cartes graphiques.

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:

Notez que si le jeu exige d'autres runtimes, vous pouvez réutiliser le script 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


FAQ

Liens divers