Table des matières

Wine

Présentation

Wine est une sorte de couche d'émulation des API Windows permettant de faire fonctionner la majorité des logiciels et jeux Windows sous Linux. (Valve a d'ailleurs inclus une version modifiée et améliorée de Wine dans Steam sous le nom de Proton (aussi appellé "Steam Play") qui permet de faire fonctionner une grande quantité de 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: Selon les statistiques de ProtonDB, 80% 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).

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)

Et vous devriez pouvoir faire tourner plus de 90% des jeux Windows.

Explications:

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

Le paquet physx (nécessaire pour une poignée de jeux) est cassé depuis Wine 9.5. Y compris dans Wine 10.
J'ai récemment eu des problèmes avec wine-staging (10.2). Je suis repassé à wine-stable.

Installation

Les guides d'installation pour les différentes distributions sont disponibles dans cette page: https://wiki.winehq.org/Download

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.

Voici une liste non exhaustive de jeux Windows que j'ai réussi à faire tourner sous Linux : Borderlands 3, Alien Isolation, Hellblade, Detroit:Become human, Cyberpunk 2077, 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 (1 et 2), 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…

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

Installation et mise à jour de GE-Proton dans Steam

GE-Proton est une version modifiée (et non officielle) de Proton intégrant des corrections et améliorations. Elle peut parfois permettre de faire passer des jeux qui ne passeraient pas avec les versions officielles de Proton. Elle dispose également d'un patch qui permet d'activer de force FSR pour gagner en performances (comme cela est fait sur le SteamDeck).

Vous devrez la télécharger manuellement, et l'installer dans Steam.

Instructions:

Et Proton-GE devrait apparaitre dans la liste des versions de Proton disponibles.

Note: il est également possible d'utiliser protonup et protonUp-Qt pour installer plus facilement GE-Proton et ses mises à jour.

Avec ProtonUp (https://davidotek.github.io/protonup-qt/)

Vous pouvez aussi utiliser une interface graphique à ce logiciel, ProtonUp-Qt : https://davidotek.github.io/protonup-qt/


Options de lancement de Proton/GE-Proton

Voici quelques options de lancement de Proton/GE-Proton et astuces pour résoudre des problèmes de lancement ou de performances. Notez que certaines directive sont spécifiques à NVidia, et certaines à GE-Proton (qui est une version de Proton "améliorée").

Les dernières versions de Proton Experimental (donc le Proton officiel de Valve) active désormais déjà par défaut la majorité des options ci-dessous (comme le fait de rendre NVAPI visible aux applications, ce qui permet d'accéder directement aux réglages DLSS). Les options ci-dessous ne sont donc plus franchement nécessaires: Vous pouvez choisir Proton Experimental et laisser les options de lancement vides.

Pour activer ces options dans Steam : Clic-droit sur un jeu, Propriétés, Général, options de lancement. Vous pouvez cumuler les options, par exemple:

DXVK_ASYNC=1 PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only %command%

Si vous avez des options de lancement spécifiques au jeu, mettez-les après %command%.

Et en complément :

Utilisez ces paramètres de lancement du jeu dans Steam:

WINE_FULLSCREEN_FSR=1 WINE_FULLSCREEN_FSR_MODE=performance %command%

Les valeurs acceptées pour WINE_FULLSCREEN_FSR_MODE sont : ultra, quality, balanced, performance. Ces qualités vont déterminer dans quelle résolution le jeu va calculer ses images avant de les "agrandir" par FSR jusqu'à la résolution de votre écran.

Par exemple si votre écran est en 1920x1080, il faudra régler le jeu dans ces résolutions en fonction du niveau de qualité (ces résolutions sont approximatives, les jeux vous proposeront des résolutions proches):

Voir https://gpuopen.com/fidelityfx-superresolution/#quality pour toutes les résolutions.

Notez que pour que FSR fonctionne, il est impératif que le jeu soit configuré en plein écran (et non "fenêtré plein écran").

Ces résolutions vous seront proposées dans les paramètres de chaque jeu quand vous serez en mode plein écran.

À titre d'exemple, voici ce que cela donne avec Portal 2 avec ces différents réglages. Notez particulièrement la dégradation des rayures sur les vitres (cliquez pour voir chaque image en plein écran ; pensez à cliquer une seconde fois pour demander au navigateur d'afficher l'image à sa taille réelle).

performance balanced quality ultra native
960x540 1136x939 1280x720 1472x828 1920x1080

Il faut bien se rendre compte qu'en mode performance le GPU n'aura calculé qu'un quart des pixels de l'image, et FSR aura "inventé" les trois quarts restants. Le résultat est assez exceptionnel quand on y pense (sur que FSR doit travailler en temps réel). Sur une image fixe on a tendance à se focaliser sur les détails, mais en cours de jeu on y fait nettement moins attention.

Histoire d'apprécier la qualité apportée par FSR par rapport à un simple agrandissement d'une image basse résolution, voici Portal 2 en 960x540 agrandi en 1920x1080 sans FSR. Comparez avec le réglage performance:

960x540 natif agrandi en 1920x1080 sans FSR

Histoire d'apprécier le gain de FSR même dans une résolution aussi basse, voici un zoom sur un détail :

960x540 natif agrandi en 1920x1080 sans FSR 960x540 agrandi en 1920x1080 avec FSR

On peut voir que FSR rend les bords plus nets et ajoute des détails dans les textures.

Notez que si le jeu supporte déjà nativement FSR ou DLSS (si vous avez une carte NVidia pour ce dernier), vous ne pourrez pas changer la résolution du jeu, mais vous verrez une option qui s'appelle généralement "Échelle de résolution". C'est elle qui vous permet de modifier le réglage qualité. Baissez l'échelle de résolution jusqu'à avoir un nombre d'images par seconde satisfaisant. (Par exemple ci-dessous, le réglage dans Stray qui supporte de lui-même DLSS):

Le FSR ou DLSS intégré aux jeux est généralement préférable à ce simple FSR activé de force sur l'image finale, car les jeux intègrent généralement des versions de FSR/DLSS qui prennent en compte les déplacements 3D, permettant à l'algorithme de produire une meilleure image.

Bien entendu, le rendu de FSR (ou DLSS) sera variable d'un jeu à l'autre. (Typiquement avec un jeu à cellshading comme Borderlands, le résultat ne sera généralement pas fameux.)

Liste (non exhaustive) des cartes compatibles avec FSR:


Lancement de jeux Windows non-Steam avec Proton

Il est possible de lancer les jeux hors Steam depuis Steam afin de profiter de Proton (si par hasard un de vos jeux refuse de fonctionner sous Wine). L'avantage de lancer un jeu de cette manière est que cela facilite également la détection des manettes.

Vous pouvez:

Notez que quand vous allez lancer le jeu, il y a de fortes chance que le bouton de lancement repasse immédiatement au vert. Laissez un peu de temps à l'ordinateur pour démarrer le jeu.

FAQ

Liens divers