Version stable de Wine 8.0.

Après un an de développement et 28 versions expérimentales, la version stable de l'implémentation open source de l'API Win32 — Wine 8.0, qui comprend plus de 8600 modifications, a été présentée. L'achèvement du travail de conversion des modules Wine au format est une réalisation clé de cette nouvelle version.

Wine prend en charge un total de 5266 programmes Windows (contre 5156 l'année dernière et 5049 il y a deux ans), tandis que 4370 (4312 l'année dernière, 4227 il y a deux ans) fonctionnent parfaitement avec des ajustements supplémentaires et des DLL externes. Pour 3888 programmes (3813 l'année dernière, 3703 il y a deux ans), de légers problèmes de fonctionnement sont observés, mais ils n'entravent pas l'utilisation des fonctionnalités principales des applications.

Les nouveautés clés de Wine 8.0 :

  • Modules au format PE
    • Après quatre ans de travail, la conversion de toutes les bibliothèques DLL vers le format de fichiers exécutables PE (Portable Executable, utilisé sous Windows) est complètement achevée. L'utilisation du format PE permet d'employer les débogueurs disponibles pour Windows et résout les problèmes liés à la prise en charge de divers systèmes de protection contre la copie, qui vérifient l'identité des modules système sur le disque et en mémoire. Les problèmes d'exécution des applications 32 bits sur des hôtes 64 bits et des applications x86 sur des systèmes ARM ont également été résolus. Parmi les tâches restantes qui seront abordées dans les futures versions expérimentales de Wine 8.x, on note la conversion des modules vers l'interface des appels système NT au lieu d'effectuer des appels directs entre les niveaux PE et Unix.
    • Un gestionnaire spécial des appels système a été implémenté, utilisé pour traduire les demandes des bibliothèques PE en bibliothèques Unix dans le but de réduire les frais généraux lors de l'exécution d'un appel système NT complet. Par exemple, l'optimisation mise en œuvre a permis de réduire la chute de performances lors de l'utilisation des bibliothèques OpenGL et Vulkan.
    • Dans les applications Winelib, la possibilité d'utiliser des assemblages mixtes de bibliothèques Windows/Unix au format ELF (.dll.so) est maintenue, mais de telles applications ne prendront pas en charge les fonctionnalités accessibles via l'interface des appels système NT, telles que WoW64, sans bibliothèques 32 bits.
  • WoW64
    • Pour toutes les bibliothèques Unix, des couches WoW64 (Windows-on-Windows 64 bits) sont disponibles, permettant aux modules 32 bits au format PE d'accéder aux bibliothèques Unix 64 bits. Cela permettra l'exécution d'applications Windows 32 bits sans l'installation des bibliothèques Unix 32 bits après avoir éliminé les appels directs PE/Unix.
    • En l'absence d'un chargeur Wine 32 bits, l'exécution d'applications 32 bits est assurée dans un nouveau mode expérimental semblable à Windows, WoW64, dans lequel le code 32 bits s'exécute à l'intérieur d'un processus 64 bits. Ce mode est activé lors de la compilation de Wine avec l'option ‘--enable-archs’.
  • Sous-système graphique
    • La configuration par défaut utilise un thème clair (« Light »). Le thème peut être modifié à l'aide de l'outil WineCfg.
      Version stable de Wine 8.0.
    • Les pilotes graphiques (winex11.drv, winemac.drv, wineandroid.drv) ont été adaptés pour exécuter les appels système au niveau Unix et pour accéder aux pilotes via la bibliothèque Win32u.
      Version stable de Wine 8.0.
    • Une architecture de gestion des sorties d'impression (Print Processor) a été mise en œuvre pour éliminer les appels directs entre les niveaux PE et Unix dans le pilote d'imprimante.
    • L'API Direct2D prend en charge les effets.
    • L'API Direct2D a ajouté la capacité d'enregistrement et de lecture des listes de commandes.
    • Le pilote pour l'API graphique Vulkan a ajouté le support de la spécification Vulkan 1.3.237 (dans Wine 7, le support était pour Vulkan 1.2).
  • Direct3D
    • Un nouveau compilateur de shaders pour le langage HLSL (High-Level Shader Language) a été développé basé sur la bibliothèque vkd3d-shader. Un désassembleur HLSL et un préprocesseur HLSL ont également été préparés sur la base de vkd3d-shader.
    • L'interface Thread Pump, apparue dans D3DX 10, a été mise en œuvre.
    • Dans les effets Direct3D 10, le support de nombreuses nouvelles expressions a été ajouté.
    • La bibliothèque auxiliaire pour D3DX 9 prend en charge la projection de textures Cubemap.
  • Son et vidéo
    • Le support de filtres pour le décodage sonore au format MPEG-1 a été mis en œuvre sur la base du framework GStreamer.
    • Un filtre pour lire le son et la vidéo en streaming au format ASF (Advanced Systems Format) a été ajouté.
    • La bibliothèque intermédiaire OpenAL32.dll a été supprimée, et la bibliothèque Windows native OpenAL32.dll, fournie avec les applications, est désormais utilisée à la place.
    • Dans le lecteur Media Foundation, l'identification du type de contenu a été améliorée.
    • La possibilité de contrôler le débit (Rate control) a été mise en œuvre.
    • La prise en charge du mélangeur et du présentateur (presenter), proposés par défaut dans Enhanced Video Renderer (EVR), a été améliorée.
    • Une mise en œuvre initiale de l'API Writer Encoding a été ajoutée.
    • Amélioration de la prise en charge du chargeur de topologies.
  • Périphériques d'entrée
    • Prise en charge considérablement améliorée pour la connexion à chaud des contrôleurs.
    • Proposition d'une implémentation de code améliorée pour la détection des volants de jeu, basée sur la bibliothèque SDL.
    • Amélioration du support de l'effet de retour de force (Force feedback) lors de l'utilisation de volants de jeu.
    • Implémentation du contrôle des moteurs vibrants gauche et droit utilisant la spécification HID Haptic.
    • Modification de la mise en forme. le panneau de contrôle avec un joystick.
    • Support des contrôleurs Sony DualShock et DualSense via le backend hidraw.
    • Proposition d'un module WinRT Windows.Gaming.Input avec une interface de programmation pour accéder aux manettes, joysticks et volants de jeu. Le nouveau API comprend entre autres la prise en charge de la notification de connexion à chaud des appareils, des effets tactiles et de vibration.
  • Internationalisation
    • Génération correcte de la base de données des localités au format locale.nls à partir du référentiel Unicode CLDR (Unicode Common Locale Data Repository).
    • Les fonctions de comparaison de chaînes Unicode ont été traduites pour utiliser la base de données et l'algorithme Windows Sortkey au lieu de l'algorithme de collations Unicode, rapprochant ainsi le comportement de Windows.
    • La prise en charge des planes de codes supérieurs (plano) Unicode a été ajoutée dans la plupart des fonctions.
    • Possibilité d'utiliser UTF-8 comme encodage ANSI.
    • Les tables de caractères ont été mises à jour vers la spécification Unicode 15.0.0.
  • Texte et polices
    • Pour la plupart des polices système, l'association des polices a été incluse, résolvant ainsi le problème de l'absence de glyphes sur les systèmes avec des localités chinoises, coréennes et japonaises.
    • Revue du retrait vers une police de secours dans DirectWrite.
  • Noyau (interfaces du noyau Windows)
    • Base de données ApiSetSchema mise en œuvre, remplaçant les modules api-ms-* et permettant de réduire la consommation d'espace disque et d'espace d'adresses.
    • Conservation sur disque des attributs de fichiers DOS dans un format compatible avec Samba, utilisant des attributs étendus du système de fichiers.
  • Fonctionnalités réseau
    • Ajout de la prise en charge du protocole OCSP (Online Certificate Status Protocol), utilisé pour vérifier les certificats révoqués.
    • Élargissement des fonctionnalités d'EcmaScript disponibles en mode conformité avec les standards JavaScript.
    • Implémentation d'un collecteur de déchets pour JavaScript.
    • Le package avec le moteur Gecko inclut des outils pour les personnes handicapées.
    • Ajout dans MSHTML de la prise en charge de l'API Web Storage, de l'objet Performance et d'objets supplémentaires pour le traitement des événements.
  • Applications intégrées
    • Toutes les applications intégrées ont été mises à jour pour utiliser la bibliothèque Common Controls 6, avec support des thèmes et travail graphique adapté aux écrans à haute densité de pixels.
    • Les fonctionnalités de débogage des threads dans le débogueur Wine Debugger (winedbg) ont été étendues.
    • Les outils de gestion du registre (REGEDIT et REG) prennent désormais en charge le type QWORD.
    • Notepad a ajouté une barre d'état avec des informations sur la position du curseur et une fonction Goto Line pour sauter à un numéro de ligne spécifié.
    • La console intégrée permet maintenant la sortie de données dans la page de code OEM.
    • La commande ‘query’ a été ajoutée à l'outil sc.exe (Service Control).
  • Système de construction
    • Il est maintenant possible de compiler des fichiers exécutables au format PE pour plusieurs architectures (par exemple, ‘—enable-archs=i386,x86_64’).
    • Sur toutes les plateformes avec un type long de 32 bits, les types de données définis dans Windows comme long sont désormais redéfinis dans Wine comme ‘long’ au lieu de ‘int’. Ce comportement peut être désactivé dans Winelib via la définition WINE_NO_LONG_TYPES.
    • Une nouvelle option permet de générer des bibliothèques sans utiliser dlltool (activée via l'option ‘—without-dlltool’ dans winebuild).
    • Pour améliorer l'efficacité du chargement et réduire la taille des bibliothèques contenant uniquement des ressources, une option ‘—data-only’ a été implémentée dans winegcc.
  • Divers
    • Les versions des bibliothèques intégrées ont été mises à jour : Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXslt 1.1.37, Zlib 1.2.13.
    • Le moteur Wine Mono avec la mise en œuvre de la plateforme .NET a été mis à jour vers la version 7.4.
    • Le support du chiffrement basé sur l'algorithme RSA et des signatures numériques RSA-PSS a été implémenté.
    • Une version initiale de l'API UI Automation a été ajoutée.
    • Les bibliothèques LDAP et vkd3d ont été incluses dans l'arborescence des codes sources, compilées au format PE, éliminant ainsi le besoin de fournir des versions Unix de ces bibliothèques.
    • L'utilisation de la bibliothèque OpenAL a été abandonnée.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster