Publication stable de Wine 11.0

AprĂšs une annĂ©e de dĂ©veloppement et 25 versions expĂ©rimentales, une version stable de l'implĂ©mentation open source de l'API Win32 — Wine 11.0 — a Ă©tĂ© prĂ©sentĂ©e, incorporant plus de 6300 modifications et 600 corrections de bogues. Parmi les rĂ©alisations clĂ©s de cette nouvelle version, on note le support complet de NTSYNC, l'implĂ©mentation du mĂ©canisme Reparse Point et l'utilisation d'une nouvelle version de l'architecture WoW64.

Wine prend en charge intégralement 5419 programmes pour Windows (contre 5372 l'année précédente, 5336 il y a deux ans et 5266 il y a trois ans), tandis que 4500 programmes (4435 l'année précédente, 4397 il y a deux ans, 4370 il y a trois ans) fonctionnent trÚs bien avec des configurations supplémentaires et des DLL externes. Pour 4086 programmes (4020 l'année précédente, 3943 il y a deux ans, 3888 il y a trois ans), des problÚmes mineurs de fonctionnement sont observés, mais cela n'entrave pas l'utilisation des fonctionnalités principales des applications.

Les nouveautés clés de Wine 11.0 :

  • Support complet du pilote ntsync, permettant d'amĂ©liorer considĂ©rablement la performance des jeux Windows exĂ©cutĂ©s avec Wine. Ce pilote fait partie du noyau Linux depuis la version 6.14 et implĂ©mente un pĂ©riphĂ©rique symbolique /dev/ntsync ainsi qu'un ensemble de primitives de synchronisation utilisĂ©es dans le noyau Windows NT. Un gain de performance significatif est obtenu grĂące Ă  l'Ă©limination des frais gĂ©nĂ©raux associĂ©s Ă  l'utilisation de RPC en espace utilisateur.
  • Ajout de la possibilitĂ© de configurer les prioritĂ©s des threads sous Linux et macOS.
  • Dans ntdll, l'API de synchronisation « Synchronization barriers » a Ă©tĂ© ajoutĂ©e, permettant de suspendre l'exĂ©cution de plusieurs threads jusqu'Ă  ce qu'un certain point d'exĂ©cution soit atteint dans tous les threads (par exemple, attendre que tous les threads atteignent un certain stade lors de l'exĂ©cution parallĂšle du mĂȘme code).
  • La nouvelle implĂ©mentation de la couche WoW64 (Windows-on-Windows 64 bits), permettant d'exĂ©cuter des applications Windows 32 bits sur des systĂšmes Unix 64 bits, est dĂ©sormais entiĂšrement prise en charge. Contrairement Ă  l'ancienne implĂ©mentation de WoW64, oĂč les applications 32 bits Ă©taient exĂ©cutĂ©es dans des processus Unix 32 bits, le nouveau WoW64 permet l'exĂ©cution de code 32 bits Ă  l'intĂ©rieur d'un processus 64 bits. Le support de l'exĂ©cution d'applications 16 bits en mode WoW64 a Ă©galement Ă©tĂ© rĂ©alisĂ©.

    Dans tous les modules qui accÚdent aux bibliothÚques Unix, des convertisseurs d'appels systÚme WoW64 (thunk) sont utilisés, permettant aux modules 32 bits au format PE d'accéder aux bibliothÚques Unix 64 bits. La possibilité de lancer d'anciennes installations WoW64 dans un nouveau mode a été ajoutée en définissant la variable d'environnement « WINEARCH=wow64 ». Les préfixes 32 bits, créés en définissant WINEARCH=win32, sont désormais obsolÚtes et ne sont pas pris en charge dans le nouveau mode WoW64. Le chargeur wine64 distinct a été supprimé et remplacé par un chargeur universel qui détermine le mode en fonction de l'architecture du fichier exécuté.

  • Noyau (interfaces du noyau Windows)
    • Un mĂ©canisme de Reparse Point a Ă©tĂ© implĂ©mentĂ©, permettant d'attacher des donnĂ©es supplĂ©mentaires aux fichiers et rĂ©pertoires, identifiables par des Ă©tiquettes. Les types de Reparse Point tels que les symlinks et les points de montage sont pris en charge.
    • Pour amĂ©liorer les performances de suivi des opĂ©rations d'Ă©criture en mĂ©moire, le mĂ©canisme UFFD (userfaultfd) a Ă©tĂ© activĂ©, permettant de crĂ©er des gestionnaires pour les accĂšs Ă  des pages mĂ©moire non allouĂ©es (page faults) dans l'espace utilisateur. Dans des tests rĂ©alisĂ©s, l'utilisation de UFFD a permis de rĂ©duire le temps de chargement des niveaux du jeu « Streets of Rage 4 » de 6-8 secondes Ă  1,5-2 secondes, correspondant aux performances sur la plateforme Windows.
    • Les numĂ©ros d'appels systĂšme NT identiques aux derniĂšres versions de Windows sont maintenant utilisĂ©s, ce qui est nĂ©cessaire pour prendre en charge les applications utilisant des numĂ©ros d'appels systĂšme codĂ©s en dur.
    • Sur les systĂšmes ARM64, il est dĂ©sormais possible de simuler des pages mĂ©moire de 4K dans des environnements avec des noyaux Linux utilisant des pages mĂ©moire plus grandes (16K ou 64K). La simulation permet de lancer des applications simples, tandis que pour des programmes plus complexes, l'utilisation de noyaux Linux avec des pages mĂ©moire de 4 kilooctets est recommandĂ©e.
  • Sous-systĂšme graphique
    • Sur les systĂšmes X11 (winex11), un backend de rendu utilisant EGL est par dĂ©faut activĂ© pour OpenGL. Le backend GLX est dĂ©clarĂ© obsolĂšte mais reste disponible en tant que solution de secours et est utilisĂ© en l'absence d'EGL.
    • Un support initial des objets D3DKMT a Ă©tĂ© ajoutĂ©, fournissant un accĂšs bas niveau aux dispositifs graphiques depuis l'espace utilisateur. Les extensions Vulkan VK_KHR_external_memory_win32, VK_KHR_external_semaphore_win32, VK_KHR_external_fence_win32 et VK_KHR_win32_keyed_mutex ont Ă©tĂ© mises en Ɠuvre.
    • En mode WoW64 (Windows sur Windows 64 bits), la prise en charge du mappage de la mĂ©moire pour OpenGL a Ă©tĂ© mise en Ɠuvre via l'API Vulkan, permettant d'accĂ©lĂ©rer le fonctionnement des applications OpenGL 32 bits sous Wine.
    • L'Ă©mulation du tampon d'affichage (front buffer) pour OpenGL a Ă©tĂ© rĂ©alisĂ©e sur des plateformes sans prise en charge intĂ©grĂ©e.
    • Le pilote pour l'API graphique Vulkan a Ă©tĂ© mis Ă  jour avec le support de la spĂ©cification Vulkan 1.4.335.
    • Dans le jeu de bibliothĂšques WindowsCodecs, la prise en charge des mĂ©tadonnĂ©es dans les fichiers d'images a Ă©tĂ© Ă©tendue, ainsi que la conversion entre les formats de couleur entiers et les formats Ă  virgule flottante.
    • La dĂ©pendance Ă  la bibliothĂšque OSMesa (Off-screen Mesa) a Ă©tĂ© supprimĂ©e. Il est dĂ©sormais possible de dessiner des bitmap via OpenGL en utilisant le runtime OpenGL accĂ©lĂ©rĂ© par matĂ©riel.
  • IntĂ©gration avec le bureau
    • Dans le pilote winewayland.drv, qui permet l'utilisation de Wine dans des environnements basĂ©s sur le protocole Wayland sans utiliser XWayland et les composants X11, la prise en charge du presse-papiers, des mĂ©thodes d'entrĂ©e, des fenĂȘtres non rectangulaires et de la transparence a Ă©tĂ© mise en Ɠuvre.
    • L'intĂ©gration avec X11 a Ă©tĂ© amĂ©liorĂ©e : les demandes d'activation des fenĂȘtres sont envoyĂ©es au gestionnaire de fenĂȘtres et le protocole EWMH est utilisĂ© pour synchroniser l'Ă©tat des fenĂȘtres actives entre X11 et Win32.
    • La prise en charge du mode plein Ă©cran exclusif a Ă©tĂ© mise en Ɠuvre. L'assistance pour le mode plein Ă©cran dans D3D a Ă©tĂ© amĂ©liorĂ©e et le fonctionnement des anciens jeux basĂ©s sur DDraw a Ă©tĂ© optimisĂ©.
    • Les performances de certaines fonctions liĂ©es aux fenĂȘtres ont Ă©tĂ© amĂ©liorĂ©es. La mĂ©moire partagĂ©e a Ă©tĂ© utilisĂ©e pour l'interaction entre les processus.
  • Direct3D
    • Direct3D 11 a ajoutĂ© la prise en charge de l'accĂ©lĂ©ration matĂ©rielle pour le dĂ©codage vidĂ©o au format H.264, mise en Ɠuvre avec l'API graphique Vulkan.
    • Direct3D 11 a introduit le support de la minmax-filtering pour les textures, utilisant l'extension OpenGL GL_ARB_texture_filter_minmax ou l'extension Vulkan VK_EXT_sampler_filter_minmax.
    • Direct3D 11 a implĂ©mentĂ© des fonctions pour le chargement de textures.
    • Une grande portion des capacitĂ©s de Direct3D pour le rendu via Vulkan a Ă©tĂ© mise en Ɠuvre, telles que le mĂ©lange de sommets, l’ombrage plat, les plans de dĂ©coupe personnalisĂ©s et divers formats de ressources.
    • Dans la copie intĂ©grĂ©e de vkd3d-shader, la prise en charge des modĂšles de shaders 1, 2 et 3 a Ă©tĂ© amĂ©liorĂ©e.
    • Dans la mĂ©thode D3DXSaveSurfaceToFileInMemory, le support des images PNG, JPEG et BMP a Ă©tĂ© ajoutĂ©.
    • Direct3D 10 et 11 ont mis en Ɠuvre la prise en charge de la compression et de la dĂ©compression des formats BC4 et BC5, ainsi que la gĂ©nĂ©ration de niveaux MIP (MipMap) lors du chargement des textures.
    • Les mĂ©thodes ID3DXEffect::SetRawValue() et ID3DXSkinInfo::UpdateSkinnedMesh() ont Ă©tĂ© mises en Ɠuvre.
  • PĂ©riphĂ©riques d'entrĂ©e
    • La compatibilitĂ© avec les manettes est amĂ©liorĂ©e grĂące Ă  l'utilisation du backend hidraw.
    • Le support de l'effet de retour de force (Force feedback) est amĂ©liorĂ© lors de l'utilisation de volants de jeu et de manettes.
    • Le support des manettes dans l'API Windows.Gaming.Input et avec le backend evdev a Ă©tĂ© amĂ©liorĂ©.
    • Un onglet pour configurer l'API Windows.Gaming.Input a Ă©tĂ© ajoutĂ© dans l'applet de gestion des contrĂŽleurs de jeu.
    • La compatibilitĂ© de DirectInput avec les anciens jeux a Ă©tĂ© amĂ©liorĂ©e.
  • Bluetooth
    • Le pilote Bluetooth a Ă©tĂ© mis Ă  jour pour inclure la possibilitĂ© de scanner, de configurer la dĂ©tection et de coupler des dispositifs.
    • Ajout de la prise en charge des services Bluetooth Low Energy.
    • Les applications ont dĂ©sormais la possibilitĂ© de crĂ©er des connexions RFCOMM Ă  bas niveau avec des dispositifs externes en utilisant l'API Winsock.
  • Support des scanners.
    • Le support de l'API TWAIN 2.0, permettant d'accĂ©der aux scanners depuis des applications 64 bits, a Ă©tĂ© implĂ©mentĂ©.
    • Le support du composant DAT_IMAGENATIVEXFER pour transfĂ©rer les images du scanner vers l'application a Ă©tĂ© mis en Ɠuvre.
    • La sauvegarde du scanner sĂ©lectionnĂ© et des paramĂštres dans le registre a Ă©tĂ© garantie.
    • Le support de la numĂ©risation multi-page et de l'alimentation automatique de documents a Ă©tĂ© ajoutĂ©.
    • Le blocage de l'application lors de l'appel de l'interface de numĂ©risation a Ă©tĂ© arrĂȘtĂ©.
    • Le support pour le chargement de pilotes Windows natifs pour les scanners a Ă©tĂ© ajoutĂ©.
  • Internationalisation
    • La gĂ©nĂ©ration de la base de donnĂ©es de localisations au format locale.nls Ă  partir de la base de donnĂ©es Unicode CLDR (Unicode Common Locale Data Repository) version 48 a Ă©tĂ© assurĂ©e. Le support de localisations supplĂ©mentaires bua-RU, bqi-IR, cop-EG, ht-HT, kek-GT, lzz-TR, mww-Hmnp-US, oka-CA, pi-Latn-GB, pms-IT, sgs-LT, suz-Deva-NP et suz-Sunu-NP a Ă©tĂ© ajoutĂ©.
    • Les tables des caractĂšres Unicode ont Ă©tĂ© mises Ă  jour vers la version 17.0.0. La base de donnĂ©es des fuseaux horaires a Ă©tĂ© mise Ă  jour.
  • FonctionnalitĂ©s rĂ©seau
    • Dans le moteur MSHTML en mode conformitĂ© aux normes, le travail avec les attributs des Ă©lĂ©ments comme de vĂ©ritables nƓuds DOM a Ă©tĂ© assurĂ©. Les objets DOMParser, XDomainRequest et msCrypto ont Ă©tĂ© mis en Ɠuvre.
    • Le support des tableaux typĂ©s a Ă©tĂ© ajoutĂ© dans JavaScript.
    • Une commande ping a Ă©tĂ© mise en Ɠuvre pour ICMPv6.
  • BD
    • Le support de l'enregistrement des modifications dans la base de donnĂ©es a Ă©tĂ© ajoutĂ© Ă  la bibliothĂšque MSADO (ActiveX Data Objects). La plupart des fonctions de l'objet Recordset ont Ă©tĂ© mises en Ɠuvre.
    • Dans la bibliothĂšque odbc32, le support des pilotes ANSI win32 non conçus pour travailler avec Unicode a Ă©tĂ© amĂ©liorĂ©. Les fonctions SQLDriverConnectA(), SQLSpecialColumnsW(), SQLGetInfoW(), SQLGetInfoW(), SQLStatisticsW() et QLColumnsW() ont Ă©tĂ© implĂ©mentĂ©es.
  • Applications intĂ©grĂ©es
    • Un onglet pour configurer le pĂ©riphĂ©rique MIDI par dĂ©faut a Ă©tĂ© ajoutĂ© dans WineCfg.
    • Dans l'outil cmd, l'autocomplĂ©tion des noms de fichiers a Ă©tĂ© mise en Ɠuvre en mode d'interaction, avec un support ajoutĂ© pour des instructions complexes et une commande « mklink /j » pour crĂ©er un Reparse Point.
    • Dans l'outil conhost (Console Hosting), le support de l'historique via les touches F1 et F3 a Ă©tĂ© ajoutĂ©.
    • Les commandes timeout, runas et subst ont Ă©tĂ© mises en Ɠuvre.
    • Dans l'outil find, des options « /c » pour afficher le nombre de correspondances et /i pour des correspondances sans distinction de casse ont Ă©tĂ© ajoutĂ©es.
    • L'outil whoami a maintenant la possibilitĂ© de configurer le format de sortie.
  • Divers
    • L'implĂ©mentation du langage de description d'interface WIDL (Wine Interface Definition Language) prend dĂ©sormais en charge la gĂ©nĂ©ration de mĂ©tadonnĂ©es Windows Runtime (WinRT). La gĂ©nĂ©ration et l'installation de fichiers WinMD (Windows Metadata) pour l'API WinRT (Windows Runtime) ont Ă©tĂ© assurĂ©es.
    • Dans l'outil winedump, le support du dump des ressources MUI, des numĂ©ros des appels systĂšmes, des modules NE intĂ©grĂ©s et des grands fichiers PDB (> 4 Go) a Ă©tĂ© ajoutĂ©.
    • Le refactoring de l'implĂ©mentation de Common Control a Ă©tĂ© effectuĂ©, la bibliothĂšque COMCTL32 a Ă©tĂ© divisĂ©e en modules distincts pour les versions 5 et 6.
    • Dans BCrypt, le support de la norme de dĂ©rivation de clĂ© PBKDF2 a Ă©tĂ© ajoutĂ©.
    • Le support pour les rĂ©pertoires UserProgramFiles, AccountPictures et Screenshots a Ă©tĂ© ajoutĂ©.
    • Les bibliothĂšques LLVM Compiler-RT 8.0.1 et TomCrypt 1.18.2 ont Ă©tĂ© intĂ©grĂ©es. La bibliothĂšque HwLoc a Ă©tĂ© utilisĂ©e pour dĂ©terminer le CPU sur la plateforme FreeBSD.
    • Les composants Vkd3d 1.18, Faudio 25.12, FluidSynth 2.4.2, LCMS2 2.17, LibMPG123 1.33.0, Libpng 1.6.51, LibTiff 4.7.1, LibXml2 2.12.10, LibXslt 1.1.43 ont Ă©tĂ© mis Ă  jour vers de nouvelles versions.

    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