No engem Joer vun Entwécklung a 26 experimentell Versiounen, gouf eng stabil Verëffentlechung vun der oppener Implementatioun vun der Win32 API presentéiert - Wäin 9.0, déi méi wéi 7000 Ännerungen integréiert huet. Déi Schlësselleeschtungen an der neier Versioun beinhalt d'Ëmsetzung vun der WoW64 Architektur fir 32-Bit Programmer an engem 64-Bit Ëmfeld ze lafen, Chaufferintegratioun fir Wayland z'ënnerstëtzen, Ënnerstëtzung fir d'ARM64 Architektur, Implementatioun vun der DirectMusic API an Ënnerstëtzung fir Smart Cards.
Et gouf bestätegt, datt 5336 Programmer (5266 virun engem Joer, 5156 virun zwee Joer, 5049 virun dräi Joer) richteg a Wine funktionéieren. WindowsWeider 4397 Programmer (4370 virun engem Joer, 4312 virun zwee Joer, 4227 virun dräi Joer) funktionéieren ouni Problemer mat zousätzlechen Astellungen an externen DLLs. 3943 Programmer (3888 virun engem Joer, 3813 virun zwee Joer, 3703 virun dräi Joer) hunn kleng Problemer, déi d'Basisfunktioun vun den Applikatiounen net beaflossen.
Schlëssel Innovatiounen am Wine 9.0:
- Den winewayland.drv Treiber gouf bäigefüügt, sou datt Wine a Wayland-baséierten Ëmfeld benotzt ka ginn, ouni datt XWayland oder X11 Komponenten gebraucht ginn. Dës Entwécklung zielt drop of, eng reng Wayland Ëmfeld mat Startënnerstëtzung ze bidden. Windows- Applikatiounen, déi keng Installatioun vu Paketen mat X11 erfuerderen, wat eng méi héich Leeschtung a Reaktiounsfäegkeet a Spiller erméiglecht, andeems onnéideg Schichten eliminéiert ginn. D'Benotzung vun enger purer Wayland-Ëmfeld fir Wine eliminéiert och Sécherheetsproblemer, déi inherent mat X11 verbonne sinn (zum Beispill kënnen net vertrauenswierdeg X11-Spiller aner Applikatiounen ausspionéieren, well den X11-Protokoll Zougang zu all Input-Evenementer erlaabt an Tastendréck-Ersatz duerchféiert).
De Chauffer ass markéiert als experimentell an ënner Entwécklung, awer trotzdem huet et schonn Ënnerstëtzung fir vill Features, sou wéi Fënsterverwaltung, mat multiple Monitore schaffen, Ënnerstëtzung fir d'Skaléierung vum Output op High-Pixel Density (High-DPI) Schiirme, ze schaffen mat relativ Koordinaten beim Tracking vun der Mausbewegung an Ënnerstëtzung fir de Vulkan Grafik API. Par défaut ass de Chauffer net aktiv a fir et z'aktivéieren sollt Dir "wayland" an de Registry Parameter "HKCU\Software\Wine\Drivers" addéieren a sécherstellen datt d'DISPLAY Ëmfeldvariabel net agestallt ass: wine reg.exe add HKCU\ \Software\\Wine\\Drivers /v Graphics /d x11,wayland
- All Moduler goufen an d'NT System Call Interface ëmgewandelt, anstatt direkt Uruff tëscht de PE an Unix Schichten ze maachen, fir d'Fäerdegstellung vu ville Joeren Aarbecht ze markéieren fir all DLLs ze konvertéieren fir de PE (Portable Executable) ausführbare Dateiformat ze benotzen.
- D'Entwécklung vum WoW64-Schicht (64-Bit) ass weidergaangen Windows-op-Windows), wat Iech erlaabt 32-Bit ze lafen Windows- Applikatiounen op 64-Bit Unix-Systemer. All Moduler, déi op Unix-Bibliothéiken zougräifen, benotzen WoW64 Systemruff-Iwwersetzer (Thunks), wat et 32-Bit-Moduler am PE-Format erlaabt, op 64-Bit Unix-Bibliothéiken zouzegräifen.
Den neie WoW64-Startmodus gouf verbessert, sou datt 32-Bit-Code an engem 64-Bit-Prozess lafe kann (am ale WoW64-Modus sinn 32-Bit-Applikatiounen an 32-Bit-Unix-Prozesser gelaf). Ënnerstëtzung fir d'Benotzung vum neie WoW64-Modus op der Plattform gouf bäigefüügt. macOSWell den neie WoW64-Modus e puer kleng Feeler huet, wéi zum Beispill e Manktem u 16-Bit-Ënnerstëtzung an eng reduzéiert OpenGL-Performance wéinst dem Manktem u Ënnerstëtzung fir d'ARB_buffer_storage-Erweiderung, ass en nach net standardméisseg aktivéiert a muss mat der Optioun "--enable-archs=i386,x86_64" am Configure-Skript gebaut ginn.
- D'Méiglechkeet fir existent ausführbar Dateien auszeféieren gouf bäigefüügt. Windows Op Systemer mat der ARM64 Architektur kann Wine elo fir den ARM64EC (ARM64 Emulation Compatible) ABI gebaut ginn, an ARM64EC Moduler kënnen gelueden ginn. Dës Moduler gi benotzt fir d'Portéierung vun Applikatiounen, déi ursprénglech fir d'x86_64 Architektur geschriwwe goufen, op ARM64 Systemer ze vereinfachen, andeems d'Ausféierung vun eenzelnen x86_64 Code Moduler an der ARM64 Ëmfeld mat Hëllef vun engem Emulator erméiglecht gëtt. Ënnerstëtzung gouf fir den ARM64X PE Dateiformat bäigefüügt, wat et erlaabt, eng eenzeg ausführbar Datei souwuel an x64/Arm64EC wéi och an ARM64 Prozesser ze laden. Eng Interface fir d'Emulatioun vun 32-Bit x86 Systemer gouf implementéiert, awer d'Emulatorbibliothéik ass nach net an der Haaptverdeelung vu Wine abegraff (den externen FEX Emulator kann benotzt ginn fir x86 Code an der ARM64 Ëmfeld auszeféieren).
- Grafik Ënnersystem
- De PostScript-Treiber gouf nei designt fir Spooldateien am Format z'ënnerstëtzen Windows, déi Daten iwwer Dréckaufgaben späicheren. Direkt Uruff un den Treiber aus der Unix-Ëmfeld sinn ausgeschloss.
- Däischter Modus Ënnerstëtzung gouf zu WinRT Themen bäigefüügt. Eng Astellung gouf op WineCfg bäigefüügt fir däischter Interface-Design z'erméiglechen.
- De Chauffer fir d'Vulkan Grafik API huet Ënnerstëtzung fir d'Vulkan 1.3.272 Spezifizéierung (8.0 gouf am Wäin 1.3.237 ënnerstëtzt).
- D'Funktioune vun der GdiPlus-Bibliothéik goufen optimiséiert, wat fir eng verstäerkte Grafikleistung erlaabt.
- Direct3D
- D'Parsing vun engem Multi-threaded Kommandostroum gëtt suspendéiert wann et keng Renderingbefehle veraarbecht ginn, wat et erlaabt d'Energieverbrauch op den Niveau vun der Single-threaded Veraarbechtung ze reduzéieren wann Dir Programmer ausféiert, déi net déi ganz Kommandostroumbandbreedung besetzen.
- Direct3D 10 enthält Ënnerstëtzung fir zousätzlech Effekter.
- Leeschtungsoptimiséierunge gemaach fir de WineD3D Code a Backend mat der Vulkan Grafik API.
- De Vulkan API-baséiert Rendering Code kontrolléiert elo wéi eng Fäegkeeten den Apparat ënnerstëtzt a seet der Applikatioun wéi en Niveau vun der Direct3D Funktionalitéit verfügbar ass.
- D'D3DXFillTextureTX an D3DXFillCubeTextureTX Funktiounen goufen ëmgesat.
- De klassesche OpenGL ARB Shader Backend huet Ënnerstëtzung bäigefüügt fir Schatten ze definéieren mat der ARB_fragment_program_shadow Extensioun.
- D3DXLoadMeshHierarchyFromX an ähnlech Funktiounen hunn Ënnerstëtzung bäigefüügt fir Benotzerdaten mat der ID3DXLoadUserData Interface ze lueden.
- Sound a Video
- Eng initial Implementatioun vun der DirectMusic API gouf proposéiert. Zousätzlech Ënnerstëtzung fir Sammlungen, Instrumenter an Toun Echantillon am SoundFont Format. Zousätzlech Ënnerstëtzung fir den Doppler Effekt. Tester goufen ëmgesat fir déi richteg Ëmsetzung z'iwwerpréiwen wann Dir den dmime Sequenzer an den dmsynth MIDI Synthesizer bedreift.
- D'FluidSynth Bibliothéik ass an der DirectMusic API gebaut fir ze benotzen.
- Implementéiert Ënnerstëtzung fir d'Luede vu Soundfonten (SoundFont - Formater fir Sample-baséiert Synthese, déi benotzt gi fir MIDI-Dateien ofzespillen) an den DLS1- an DLS2-Formater, souwéi am SF2-Format, deen an ... benotzt gëtt Linux.
- D'Fäegkeet bäigefüügt fir MIDI Inhalt mat der dmsynth Bibliothéik ze spillen, andeems de FluidSynth Software Synthesizer an den DirectSound API fir Audiooutput benotzt.
- En Decoder fir Video am Indeo IV50 Video Codec Format bäigefüügt.
- Direktnoriichten
- D'DMO (DirectX Media Object) Komponent mat engem WMV Format Decoder gouf implementéiert (Windows Medienvideo).
- En Audio Capture Filter dobäigesat (DirectShow Audio Capture Filter).
- Zousätzlech zu Audio Streams, ënnerstëtzt den MPEG-1 Stream Splitter (DirectShow MPEG-1 Stream Splitter) elo Video Streams a Service Streams.
- E Filter fir Videoen am MPEG-1 Format (DirectShow MPEG-1 Video Decoder) ze Decodéieren ass ëmgesat ginn.
- Input Apparater
- DirectInput ënnerstëtzt Action Mapping, wat Iech erlaabt Knäppercher op engem Spillkontroller op spezifesch Aktiounen a Spiller ze binden.
- Desktop Integratioun
- Bindungen goufen an d'Haaptbenotzerëmfeld exportéiert, wat erlaabt Uwendungen déi ënner Wäin lafen als Protokollhändler genannt ginn wann Dir eng URL opmaacht (zum Beispill Spotify.exe starten wann Dir Links opmaacht wéi "spotify: Benotzer: Spotify: Playlist: 848218482355482821").
- Implementéiert d'Extraktioun vun EDID (Extended Display Identification Data) Daten mat Informatioun iwwer d'Parameteren vum verbonne Monitor, wéi zum Beispill den Numm an de Modell vum Apparat.
- Et ass méiglech eng Desktop-Fënster zouzemaachen, déi am Vollbildmodus ofgebaut gëtt, andeems Dir de "Exit Desktop" Knäppchen am "Start" Menü benotzt.
- Internationaliséierung
- D'Ënnerstëtzung fir IMEs (Input Method Editors) gouf erweidert. Et gouf geschafft fir d'Kompatibilitéit mat nativen Versiounen ze garantéieren. Windows IME-Implementatiounen an eng verbessert Integratioun mat Linux EMI
- Generatioun vu locale Datenbanken am locale.nls Format vun der Unicode CLDR (Unicode Common Locale Data Repository) Versioun 44 Datebank gouf Ënnerstëtzung fir zousätzlech locales bew-ID, blo-BJ, csw-CA, dh-EE, mic-CA. , prg-PL gouf dobäi , skr-PK, tyv-RU, vmw-MZ, xnr-IN an za-CN.
- D'Interface gouf op Georgian iwwersat. Voll Iwwersetzunge gi fir 16 Sprooche geliwwert, an deelweis Iwwersetzunge fir 31 Sproochen.
- Unicode Charaktertabelle goufen op Standardversioun 15.1.0 aktualiséiert. D'Zäitzone Datebank gouf aktualiséiert.
- Kernel (Kernel-Schnittstellen Windows)
- Wéi déi erausginn Versioun Windows standardméisseg definéiert Windows 10.
- Fir ausführbar Dateien am PE-Format gëtt Ënnerstëtzung fir Adressraumrandomiséierung (ASLR) implementéiert, awer d'Adresse fir de Code an d'Erënnerung ze lueden sinn nach net komplett randomiséiert.
- Ënnerstëtzung fir e schwaach fragmentéierte Koup (LFH, Low Fragmentation Heap) gouf implementéiert, wat d'Performance vun den Erënnerungsallokatiounsoperatiounen erhéicht huet.
- Ënnerstëtzung fir Erënnerungsreservatioun (Plazhalter) gouf zum virtuelle Gedächtnisallokatiounsmechanismus bäigefüügt, wat eng Applikatioun erlaabt e spezifescht Gebitt vu virtueller Erënnerung fir zukünfteg Benotzung ze reservéieren.
- 64-Bit Loader (Loader a Preloader) vun ausführbaren Dateien a Bibliothéike ginn am PIE (Position-Independent Executables) Format kompiléiert fir en Deel vum 32-Bit Adressraum ze befreien.
- Korrekt Stack Entwécklung gëtt fir NT System Uriff a Benotzer Callback Uruff zur Verfügung gestallt.
- Networking Funktiounen
- De MSHTML-Motor ënnerstëtzt den "Cycle Collection" Müllsammlungsmechanismus.
- MSHTML huet Ënnerstëtzung fir synchron Veraarbechtung vun XMLHttpRequest Ufroen dobäigesat.
- jscript.dll füügt Ënnerstëtzung fir e WeakMap-Objet fir mat enger Sammlung vu Schlëssel-/Wäertpairen ze schaffen, an deenen de Schlëssel en Objet ass, deen en arbiträre Wäert verbonnen huet. Ëmgesat WeakMap.get (), WeakMap.delete (), WeakMap.clear () an WeakMap.has () Methoden.
- De Gecko Browser-Motor gouf op Versioun 2.47.4 aktualiséiert.
- Ënnerstëtzung fir Notifikatiounen iwwer Ännerungen am Zoustand vun der Netzwierkinterface gouf implementéiert.
- Kryptographie a Sécherheet
- Ënnerstëtzung fir Smart Kaarte gouf an der Winscard.dll Bibliothéik dobäigesat, duerch d'PCSClite Systembibliothéik implementéiert.
- BCrypt huet Ënnerstëtzung fir den Diffie-Hellman Schlësselaustauschprotokoll bäigefüügt.
- De Negotiate Package gouf implementéiert, a bitt eng Schicht fir d'SSPI (Security Support Provider Interface) Interface ze benotzen fir Zougang zu SSP (Security Support Provider) Ubidder.
- Embedded Uwendungen
- De Wäin Debugger (winedbg) benotzt d'Zydis Bibliothéik fir X86 Maschinninstruktiounen ze disassemble.
- D'WineCfg-Interface gouf aktualiséiert fir méi al Versiounen op 64-Bit Plattformen z'ënnerstëtzen. Windows (virun XP), wat Iech erlaabt, al Applikatiounen am WoW64-Modus auszeféieren.
- All agebaute grafesch Uwendungen weisen elo Feelerinformatioun an engem separaten Dialog, anstatt se an der Konsole ze weisen.
- De Programm systeminfo bitt d'Affichage vun Informatiounen aus der WMI-Datebank (Windows Gestiounsinstrumenter).
- Klistapp bäigefüügt fir Kerberos Ticketen ze weisen.
- D'Taskkill Applikatioun implementéiert d'Fäegkeet fir Kannerprozesser zwangsleefeg ofzeschléissen.
- D'Optioun "/ Maschinn" bäigefüügt fir de Start Utility fir d'Architektur ze wielen déi benotzt gëtt wann Dir Hybrid ausführbar leeft déi x86 an ARM ënnerstëtzen.
- Déi meescht vun der Funktionalitéit vum Tasklist Programm ass ëmgesat ginn.
- Eng Basis Implementatioun vun der findstr Applikatioun bäigefüügt.
- Entwécklung Tools
- De WineDump Utility huet d'Méiglechkeet den Inhalt vu Registry-Dateien unzeweisen. Windows (REGF-Format), souwéi d'Uweise vun Daten fir all Architekturen (x86/ARM64), déi an Hybrid-PE-Dateien ënnerstëtzt ginn.
- Den IDL Compiler huet Ënnerstëtzung fir d'"composable", "default_overload", "deprecated" a "geschützt" Attributer bäigefüügt.
- Ewechzehuelen libwine.so, déi am Wine 6.0 ofgeschaaft gouf a laang net méi am Wäin benotzt gouf. Programmer am ELF-Format gebaut an eelere Versioune vu Wäin (5.0 a méi al) mat libwine.so erfuerderen nei opzebauen fir am Wine 9.0 ze lafen.
- Built-in Bibliothéiken an extern Ofhängegkeeten
- D'Bibliothéike FluidSynth 2.3.3, Musl 1.2.3 (nëmme mathematesch Funktiounen) an Zydis 4.0.0 sinn an de Package integréiert.
- Komponente Vkd3d 1.10, Faudio 23.12, OpenLDAP 2.5.16, LCMS2 2.15, LibMPG123 1.32.2, LibPng 1.6.40, LibTiff 4.6.0, LibXml2 2.11.5, LibXslt 1.1.38, LibXslt. De Wäin Mono-Motor mat der Implementatioun vun der .NET Plattform gouf aktualiséiert fir 1.3 erauszekréien.
- De Chauffer winewayland.drv benotzt d'Wayland Clientbibliothéik als extern Ofhängegkeeten, souwéi d'xkbcommon an xkbregistry Bibliothéiken.
- Fir Smart Cards z'ënnerstëtzen, gëtt déi extern PCSClite Bibliothéik benotzt (an macOS — PCSC).
- Bauen PE-Dateien op Net-i386 Plattformen erfuerdert elo e Cross-Compiler mat Ënnerstëtzung fir ".seh" Direktiven fir Ausnamen ze handhaben.
Source: opennet.ru
