Stabil Verëffentlechung vu Wäin 7.0

No engem Joer vun der Entwécklung an 30 experimentell Versioune gouf eng stabil Verëffentlechung vun der oppener Implementatioun vun der Win32 API presentéiert - Wine 7.0, déi méi wéi 9100 Ännerungen integréiert huet. D'Schlësselerreeche vun der neier Versioun enthalen d'Iwwersetzung vun de meeschte Wäinmoduler an PE-Format, Ënnerstëtzung fir Themen, Expansioun vum Stack fir Joysticks an Input-Geräter mat engem HID Interface, an Implementatioun vun der WoW64 Architektur fir 32-Bit Programmer an engem 64-bëssen Ëmfeld.

Wäin huet déi voll Operatioun vun 5156 (e Joer virun 5049) Programmer fir Windows bestätegt, aner 4312 (e Joer virun 4227) Programmer funktionnéieren perfekt mat zousätzlech Astellungen an externen DLLs. 3813 Programmer (virun 3703 Joer) hu kleng operationell Probleemer déi d'Benotzung vun den Haaptfunktiounen vun den Uwendungen net stéieren.

Schlëssel Innovatiounen am Wine 7.0:

  • Moduler am PE Format
    • Bal all DLLs goufen ëmgewandelt fir de PE (Portable Executable, benotzt op Windows) ausführbar Dateiformat amplaz vun ELF ze benotzen. D'Benotzung vu PE léist Probleemer mat der Ënnerstëtzung vu verschidde Kopieschutzschemaen déi d'Identitéit vu Systemmoduler op der Scheif an an der Erënnerung verifizéieren.
    • D'Kapazitéit fir PE Moduler mat Unix Bibliothéiken ze interagéieren mat dem Standard NT Kernel System Call gouf implementéiert, wat Iech erlaabt den Zougang zum Unix Code vu Windows Debuggers ze verstoppen an d'Threadregistréierung ze iwwerwaachen.
    • Built-in DLLs ginn elo nëmmen gelueden wann et eng entspriechend PE-Datei op der Disk ass, egal ob et eng richteg Bibliothéik oder e Stull ass. Dës Ännerung erlaabt d'Applikatioun ëmmer déi richteg Bindung un PE-Dateien ze gesinn. Fir dëst Verhalen auszeschalten, kënnt Dir d'WINEBOOTSTRAPMODE Ëmfeld Variabel benotzen.
  • WoW64
    • D'WoW64 Architektur (64-Bit Windows-on-Windows) gouf implementéiert, wat Iech erlaabt 32-Bit Windows Uwendungen an 64-Bit Unix Prozesser auszeféieren. Ënnerstëtzung gëtt duerch d'Verbindung vun enger Schicht implementéiert déi 32-Bit NT System Uriff an 64-Bit Uriff op NTDLL iwwersetzt.
    • WoW64 Schichten si fir déi meescht Unix Bibliothéike virbereet an erlaben 32-Bit PE Moduler Zougang zu 64-Bit Unix Bibliothéiken. Wann all Moduler an PE-Format ëmgewandelt goufen, ass et méiglech 32-Bit Windows Uwendungen auszeféieren ouni 32-Bit Unix Bibliothéiken z'installéieren.
  • Themen
    • Thema Ënnerstëtzung gouf ëmgesat. D'Designthemen "Light", "Blue" a "Classic Blue" si mat abegraff, déi duerch de WineCfg Konfigurator ausgewielt kënne ginn.
    • Füügt d'Fäegkeet fir d'Erscheinung vun all Interface Kontrollen duerch Themen ze personaliséieren. D'Erscheinung vun Elementer gëtt automatesch aktualiséiert nodeems d'Designthema geännert gëtt.
    • Thema Ënnerstëtzung gouf zu all agebaute Wäin Uwendungen bäigefüügt. Uwendungen goufen op Schiirme mat héijer Pixel Dicht (High DPI) ugepasst.
  • Grafik Ënnersystem
    • Eng nei Win32u Bibliothéik gouf bäigefüügt, déi Deeler vun de GDI32 an USER32 Bibliothéike enthält am Zesummenhang mat Grafikveraarbechtung a Fënsterverwaltung um Kernelniveau. An Zukunft wäert d'Aarbecht un d'Porting vun Treiberkomponenten wéi winex32.drv an winemac.drv op Win11u ufänken.
    • De Vulkan Chauffer ënnerstëtzt d'Vulkan Grafik API Spezifizéierung 1.2.201.
    • Gitt Ënnerstëtzung fir d'Output vun geschaafte geometreschen Objeten iwwer d'Direct2D API, mat der Fäegkeet ze kontrolléieren ob e Klick trefft (Hit-Test).
    • D'Direct2D API bitt initial Ënnerstëtzung fir visuell Effekter applizéiert mat der ID2D1Effect Interface.
    • D'Direct2D API huet Ënnerstëtzung fir d'ID2D1MultiThread Interface bäigefüügt, déi benotzt gëtt fir exklusiv Zougang zu Ressourcen a Multi-threaded Uwendungen ze organiséieren.
    • D'WindowsCodecs-Set vu Bibliothéike bitt Ënnerstëtzung fir d'Dekodéierung vun Biller am WMP (Windows Media Photo) Format an d'Kodéierung vun Biller am DDS (DirectDraw Surface) Format. Mir ënnerstëtzen net méi Kodéierungsbilder am ICNS Format (fir macOS), wat net op Windows ënnerstëtzt gëtt.
  • Direct3D
    • Den neie Rendering-Motor gouf wesentlech verbessert, Direct3D-Uriff iwwersat op d'Vulkan Grafik API. An de meeschte Situatiounen ass den Niveau vun der Ënnerstëtzung fir Direct3D 10 an 11 am Vulkan-baséiert Motor zu Paritéit mat dem eelere OpenGL-baséiert Motor bruecht. Fir de Vulkan Renderingmotor z'aktivéieren, setzt d'Direct3D Registry Variabel "Renderer" op "vulkan".
    • Vill Features vun Direct3D 10 an 11 ginn implementéiert, dorënner Deferred Contexts, Staatsobjekter, déi am Apparatkontext operéieren, persistent Offsets a Puffer, läschen ausseruerdentlech Texturvisiounen, Kopie vun Daten tëscht Ressourcen an typelos Formater (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32_32TYPELESS32_XNUMX) etc. .
    • Zousätzlech Ënnerstëtzung fir Multi-Monitor Konfiguratiounen, wat Iech erlaabt e Monitor ze wielen fir eng Direct3D Applikatioun am Vollbildmodus ze weisen.
    • D'DXGI API liwwert Écran Gamma Korrektur, déi vun Direct3D 10 an 11 baséiert Uwendungen benotzt ka ginn fir Écran Hellegkeet z'änneren. Aktivéiert Erhuelung vu virtuelle Framebuffers counters (SwapChain).
    • Direct3D 12 füügt Ënnerstëtzung fir Versioun 1.1 Root Ënnerschrëften.
    • Am Renderingcode iwwer de Vulkan API ass d'Effizienz vun der Ufroveraarbechtung verbessert ginn wann de System d'VK_EXT_host_query_reset Extensioun ënnerstëtzt.
    • D'Fäegkeet bäigefüügt fir virtuelle Framebuffers (SwapChain) iwwer GDI auszeginn wann OpenGL oder Vulkan net fir Affichage benotzt kënne ginn, zum Beispill, wann Dir op eng Fënster aus verschiddene Prozesser ausgëtt, zum Beispill a Programmer baséiert op dem CEF (Chromium Embedded Framework) Kader.
    • Wann Dir den GLSL Shader Backend benotzt, ass de "präzise" Modifikateur fir Shader Instruktioune gesuergt.
    • D'DirectDraw API füügt Ënnerstëtzung fir 3D Rendering a Systemspeicher mat Software Geräter wéi "RGB", "MMX" a "Ramp".
    • AMD Radeon RX 3M, AMD Radeon RX 5500/6800 XT/6800 XT, AMD Van Gogh, Intel UHD Graphics 6900 an NVIDIA GT 630 Kaarte goufen an d'Direct1030D Grafikkaart Datebank dobäigesat.
    • De "UseGLSL" Schlëssel gouf aus dem HKEY_CURRENT_USER\Software\Wine\Direct3D Registry geläscht, anstatt deem, mat Wine 5.0 unzefänken, musst Dir "shader_backend" benotzen.
    • Fir Direct3D 12 z'ënnerstëtzen, braucht Dir elo op d'mannst Versioun 3 vun der vkd1.2d Bibliothéik.
  • D3DX
    • D'D3DX 10 Implementatioun huet d'Ënnerstëtzung fir de visuellen Effekt Kader verbessert an d'Ënnerstëtzung fir de Windows Media Photo Bildformat (JPEG XR) bäigefüügt.
    • Zousätzlech Texturkreatiounsfunktiounen, déi an D3DX10 geliwwert ginn, wéi D3DX10CreateTextureFromMemory ().
    • D'ID3DX10Sprite an ID3DX10Font Software Interfaces goufen deelweis implementéiert.
  • Sound a Video
    • GStreamer Add-ons fir DirectShow an de Media Foundation Kader ginn an ee gemeinsame WineGStreamer Backend kombinéiert, wat d'Entwécklung vun neien Inhaltsdekodéierungs-APIs vereinfachen sollt.
    • Baséierend op dem WineGStreamer Backend, ginn Windows Media Objekter fir synchron an asynchron Liesen implementéiert.
    • D'Ëmsetzung vum Media Foundation Kader gouf weider raffinéiert, Ënnerstëtzung fir d'IMFPMediaPlayer Funktionalitéit a Probe Allocator gouf bäigefüügt, an Ënnerstëtzung fir EVR an SAR Rendering Puffer gouf verbessert.
    • D'Wineqtdecoder-Bibliothéik, déi en Decoder fir de QuickTime-Format ubitt, gouf geläscht (all Codecs benotzen elo GStreamer).
  • Input Apparater
    • De Stack fir Input-Geräter, déi den HID (Human Interface Devices) Protokoll ënnerstëtzen, gouf wesentlech verbessert, bitt Fäegkeeten wéi d'Parsing vun HID Descriptoren, d'Veraarbechtung vun HID Messagen, a liwwert Mini-HID Treiber.
    • An de Backends vum winebus.sys Chauffer ass d'Iwwersetzung vun Apparatbeschreiwungen an HID Messagen verbessert ginn.
    • En neien DirectInput Backend bäigefüügt fir Joysticks déi den HID Protokoll ënnerstëtzen. D'Fäegkeet fir Feedback Effekter a Joysticks ze benotzen ass ëmgesat ginn. Verbesserte Joystick Kontrollpanel. Optimiséiert Interaktioun mat XInput kompatibel Geräter. Am WinMM gouf Joystick Support op DInput geplënnert, anstatt den evdev Backend op Linux an IOHID op macOS IOHID ze benotzen. Den ale Joystick Chauffer winejoystick.drv gouf geläscht.
    • Nei Tester goufen am DInput Modul bäigefüügt, baséiert op der Notzung vu virtuellen HID-Geräter an net erfuerderlech e kierperlecht Apparat.
  • Text a Schrëften
    • Dobäi Font Set Objet op DirectWrite.
    • RichEdit implementéiert den TextHost Interface korrekt.
  • Kernel (Windows Kernel Interfaces)
    • Wann Dir eng onidentifizéiert ausführbar Datei (wéi 'wine foo.msi') am Wine leeft, gëtt start.exe elo genannt, wat Handler oprufft, déi mam Dateityp verbonne sinn.
    • Zousätzlech Ënnerstëtzung fir Synchroniséierungsmechanismen NtAlertThreadByThreadId an NtWaitForAlertByThreadId, ähnlech wéi Futexes am Linux.
    • Ënnerstëtzung bäigefüügt fir NT Debug Objekter déi benotzt gi fir Kernelfunktiounen ze debuggen.
    • Zousätzlech Ënnerstëtzung fir dynamesch Registry Schlësselen fir Leeschtungsdaten ze späicheren.
  • C Runtime
    • D'C Runtime implementéiert e komplette Set vu mathematesch Funktiounen, déi haaptsächlech aus der Musl Bibliothéik iwwerdroe ginn.
    • All CPU Plattformen bidden korrekt Ënnerstëtzung fir Floating Point Funktiounen.
  • Networking Funktiounen
    • Verbesserte Kompatibilitéitsmodus fir Internet Explorer 11 (IE11), deen elo als Standard benotzt gëtt fir HTML Dokumenter ze veraarbecht.
    • D'mshtml-Bibliothéik implementéiert den ES6 JavaScript-Modus (ECMAScript 2015), deen Ënnerstëtzung fir Features wéi de Let-Expression an de Kaartobjekt gëtt.
    • Installatioun vu MSI Packagen mat Ergänzunge vum Gecko-Motor an de Wäin-Aarbechtsverzeechnes gëtt elo gemaach wann néideg, an net während engem Wäinupdate.
    • Zousätzlech Ënnerstëtzung fir DTLS Protokoll.
    • Den NSI (Network Store Interface) Service gouf implementéiert, späichert a vermëttelt Informatioun iwwer Routing an Netzwierkinterfaces um Computer op aner Servicer.
    • WinSock API Handler wéi Setsockopt a Getsockopt goufen op NTDLL an den afd.sys Chauffer geplënnert fir mat der Windows Architektur ze konform.
    • Dem Wine seng eege Netzwierkdatenbankdateien, wéi /etc/protocols an /etc/networks, sinn elo am Wine Working Verzeichnis installéiert, anstatt op ähnlech Unix-Datebanken ze kommen.
  • Alternativ Plattformen
    • Zousätzlech Ënnerstëtzung fir Apple Ausrüstung baséiert op M1 ARM Chips (Apple Silicon).
    • Ënnerstëtzung fir BCrypt a Secur32 Funktiounen op macOS erfuerdert elo Installatioun vun der GnuTLS Bibliothéik.
    • 32-Bit Ausführbar fir ARM Plattformen sinn elo am Thumb-2 Modus gebaut, ähnlech wéi Windows. E Preloader gëtt benotzt fir sou Dateien ze lueden.
    • Fir 32-Bit ARM Plattformen ass d'Ënnerstëtzung fir Ausnahmen z'entspanen implementéiert.
    • Fir FreeBSD ass d'Zuel vun ënnerstëtzten Ufroe fir Low-Level Systeminformatioun, wéi Erënnerungsstatus a Batterieladungsniveau, erweidert ginn.
  • Built-in Uwendungen an Entwécklungsinstrumenter
    • D'reg.exe Utility huet Ënnerstëtzung fir 32- a 64-Bit Registry Views bäigefüügt. Zousätzlech Ënnerstëtzung fir Registry Schlësselen ze kopéieren.
    • De WineDump Utility huet Ënnerstëtzung bäigefüügt fir Windows Metadaten ze dumpen an detailléiert Informatioun iwwer CodeView Entréen ze weisen.
    • De Wine Debugger (winedbg) bitt d'Fäegkeet fir 32-Bit Prozesser vun engem 64-Bit Debugger ze debuggen.
    • D'Kapazitéit fir Bibliothéiken a PE-Dateien ze lueden ass an den IDL Compiler (widl) bäigefüügt ginn, Ënnerstëtzung fir WinRT-spezifesch Attributer a Konstruktioune gouf zur Verfügung gestallt, an eng Plattformspezifesch Bibliothéikssich gouf ëmgesat.
  • Assemblée System
    • An arkitekturspezifesche Verzeichnisser ginn d'Bibliothéike mat Nimm gespäichert, déi d'Architektur an d'Art vum ausführbar reflektéieren, zum Beispill 'i386-Fensteren' fir de PE-Format an 'x86_64-unix' fir Unix-Bibliothéiken, wat Ënnerstëtzung fir verschidden Architekturen an engem eenzeg Wäininstallatioun a bitt Cross-Kompilatioun vu Winelib.
    • Fir eng Optioun an den Header vun PE-Dateien ze setzen, déi den Iwwergank kontrolléiert fir gebierteg DLLs ze benotzen, ass de Fändel '--prefer-native option' op Winbuild bäigefüügt (DLL_WINE_PREATTACH Veraarbechtung an DllMain gouf gestoppt).
    • Zousätzlech Ënnerstëtzung fir Versioun 4 vum Zwerg Debug Dateformat, deen elo als Standard benotzt gëtt wann Dir Wäinbibliothéiken baut.
    • Added Build Optioun '—enable-build-id' fir eenzegaarteg Build Identifizéierer an ausführbare Dateien ze späicheren.
    • Zousätzlech Ënnerstëtzung fir de Clang Compiler am MSVC Kompatibilitéitsmodus ze benotzen.
  • Разное
    • D'Nimm vun typesche Verzeichnisser an der User Shell (Windows Shell) ginn dem Schema benotzt mat Windows Vista, d.h. Amplaz vun 'Meng Dokumenter' gëtt elo en 'Dokumenter' Verzeechnes erstallt, an déi meescht vun den Donnéeën ginn an den 'AppData' Verzeichnis gespäichert.
    • Ënnerstëtzung fir d'OpenCL 1.2 Spezifizéierung gouf an d'OpenCL Bibliothéik Schicht bäigefüügt.
    • De WinSpool-Treiber huet Ënnerstëtzung fir verschidde Säitegréissten beim Drock bäigefüügt.
    • Zousätzlech Ënnerstëtzung fir MSDASQL, dem Microsoft OLE DB Provider fir ODBC Treiber.
    • De Wäin Mono-Motor mat der Ëmsetzung vun der .NET Plattform gouf aktualiséiert fir d'Verëffentlechung 7.0.0.
    • Unicode Daten goufen op d'Unicode 14 Spezifizéierung aktualiséiert.
    • De Quellbaum enthält d'Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt an Zlib Bibliothéiken, déi am PE Format kompiléiert sinn an keng Versioun am Unix Format erfuerderen. Zur selwechter Zäit kënnen dës Bibliothéiken och aus dem System importéiert ginn fir extern Versammlungen ze benotzen anstatt agebaute PE-Optiounen.

Source: opennet.ru

Setzt e Commentaire