Wine s’ouvre à Vulkan et Apple Silicon

Wine 6.0

La version 6.0 de Wine introduit une prise en charge expérimentale du back-end Vulkan et des puces Arm d’Apple.

Exit le PowerPC 32 bits, place à Apple Silicon. La nouvelle version majeure de Wine (6.0, tout juste publiée) ne prend plus en charge la première de ces architectures*. Et apporte un support expérimental de la seconde.

Les bibliothèques qui constituent son cœur fonctionnel (NTDLL, KERNEL32, USER32…) sont désormais livrées au format PE (exécutable portable).
Il est possible d’associer une bibliothèque UNIX à un module PE pour exploiter des fonctions que ne gèrent pas les API Win32.

Autre support expérimental : celui de Vulkan comme back-end WineD3D. Il s’ajoute à GDI et à OpenGL (utilisé par défaut). La prise en charge se limite pour le moment aux applications Direct3D 10 et 11. Avec pour ce dernier, l’implémentation de l’anticrénelage multiéchantillon et des états indépendants pour l’alpha blending.

Toujours sur le volet graphique, on notera aussi, entre autres :

  • L’implémentation de l’interface ID3DXFont pour le rendu de texte
  • La possibilité de dessiner arcs, ellipses et rectangles arrondis avec l’API Direct2D
  • L’utilisation du pilote d’affichage Null lorsqu’une interface utilisateur n’est pas nécessaire
  • La prise en charge, avec WindowsCodecs, du décodage JPEG-XR et de l’encodage en GIF
  • L’implémentation plus complète du framework Media Foundation

Wine 6.0, c’est aussi une refonte de la console texte basée sur l’architecture des dernières versions de Windows. Sa gestion se fait dorénavant dans le processus ConHost (WineConsole n’est plus qu’un wrapper).

La gestion des périphériques de saisie évolue aussi. Tout comme celle de l’interface USB et du plug & play.
Sur la volet réseau, l’API WebSocket est de la partie. On relèvera par ailleurs l’implémentation (initiale) du pilote NDIS et celle de NetIO.sys. Ainsi que des améliorations sur Active Directory.

* Au niveau des architectures, Wine 6.0 met Arm au niveau de x86 pour la gestion des exceptions et le déroulement de pile.