Wine 5.0 est sorti

Le 21 janvier 2020 a eu lieu la sortie officielle de la version stable de Wine 5.0 , l'outil gratuit pour lancer des programmes Windows natifs dans un environnement UNIX. Il s'agit d'une implémentation alternative gratuite de l'API Windows. L'acronyme récursif WINE signifie «le vin n'est pas un émulateur».

Cette version a environ un an de développement et plus de 7400 modifications individuelles. Le développeur principal Alexander Julliard en identifie quatre:

  • Prise en charge des modules au format PE. Cela résout les problèmes avec différents schémas de protection contre la copie qui vérifient les modules système sur disque et en mémoire.
  • Prise en charge de plusieurs moniteurs et plusieurs GPU, y compris la modification dynamique des paramètres.
  • Réimplémentation de XAudio2 basée sur le projet FAudio, une implémentation open source des bibliothèques de sons DirectX. Le passage à FAudio vous permet d'obtenir une qualité sonore supérieure dans les jeux, d'utiliser le mixage du volume, des effets sonores avancés, etc.
  • Prise en charge de Vulkan 1.1.

Plus de détails sur les principales innovations.

Modules PE


Avec le compilateur MinGW, la plupart des modules Wine sont désormais compilés au format PE (Portable Executable, Windows binary) au lieu d'ELF.

Les exécutables PE sont désormais copiés dans le ~/.wine au lieu d'utiliser des DLL factices, ce qui rend les applications plus proches des installations Windows réelles.

Jusqu'à présent, tous les modules n'ont pas été convertis au format PE. Le travail continue.

Sous-système graphique


Comme mentionné ci-dessus, la prise en charge de l'utilisation de plusieurs moniteurs et adaptateurs graphiques a été ajoutée.

Pilote Vulkan mis à jour vers les spécifications Vulkan 1.1.126.

De plus, la bibliothèque WindowsCodecs prend désormais en charge des formats raster supplémentaires, y compris des formats de palette indexés.

Direct3d


Les applications plein écran Direct3D bloquent désormais l'appel de l'économiseur d'écran.

Pour les applications DXGI, il est possible de basculer entre les modes plein écran et fenêtré en utilisant la combinaison Alt + Entrée standard.

Les fonctionnalités de Direct3D 12 sont étendues: prise en charge du basculement entre les modes plein écran et fenêtre, modification des modes d'écran, mise à l'échelle des vues et remplacement de l'intervalle de permutation. Toutes ces fonctionnalités ont déjà été implémentées pour les versions précédentes de l'API Direct3D.

Les participants au projet ont soigneusement élaboré et éliminé littéralement des centaines de bogues, de sorte que le traitement de Wine pour diverses situations frontalières a été amélioré. Parmi eux, l'échantillonnage des ressources 2D dans les échantillonneurs 3D et vice versa, l'utilisation de valeurs initiales hors plage pour les tests de transparence et de profondeur, le rendu avec des textures et des tampons réfléchis, l'utilisation de clippers incorrects (objet DirectDraw), et bien plus encore.

Réduction de la taille de l'espace d'adressage requis lors du chargement de textures 3D compressées par la méthode S3TC (au lieu de charger, les textures entières sont chargées avec des morceaux).

Pour les anciennes applications DirectDraw, diverses améliorations et corrections liées au calcul de l'éclairage ont été apportées.

La base de cartes graphiques reconnues dans Direct3D a été élargie.

Réseau et cryptographie


Moteur Gecko mis à jour vers la version 2.47.1 pour prendre en charge les outils modernes. Un certain nombre de nouvelles API HTML ont été mises en œuvre.

MSHTML implémente la prise en charge des éléments SVG.

De nombreuses nouvelles fonctions VBScript ont été ajoutées (par exemple, les gestionnaires d'erreurs et d'exceptions).

Implémentation de la possibilité d'obtenir des paramètres de proxy HTTP via DHCP.

Dans la partie cryptographique, la prise en charge des clés cryptographiques basées sur des courbes elliptiques (ECC) via GnuTLS est implémentée, la possibilité d'importer des clés et des certificats à partir de fichiers au format PFX est ajoutée, la prise en charge du schéma de génération de clés basé sur le mot de passe PBKDF2 est ajoutée.


Adobe Photoshop CS6 sous Wine

Autres innovations importantes


  • Prise en charge des verrous tournants du noyau NT.
  • En raison de l'expiration du brevet pour la compression de texture, DXTn et S3, il est devenu possible de les inclure dans l'implémentation par défaut.
  • Prise en charge de l'installation de pilotes plug-and-play.
  • Diverses améliorations de DirectWrite.
  • Prise en charge améliorée de l'API Windows Media Foundation.
  • Meilleure synchronisation primitive grâce à l'implémentation sur les futex.
  • Partage de Wine-Mono pour économiser de l'espace au lieu de l'implémentation open source .NET pour chaque ~/.wine .
  • Prise en charge d'Unicode 12.0 et 12.1.
  • L'implémentation du service HTTP initial (HTTP.sys) en remplacement de l'API Winsock et d'IIS, résultant en de meilleures performances que l'API Windows Sockets.
  • Meilleure compatibilité avec les débogueurs Windows.
  • Meilleure prise en charge de LLVM MinGW et amélioration de la compilation croisée de WineGCC.

Vous pouvez également mentionner les améliorations de l'interface utilisateur. Par exemple, les fenêtres réduites sont désormais affichées à l'aide de la barre de titre, plutôt que des icônes de style Windows 3.1. Prise en charge améliorée des contrôleurs de jeu, y compris le commutateur de chapeau, le volant et les pédales.

Les décodeurs AVI, MPEG-I et WAVE intégrés ont été supprimés de Wine, au lieu desquels le système GStreamer ou QuickTime sont maintenant utilisés.

Ajout de la possibilité d'utiliser le débogueur de Visual Studio pour le débogage à distance des applications s'exécutant dans Wine, la bibliothèque DBGENG (Debug Engine) est partiellement implémentée, la dépendance à libwine est supprimée des fichiers collectés pour Windows.

Pour optimiser les performances, diverses fonctions de travail ont finalement été transférées à l'utilisation de fonctions système hautes performances pour travailler avec une minuterie, ce qui a permis de réduire les frais généraux dans le cycle de rendu de nombreux jeux. D'autres optimisations de performances ont été apportées.

Voir la liste complète des changements ici .

Code source de Wine 5.0 , miroir
Binaires pour diverses distributions
La documentation

Le site Web AppDB gère une base de données d'applications compatibles Windows compatibles avec Wine. Voici les leaders en nombre de votes :

  1. Final Fantasy XI
  2. Adobe Photoshop CS6 (13.0)
  3. World of Warcraft 8.3.0
  4. EVE Online Current
  5. Magic: The Gathering Online 4.x

On peut supposer que ces applications s'exécutent le plus souvent dans Wine.

Remarque La version Wine 5.0 est dédiée à la mémoire de Józef Kucia, décédé tragiquement en août 2019 à l'âge de 30 ans alors qu'il explorait une grotte dans le sud de la Pologne. Jozef a été un contributeur important à Direct3D Wine et un des principaux auteurs du projet vkd3d . Tout en travaillant sur Wine, il a contribué plus de 2500 patchs.

Source: https://habr.com/ru/post/fr484972/


All Articles