Version stable de Wine 7.0

AprĂšs un an de dĂ©veloppement et 30 versions expĂ©rimentales, la version stable de l'implĂ©mentation open source de l'API Win32 — Wine 7.0, a Ă©tĂ© prĂ©sentĂ©e, contenant plus de 9100 modifications. Parmi les rĂ©alisations clĂ©s de la nouvelle version, on note la conversion de la majoritĂ© des modules Wine au format PE, le support des thĂšmes, l'Ă©largissement de la pile pour les manettes et les appareils d'entrĂ©e avec une interface HID, et la mise en Ɠuvre de l'architecture WoW64 pour exĂ©cuter des programmes 32 bits dans un environnement 64 bits.

Wine confirme la compatibilité totale avec 5156 programmes Windows (contre 5049 l'année derniÚre), tandis que 4312 programmes (contre 4227 l'année derniÚre) fonctionnent parfaitement avec quelques réglages et DLL externes. Pour 3813 programmes (contre 3703 l'année derniÚre), on observe de légers problÚmes de fonctionnement, qui n'entravent pas l'utilisation des fonctionnalités principales des applications.

Les nouveautés clés de Wine 7.0 :

  • Modules au format PE
    • Presque toutes les bibliothĂšques DLL ont Ă©tĂ© converties pour utiliser le format de fichier exĂ©cutable PE (Portable Executable, utilisĂ© sous Windows) au lieu de l'ELF. L'utilisation du PE rĂ©sout des problĂšmes de prise en charge de divers schĂ©mas de protection contre la copie qui vĂ©rifient l'identitĂ© des modules systĂšme sur le disque et en mĂ©moire.
    • Une interaction entre les modules PE et les bibliothĂšques Unix a Ă©tĂ© rĂ©alillĂ©e en utilisant l'appel systĂšme natif NT, ce qui permet de cacher l'accĂšs au code Unix des dĂ©bogueurs Windows et de suivre l'enregistrement des threads.
    • Les DLL intĂ©grĂ©es ne sont dĂ©sormais chargĂ©es que si un fichier correspondant en format PE est prĂ©sent sur le disque, indĂ©pendamment de qu'il s'agisse d'une vĂ©ritable bibliothĂšque ou d'un stub. Ce changement permet au programme de toujours voir un lien correct avec les fichiers PE. Pour dĂ©sactiver ce comportement, il est possible d'utiliser la variable d'environnement WINEBOOTSTRAPMODE.
  • WoW64
    • L'architecture WoW64 (Windows-on-Windows 64 bits) a Ă©tĂ© mise en Ɠuvre pour exĂ©cuter des applications Windows 32 bits dans des processus Unix 64 bits. La prise en charge a Ă©tĂ© rĂ©alisĂ©e Ă  travers l'ajout d'un intermĂ©diaire qui convertit les appels systĂšme NT 32 bits en requĂȘtes 64 bits vers NTDLL.
    • Les intermĂ©diaires WoW64 sont prĂ©parĂ©s pour la plupart des bibliothĂšques Unix et permettent aux modules 32 bits au format PE d'accĂ©der aux bibliothĂšques Unix 64 bits. AprĂšs la conversion de tous les modules au format PE, il sera possible d'exĂ©cuter des applications Windows 32 bits sans installer les bibliothĂšques Unix 32 bits.
  • ThĂšmes
    • La prise en charge des thĂšmes a Ă©tĂ© mise en Ɠuvre. Les thĂšmes « Light », « Blue » et « Classic Blue » peuvent ĂȘtre sĂ©lectionnĂ©s via le configurateur WineCfg.
    • Ajout de la possibilitĂ© de personnaliser l'apparence de tous les Ă©lĂ©ments de contrĂŽle de l'interface via des thĂšmes. La mise Ă  jour automatique de l'apparence des Ă©lĂ©ments aprĂšs le changement de thĂšme a Ă©tĂ© assurĂ©e.
    • Tous les applications intĂ©grĂ©es Ă  Wine prennent dĂ©sormais en charge les thĂšmes. Les applications ont Ă©tĂ© adaptĂ©es pour les Ă©crans haute densitĂ© de pixels (High DPI).
  • Sous-systĂšme graphique
    • Une nouvelle bibliothĂšque Win32u a Ă©tĂ© ajoutĂ©e, dans laquelle des parties des bibliothĂšques GDI32 et USER32 liĂ©es au traitement graphique et Ă  la gestion des fenĂȘtres au niveau du noyau ont Ă©tĂ© extraites. Dans un avenir proche, le travail commencera pour transfĂ©rer vers Win32u les composants des pilotes tels que winex11.drv et winemac.drv.
    • La prise en charge de la spĂ©cification de l'API graphique Vulkan 1.2.201 a Ă©tĂ© mise en Ɠuvre dans le pilote Vulkan.
    • Support de la sortie via l'API Direct2D pour des objets gĂ©omĂ©triques hachurĂ©s, avec la possibilitĂ© de vĂ©rifier les clics (hit-test).
    • Une prise en charge initiale des effets visuels appliquĂ©s Ă  l'aide de l'interface ID2D1Effect a Ă©tĂ© mise en Ɠuvre dans l'API Direct2D.
    • Ajout du support de l'interface ID2D1MultiThread dans l'API Direct2D, utilisĂ©e pour organiser l'accĂšs exclusif aux ressources dans des applications multi-thread.
    • Le jeu de bibliothĂšques WindowsCodecs a introduit la prise en charge du dĂ©codage d'images au format WMP (Windows Media Photo) et du codage d'images au format DDS (DirectDraw Surface). La prise en charge du codage d'images au format ICNS (pour macOS), qui n'est pas pris en charge sous Windows, a Ă©tĂ© interrompue.
  • Direct3D
    • Le nouveau moteur de rendu a Ă©tĂ© considĂ©rablement amĂ©liorĂ©, rĂ©alisant la translation des appels Direct3D en API graphique Vulkan. Dans la plupart des situations, le niveau de prise en charge des Direct3D 10 et 11 dans le moteur basĂ© sur Vulkan a Ă©tĂ© portĂ© Ă  la paritĂ© avec l'ancien moteur basĂ© sur OpenGL. Pour activer le moteur de rendu via Vulkan, il convient de dĂ©finir la variable de registre Direct3D « renderer » Ă  « vulkan ».
    • De nombreuses fonctionnalitĂ©s des Direct3D 10 et 11 ont Ă©tĂ© mises en Ɠuvre, y compris des contextes diffĂ©rĂ©s (Deferred Contexts), fonctionnant dans le contexte des appareils d'objets d'Ă©tat, des dĂ©calages constants dans les tampons, le nettoyage des prĂ©sentations non ordonnĂ©es des textures, ainsi que le transfert de donnĂ©es entre des ressources de formats non typĂ©s (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32A32_TYPELESS), etc.
    • Ajout de la prise en charge des configurations multi-moniteurs, permettant de choisir le moniteur pour afficher l'application Direct3D en mode plein Ă©cran.
    • L'API DXGI a mis en Ɠuvre la possibilitĂ© de correction gamma de l'Ă©cran, ce qui peut ĂȘtre utilisĂ© par les applications basĂ©es sur Direct3D 10 et 11 pour modifier la luminositĂ© de l'Ă©cran. L'extraction des compteurs de tampons de trame virtuels (SwapChain) est assurĂ©e.
    • Direct3D 12 a ajoutĂ© la prise en charge des signatures racines de version 1.1.
    • Le code de rendu via l'API Vulkan a amĂ©liorĂ© l'efficacitĂ© du traitement des requĂȘtes en cas de prise en charge de l'extension VK_EXT_host_query_reset dans le systĂšme.
    • Ajout de la possibilitĂ© de sortir des tampons de trame virtuels (SwapChain) via GDI, si OpenGL ou Vulkan ne peuvent pas ĂȘtre utilisĂ©s pour l'affichage, par exemple lors de l'affichage dans une fenĂȘtre Ă  partir de diffĂ©rents processus, comme dans les programmes basĂ©s sur le framework CEF (Chromium Embedded Framework).
    • Lors de l'utilisation du backend pour les shaders GLSL pour les instructions de shader, l'application du modificateur « precise » est assurĂ©e.
    • L'API DirectDraw a ajoutĂ© la prise en charge du rendu 3D en mĂ©moire systĂšme, en utilisant des appareils logiciels tels que « RGB », « MMX » et « Ramp ».
    • La base de donnĂ©es des cartes graphiques Direct3D a ajoutĂ© les cartes AMD Radeon RX 5500M, AMD Radeon RX 6800/6800 XT/6900 XT, AMD Van Gogh, Intel UHD Graphics 630 et NVIDIA GT 1030.
    • La clĂ© « UseGLSL » a Ă©tĂ© supprimĂ©e du registre HKEY_CURRENT_USER\Software\Wine\Direct3D, Ă  la place de laquelle Ă  partir de Wine 5.0, il faut utiliser « shader_backend ».
    • Pour prendre en charge Direct3D 12, la bibliothĂšque vkd3d d'au moins la version 1.2 est dĂ©sormais nĂ©cessaire.
  • D3DX
    • L'implĂ©mentation de D3DX 10 a amĂ©liorĂ© le support du framework des effets visuels et ajoutĂ© le support du format d'image Windows Media Photo (JPEG XR).
    • Ajout de fonctions de crĂ©ation de textures fournies dans D3DX10, telles que D3DX10CreateTextureFromMemory().
    • Les interfaces logicielles ID3DX10Sprite et ID3DX10Font ont Ă©tĂ© partiellement mises en Ɠuvre.
  • Son et vidĂ©o
    • Les surcouches GStreamer pour DirectShow et le framework Media Foundation ont Ă©tĂ© fusionnĂ©es en un backend commun WineGStreamer, ce qui devrait simplifier le dĂ©veloppement de nouvelles API de dĂ©codage de contenu.
    • Sur la base du backend WineGStreamer, des objets Windows Media pour la lecture synchronisĂ©e et asynchrone ont Ă©tĂ© rĂ©alisĂ©s.
    • Le dĂ©veloppement de l'implĂ©mentation du framework Media Foundation a Ă©tĂ© poursuivi, avec l'ajout de la prise en charge de la fonctionnalitĂ© IMFPMediaPlayer, du rĂ©partiteur d'Ă©chantillons (sample allocator), ainsi qu'une meilleure prise en charge de l'EVR et des tampons de rendu SAR.
    • La bibliothĂšque wineqtdecoder, fournissant un dĂ©codeur pour le format QuickTime (GStreamer est dĂ©sormais utilisĂ© pour tous les codecs), a Ă©tĂ© supprimĂ©e.
  • PĂ©riphĂ©riques d'entrĂ©e
    • La pile pour les dispositifs d'entrĂ©e prenant en charge le protocole HID (Human Interface Devices) a Ă©tĂ© considĂ©rablement amĂ©liorĂ©e, intĂ©grant des fonctionnalitĂ©s telles que l'analyse des descripteurs HID, le traitement des messages HID et la fourniture de mini-drivers HID.
    • Dans les backends du driver winebus.sys, la traduction des descriptions des appareils en messages HID a Ă©tĂ© amĂ©liorĂ©e.
    • Un nouveau backend DirectInput pour les manettes prenant en charge le protocole HID a Ă©tĂ© ajoutĂ©. La possibilitĂ© d'utiliser des effets de retour haptique sur les manettes a Ă©tĂ© mise en Ɠuvre. AmĂ©liorĂ© le panneau de contrĂŽle les manettes. L'interaction avec les appareils compatibles avec XInput a Ă©tĂ© optimisĂ©e. Dans WinMM, la prise en charge des manettes a Ă©tĂ© transfĂ©rĂ©e Ă  DInput, au lieu d'utiliser le backend evdev sous Linux et IOHID sous macOS. L'ancien driver de manette winejoystick.drv a Ă©tĂ© supprimĂ©.
    • De nouveaux tests basĂ©s sur l'application de dispositifs HID virtuels et ne nĂ©cessitant pas d'appareil physique ont Ă©tĂ© ajoutĂ©s au module DInput.
  • Texte et polices
    • Un objet Font Set a Ă©tĂ© ajoutĂ© Ă  DirectWrite.
    • L'interface TextHost a Ă©tĂ© correctement mise en Ɠuvre dans RichEdit.
  • Noyau (interfaces du noyau Windows)
    • Lors du lancement d'un fichier exĂ©cutable non reconnu dans Wine (par exemple, ‘wine foo.msi’), start.exe est dĂ©sormais appelĂ©, qui invocate les gestionnaires associĂ©s au type de fichier.
    • Ajout d'une prise en charge des mĂ©canismes de synchronisation NtAlertThreadByThreadId et NtWaitForAlertByThreadId, proches des futilities sous Linux.
    • Ajout de la prise en charge des objets de dĂ©bogage NT, utilisĂ©s pour dĂ©boguer les fonctions du noyau.
    • Ajout de la prise en charge des clĂ©s de registre dynamiques pour stocker des donnĂ©es de performance.
  • C Runtime
    • Un ensemble complet de fonctions mathĂ©matiques a Ă©tĂ© mis en Ɠuvre dans le C runtime, principalement transfĂ©rĂ© de la bibliothĂšque Musl.
    • Pour toutes les plateformes CPU, un support correct des fonctions de calculs en virgule flottante a Ă©tĂ© assurĂ©.
  • FonctionnalitĂ©s rĂ©seau
    • Le mode de compatibilitĂ© avec Internet Explorer 11 (IE11), qui est dĂ©sormais utilisĂ© par dĂ©faut pour le traitement des documents HTML, a Ă©tĂ© amĂ©liorĂ©.
    • La bibliothĂšque mshtml a implĂ©mentĂ© le mode JavaScript ES6 (ECMAScript 2015), assurant la prise en charge de fonctionnalitĂ©s telles que l'expression let et l'objet Map.
    • L'installation de packages MSI Wine avec des complĂ©ments pour le moteur Gecko dans le rĂ©pertoire de travail se fait maintenant au besoin, et non lors de la mise Ă  jour de Wine.
    • Ajout de la prise en charge du protocole DTLS.
    • Mise en Ɠuvre du service NSI (Network Store Interface), qui stocke et transmet Ă  d'autres services des informations sur le routage et les interfaces rĂ©seau sur l'ordinateur.
    • Les gestionnaires d'API WinSock, tels que setsockopt et getsockopt, ont Ă©tĂ© transfĂ©rĂ©s dans la bibliothĂšque NTDLL et le pilote afd.sys, pour se conformer Ă  l'architecture Windows.
    • Les fichiers propres aux bases de donnĂ©es rĂ©seau de Wine sont dĂ©sormais installĂ©s dans le rĂ©pertoire de travail, tels que /etc/protocols et /etc/networks, au lieu de faire appel Ă  des bases de donnĂ©es Unix similaires.
  • Plateformes alternatives
    • Ajout de la prise en charge du matĂ©riel Apple basĂ© sur les puces ARM M1 (Apple Silicon).
    • Pour prendre en charge les fonctions BCrypt et Secur32 sur la plateforme macOS, l'installation de la bibliothĂšque GnuTLS est dĂ©sormais requise.
    • Les fichiers exĂ©cutables 32 bits pour les plateformes ARM sont maintenant construits en mode Thumb-2, tout comme sous Windows. Un prĂ©chargeur est utilisĂ© pour charger de tels fichiers.
    • La prise en charge du dĂ©ballage (unwinding) des exceptions a Ă©tĂ© implĂ©mentĂ©e pour les plateformes ARM 32 bits.
    • Pour FreeBSD, le nombre de demandes d'informations systĂšme de bas niveau prises en charge a Ă©tĂ© Ă©tendu, telles que les donnĂ©es sur l'Ă©tat de la mĂ©moire et le niveau de charge de la batterie.
  • Applications et outils intĂ©grĂ©s pour le dĂ©veloppement
    • L'outil reg.exe a Ă©tĂ© mis Ă  jour pour prendre en charge les reprĂ©sentations 32 et 64 bits du registre. La prise en charge de la copie des clĂ©s du registre a Ă©galement Ă©tĂ© ajoutĂ©e.
    • L'outil WineDump a ajoutĂ© la prise en charge de l'exportation de dumps de mĂ©tadonnĂ©es Windows et d'affichage d'informations dĂ©taillĂ©es sur les entrĂ©es CodeView.
    • Le dĂ©bogueur Wine Debugger (winedbg) prend dĂ©sormais en charge le dĂ©bogage des processus 32 bits Ă  partir d'un dĂ©bogueur 64 bits.
    • Le compilateur IDL (widl) a Ă©tĂ© amĂ©liorĂ© avec la possibilitĂ© de charger des bibliothĂšques intĂ©grĂ©es dans des fichiers PE, prenant en charge les attributs et constructions spĂ©cifiques Ă  WinRT, ainsi que la recherche de bibliothĂšques en fonction de la plateforme.
  • SystĂšme de construction
    • Dans les rĂ©pertoires spĂ©cifiques aux architectures matĂ©rielles, les bibliothĂšques sont maintenant enregistrĂ©es avec des noms reflĂ©tant l'architecture et le type de fichiers exĂ©cutables, par exemple, ‘i386-windows’ pour le format PE et ‘x86_64-unix’ pour les bibliothĂšques unix, permettant la prise en charge de diffĂ©rentes architectures dans une seule installation de Wine et facilitant la cross-compilation de Winelib.
    • Pour dĂ©finir dans les en-tĂȘtes des fichiers PE des options contrĂŽlant le passage Ă  l'utilisation de bibliothĂšques DLL natives, un drapeau ‘—prefer-native option’ a Ă©tĂ© ajoutĂ© Ă  winebuild (le traitement de DLL_WINE_PREATTACH dans DllMain a Ă©tĂ© arrĂȘtĂ©).
    • La prise en charge de la version 4 du format de donnĂ©es de dĂ©bogage Dwarf, qui est maintenant utilisĂ©e par dĂ©faut lors de la construction de bibliothĂšques Wine, a Ă©tĂ© ajoutĂ©e.
    • Une option de compilation ‘—enable-build-id’ a Ă©tĂ© ajoutĂ©e pour enregistrer des identifiants de construction uniques dans les fichiers exĂ©cutables.
    • Ajout de la prise en charge du compilateur Clang en mode de compatibilitĂ© avec MSVC.
  • Divers
    • Les noms des rĂ©pertoires standards dans l'interface utilisateur de Windows (Windows Shell) ont Ă©tĂ© alignĂ©s sur le schĂ©ma utilisĂ© depuis Windows Vista, c'est-Ă -dire qu'au lieu de 'Mes Documents', le rĂ©pertoire 'Documents' est maintenant créé, et la plupart des donnĂ©es sont enregistrĂ©es dans le rĂ©pertoire 'AppData'.
    • La couche pour la bibliothĂšque OpenCL a ajoutĂ© la prise en charge de la spĂ©cification OpenCL 1.2.
    • Le pilote WinSpool a ajoutĂ© la prise en charge de diffĂ©rentes tailles de page lors de l'impression.
    • Ajout d'un support initial pour MSDASQL, le fournisseur Microsoft OLE DB pour les pilotes ODBC.
    • Le moteur Wine Mono avec l'implĂ©mentation de la plateforme .NET a Ă©tĂ© mis Ă  jour vers la version 7.0.0.
    • Les donnĂ©es Unicode ont Ă©tĂ© mises Ă  jour vers la spĂ©cification Unicode 14.
    • Des bibliothĂšques Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt et Zlib ont Ă©tĂ© intĂ©grĂ©es dans l'arbre des sources, compilĂ©es au format PE et ne nĂ©cessitant pas de version au format Unix. Ces bibliothĂšques peuvent Ă©galement ĂȘtre importĂ©es depuis le systĂšme pour utiliser des assemblages externes au lieu des versions intĂ©grĂ©es au format PE.

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