Wine

Utiliser des applications Windows sur Mac et Linux

Il est possible d’utiliser des applications programmées pour Windows sur des systèmes Linux ou MacOS. Et ceci grâce à un logiciel, Wine.

L’émulation

Il existe différentes possibilités de faire tourner des applications Windows sur des systèmes différents. Simuler le fonctionnement d’une machine, avec tous ses composants, est quelque chose de bien connu des amateurs de retro-gaming. Le lecteur CD de la première Playstation, la définition d’écran faiblarde, voire les bugs graphiques (distorsions de textures), sont des éléments qui peuvent être reproduits (ou corrigés) par un logiciel qui va simuler la console d’origine.  Nous pouvons télécharger ou copier les CD originaux (images ISO) et les faire tourner sur des émulateurs (voire même utiliser notre propre lecteur CD pour faire tourner les jeux originaux).

Un émulateur prend beaucoup de ressources, et il est souvent compliqué de faire tourner des systèmes gourmands ou complexes (les dernières consoles à la mode).

Interface d'un logiciel d'émulation avec un jeu en route.
Émulation avec Duckstation

La virtualisation

Une autre possibilité est la virtualisation. À l’instar de l’émulation, la machine virtuelle ainsi créée utilisera le matériel disponible, et passera par des partie émulées si le matériel n’est pas disponible en double sur la machine hôte (carte son, réseau, carte graphique…). Les machines virtuelles permettent de simuler un système complet, faisant croire à un autre système d’exploitation (ou OS) qu’il est bien dans une machine physique. La virtualisation demande beaucoup de mémoire RAM (puisqu’il ne peut la partager), mais est plus rapide que les émulateurs. Un bémol, l’accélération graphique de votre système est rarement prise en compte et les jeux gourmands en 3D ne sont pas bien pris en charge (ou avec de très faibles performances).

Interface d'un logiciel de virtualisation sur Mac.
Un Mac virtualisant un Windows 10.

WINE n’est pas un émulateur

La dernière possibilité, c’est celle représentée par Wine (Wine Is Not an Emulator). Il s’agit de retranscrire les commandes d’un langage donné (et programmé pour un système) en un autre, compréhensible, par un autre système. Un exemple qui parle beaucoup aux joueurs est celui des instructions DirectX (exclusivement disponible sous Windows). Elles seront retranscrites par Wine en instructions OpenGL (compréhensibles par MacOS ou les distributions Linux). Wine reproduit aussi une architecture de dossiers et de fichiers avec des éléments natifs réutilisés par le programme. Potentiellement, Wine permet de faire tourner des applications très rapidement (entre 5 à 10% moins rapidement que leur système Windows en moyenne). Tout se fait de manière assez transparente, vous cliquez sur l’icône de l’application, elle se lance comme si elle était dans son environnement d’origine.

Quelques jeux tournant avec Wine sous Linux.

Wine aujourd’hui

Depuis le 24 janvier 2017, Wine est passé à la version 2.0. J’ai abordé les jeux, car c’est un exemple assez simple à expliquer, mais Wine peut très bien servir à faire tourner d’autres types d’applications. Photoshop, Microsoft Office, InDesign sont des applications qui manquent aux utilisateurs Linux et qui peuvent tourner grâce à Wine. À noter que le développement de Wine se fait grâce au projet commercial Codeweavers qui garanti le fonctionnement d’applications professionnelles avec Wine.

Crossover, l’application phare de Codeweavers

En 2017, la version 2.0 de Wine marque un tournant avec le support de nombreuses fonctionnalités héritées de DirectX 10 et 11. Cette version corrige quelques bugs et améliore le support des hautes résolutions. Sur MacOS, le support des applications 64 Bits est mis en avant. Tous les changements sont disponibles ici.

[Mise à jour 2022]
Depuis que Valve est entré dans le développement de Wine avec la surcouche maison Proton. De nombreux jeux tournent très bien sur Linux (près de 7000 en 2022 sur leur console SteamDeck !).

Valve et la console SteamDeck