Stabil Verëffentlechung vu Wäin 5.0

No engem Joer vun Entwécklung an 28 experimentell Versiounen presentéiert stabil Verëffentlechung vun enger oppener Implementatioun vun der Win32 API - Wäin 5.0, déi méi wéi 7400 Ännerungen abegraff. Déi Schlësselleeschtunge vun der neier Versioun beinhalt d'Liwwerung vun agebaute Wäinmodulen am PE-Format, Ënnerstëtzung fir Multi-Monitor Konfiguratiounen, eng nei Implementatioun vun der XAudio2 Audio API an Ënnerstëtzung fir de Vulkan 1.1 Grafik API.

Am Wäin confirméiert voll Operatioun vun 4869 (e Joer virun 4737) Programmer fir Windows, aner 4136 (e Joer 4045) Programmer Aarbecht perfekt mat zousätzlech Astellungen an externen DLLs. 3635 Programmer hu kleng Leeschtungsprobleemer déi net mat der Benotzung vun Basisapplikatiounsfunktiounen stéieren.

Schlëssel Innovatiounen Wäin 5.0:

  • Moduler am PE Format
    • Mam MinGW Compiler sinn déi meescht Wäinmoduler elo am PE (Portable Executable, benotzt op Windows) ausführbare Dateiformat amplaz ELF gebaut. D'Benotzung vu PE léist Problemer mat der Ënnerstëtzung vu verschiddene Kopieschutzschemaen, déi d'Identitéit vu Systemmoduler op der Scheif an an der Erënnerung verifizéieren;
    • PE executables ginn elo an de ~/.wine ($WINEPREFIX) Verzeichnis kopéiert anstatt Dummy DLL Dateien ze benotzen, wat d'Saachen méi ähnlech wéi real Windows Installatiounen mécht, op d'Käschte fir zousätzlech Disk Space ze konsuméieren;
    • Moduler ëmgerechent an PE Format kënne Standard benotzen wchar C Funktiounen a Konstanten mat Unicode (zum Beispill L"abc");
    • Wine C Runtime huet Ënnerstëtzung bäigefüügt fir mat Binären ze verbannen, déi am MinGW gebaut ginn, déi als Standard benotzt gëtt anstatt MinGW Runtime beim Bauen vun DLLs;
  • Grafik Ënnersystem
    • Zousätzlech Ënnerstëtzung fir mat multiple Monitore a Graphikadapter ze schaffen, och d'Fäegkeet fir dynamesch Astellungen z'änneren;
    • De Chauffer fir de Vulkan Grafik API gouf aktualiséiert fir d'Vulkan 1.1.126 Spezifizéierung ze respektéieren;
    • D'WindowsCodecs-Bibliothéik bitt d'Fäegkeet fir zousätzlech Rasterformater ze konvertéieren, dorënner Formater mat enger indexéierter Palette;
  • Direct3D
    • Wann Dir Vollbildschierm Direct3D Uwendungen leeft, gëtt den Écranspärer Uruff blockéiert;
    • DXGI (DirectX Graphics Infrastructure) huet Ënnerstëtzung dobäigesat fir eng Applikatioun z'informéieren wann seng Fënster miniméiert ass, wat d'Applikatioun erlaabt d'Performance vu Ressourceintensiv Operatiounen ze reduzéieren wann d'Fënster miniméiert;
    • Fir Applikatiounen déi DXGI benotzen, ass et elo méiglech tëscht Vollbildmodus a Fënstere Modus mat der Alt + Enter Kombinatioun ze wiesselen;
    • D'Kapazitéite vun der Direct3D 12 Implementatioun goufen erweidert, zum Beispill gëtt et elo Ënnerstëtzung fir ze wiesselen tëscht Vollbildschierm a Fënstere Modi, Änneren vum Bildschirmmodi, d'Skaléierung vun der Ausgang an d'Gestioun vum Rendering-Puffer Ersatzintervall (Swap-Intervall);
    • Verbesserte Handhabung vu verschiddene Grenzsituatiounen, sou wéi d'Benotzung vun ausserhalb vun der Gamme Input Wäerter fir Transparenz an Déift Tester, Rendering mat reflektéierten Texturen a Puffer, an d'Benotzung vu falschen DirectDraw Objekter Clipper, Erstellt Direct3 Apparater fir falsch Fënsteren, benotzt siichtbar Beräicher deenen hir Minimum Parameter Wäerter gläich dem Maximum sinn, etc.
    • Direct3D 8 an 9 bidden méi genee Tracking "dreckeg» Beräicher vun gelueden Texturen;
    • D'Gréisst vum erfuerderlechen Adressraum beim Luede vun 3D-Texturen, déi mat der S3TC-Methode kompriméiert sinn, gouf reduzéiert (amplaz als Ganzt ze lueden, ginn Texturen a Stécker gelueden).
    • Interface ëmgesat ID3D11Multithread fir kritesch Sektiounen a Multi-threaded Uwendungen ze schützen;
    • Verschidde Verbesserungen a Fixer am Zesummenhang mat Beliichtungsberechnungen goufen fir eeler DirectDraw Uwendungen gemaach;
    • Ëmgesat zousätzlech Uriff fir Informatioun iwwer Shaders an der API ze kréien ShaderReflektioun;
    • wined3d ënnerstëtzt elo Blitter CPU-baséiert fir Veraarbechtung kompriméiert Ressourcen;
    • D'Datebank vun Grafiken Kaarten unerkannt am Direct3D gouf erweidert;
    • Neie Registréierungsschlëssel HKEY_CURRENT_USER\Software\Wine\Direct3D bäigefüügt: "shader_backend" (Backend fir mat Shaders ze schaffen: "glsl" fir GLSL, "arb" fir ARB-Vertex / Fragment an "none" fir Shader Support auszeschalten), "strict_shader_math" ( 0x1 - aktivéieren, 0x0 - deaktivéieren Direct3D Shader Konversioun). De "UseGLSL" Schlëssel deprecéiert (soll "shader_backend" benotzen);
  • D3DX
    • Ënnerstëtzung fir den 3D Texturkompressiounsmechanismus S3TC (S3 Texture Compression) gouf implementéiert;
    • Zousätzlech korrekt Implementatioune vun Operatiounen wéi Texturfüllung an onmappbar Flächen;
    • Verschidde Verbesserungen a Fixer goufen am Kreatiounskader gemaach visuell Effekter;
  • Kernel (Windows Kernel Interfaces)
    • Déi meescht vun de Funktiounen, déi am Kernel32 benotzt ginn, goufen geplënnert
      KernelBase, folgend Ännerungen an der Windows Architektur;

    • D'Kapazitéit fir 32- a 64-Bit DLLs an Verzeichnisser ze vermëschen fir ze lueden. Assuréiert datt Bibliothéiken déi net mat der aktueller Bitdéift passen ignoréiert ginn (32/64), am Fall méi wäit laanscht de Wee ass et méiglech eng Bibliothéik ze fannen déi richteg ass fir déi aktuell Bitdéift;
    • Fir Apparat Chauffeuren, Emulatioun vun Kernel Objete gouf verbessert;
    • Implementéiert Synchroniséierungsobjekter déi um Kernelniveau schaffen, wéi Spin Spären, séier Mutexes a Variabelen, déi un enger Ressource verbonnen sinn;
    • Assuréiert datt Uwendungen korrekt iwwer de Batteriestatus informéiert sinn;
  • Benotzer Interface an Desktop Integratioun
    • Minimaliséiert Fënstere ginn elo mat enger Titelbar ugewisen anstatt mat engem Windows 3.1 Stil Ikon;
    • Nei Knäppercher bäigefüügt SplitButton (Knäppchen mat engem Dropdown-Lëscht vun Aktiounen) an Kommando Linken (Links an Dialog Këschte benotzt fir déi nächst Etapp ze plënneren);
    • Symbolesch Links goufen fir d''Downloads' an 'Templates' Ordner erstallt, déi op déi entspriechend Verzeechnes op Unix Systemer weisen;
  • Input Apparater
    • Beim Start ginn déi néideg Plug & Play Gerät Treiber installéiert a gelueden;
    • Verbesserte Ënnerstëtzung fir Spillcontroller, dorënner e Mini-Joystick (Huttschalter), Lenkrad, Gas- a Bremspedale.
    • Ënnerstëtzung fir déi al Linux Joystick API benotzt an Linux Kernel virun der Versioun 2.2 gouf ofgeschaaft;
  • .NET
    • De Mono-Motor gouf aktualiséiert fir 4.9.4 ze verëffentlechen an enthält elo Deeler vum Windows Presentation Foundation (WPF) Kader;
    • D'Fähigkeit bäigefüügt fir Add-ons mat Mono a Gecko an engem gemeinsame Verzeechnes z'installéieren, Dateien an der /usr/share/Wäin Hierarchie plazéiert anstatt se op nei Präfixe ze kopéieren;
  • Networking Funktiounen
    • De Wine Gecko Browser-Motor, deen an der MSHTML-Bibliothéik benotzt gëtt, gouf aktualiséiert fir 2.47.1. Ënnerstëtzung fir nei HTML APIen gouf implementéiert;
    • MSHTML ënnerstëtzt elo SVG Elementer;
    • Dobäi vill nei VBScript Funktiounen (Zum Beispill, Feeler an Ausnam Handler, Stonn, Dag, Mount, String, LBound, RegExp.Replace, РScriptTypeInfo_* an ScriptTypeComp_Bind * Funktiounen, etc.);
    • Gëtt Erhaalung vun Code Staat an VBScript an JScript (Skript Persistenz);
    • Eng initial Implementatioun vum HTTP-Service (WinHTTP) an der assoziéierter API (HTTPAPI) fir Client- a Serverapplikatiounen bäigefüügt, déi Ufroe mat dem HTTP-Protokoll schécken an kréien;
    • Implementéiert d'Fäegkeet fir HTTP Proxy Astellungen iwwer DHCP ze kréien;
    • Ënnerstëtzung bäigefüügt fir d'Authentifikatiounsufroen duerch de Microsoft Passport Service ze redirectéieren;
  • Kryptografie
    • Implementéiert Ënnerstëtzung fir elliptesch Curve Kryptografesch Schlësselen (ECC) wann Dir GnuTLS benotzt;
    • Füügt d'Fäegkeet fir Schlësselen an Certificaten aus Dateien am PFX-Format z'importéieren;
    • Zousätzlech Ënnerstëtzung fir de Schlësselgeneratiounsschema baséiert op dem PBKDF2 Passwuert;
  • Text a Schrëften
    • D'DirectWrite API Implementatioun huet bäigefüügt Ënnerstëtzung fir OpenType Funktiounen am Zesummenhang mat glyph Positionéierung, déi als Standard fir de Laténgesche Stil aktivéiert sinn, dorënner Kerning;
    • Verbesserte Sécherheet fir d'Veraarbechtung vun Schrëftdaten andeems Dir d'Korrektheet vu verschiddenen Datentabellen iwwerpréift ier se benotzt ginn;
    • DirectWrite Schnëttplazen sinn mat der läscht SDK bruecht ginn;
  • Sound a Video
    • Eng nei Implementatioun vun der Sound API gouf proposéiert XAudio 2, op der Basis vum Projet gebaut FAudio. Benotzt FAudio am Wäin erlaabt Iech méi héich Tounqualitéit a Spiller z'erreechen an Features wéi Volumenmëschung a fortgeschratt Soundeffekter ze benotzen;
    • Eng grouss Zuel vun neien Uriff goufen zur Ëmsetzung vum Media Foundation Kader bäigefüügt, dorënner Ënnerstëtzung fir agebaute a personaliséiert asynchrone Schlaangen, Source Reader API, Media Sessioun, etc.
    • De Video Capture Filter gouf ëmgewandelt fir d'v4l2 API ze benotzen amplaz vun der v4l1 API, déi d'Gamme vu ënnerstëtzte Kameraen erweidert huet;
    • Déi agebaute AVI, MPEG-I a WAVE Decoder goufen ofgeschaaft, anstatt déi de System GStreamer oder QuickTime elo benotzt ginn;
    • En Ënnerdeel vun VMR7 Konfiguratioun APIen dobäigesat;
    • Ënnerstëtzung bäigefüügt fir de Volume vun eenzelne Kanäl op Toun Chauffeuren unzepassen;
  • Internationaliséierung
    • Unicode Dëscher op Versioun 12.1.0 aktualiséiert;
    • Implementéiert Ënnerstëtzung fir Unicode Normaliséierung;
    • Gitt automatesch Installatioun vun der geographescher Regioun (HKEY_CURRENT_USER\Kontrollpanel\International\Geo) baséiert op der aktueller Lokalitéit;
  • RPC/COM
    • Zousätzlech Ënnerstëtzung fir komplex Strukturen an Arrays op typelib;
    • Ugefaangen initial Ëmsetzung vun Windows Script Runtime Bibliothéik;
    • Zousätzlech initial Implementatioun vun der ADO (Microsoft ActiveX Data Objects) Bibliothéik;
  • Installateuren
    • Ënnerstëtzung fir d'Liwwerung vu Patches (Patch Dateien) gouf fir den MSI Installateur implementéiert;
    • D'WUSA (Windows Update Standalone Installer) Utility huet elo d'Méiglechkeet Updates am .MSU Format z'installéieren;
  • ARM Plattform
    • Fir d'ARM64 Architektur ass d'Ënnerstëtzung fir d'Stack-Entwécklung op ntdll bäigefüügt. Zousätzlech Ënnerstëtzung fir extern Libunwind Bibliothéiken ze verbannen;
    • Fir d'ARM64 Architektur ass Ënnerstëtzung fir nahtlos Proxies fir Objektschnëttplazen ëmgesat ginn;
  • Entwécklung Tools / Winelib
    • D'Fähigkeit bäigefüügt fir den Debugger vu Visual Studio ze benotzen fir Applikatiounen op afstand ze debuggen, déi am Wine lafen;
    • D'DBGENG (Debug Engine) Bibliothéik gouf deelweis ëmgesat;
    • Binaries, déi fir Windows kompiléiert sinn, hänken net méi vu Libwine of, sou datt se op Windows lafen ouni zousätzlech Ofhängegkeeten;
    • Added '--sysroot' Optioun fir Ressource Compiler an IDL Compiler fir de Wee fir Header Dateien ze bestëmmen;
    • Zousätzlech Optiounen '-Target', '-wine-objdir', '-wine-objdir' op winegcc
      '—winebuild' an '-fuse-ld', déi d'Ëmfeld fir d'Kräizkompiléierung vereinfachen;

  • Embedded Uwendungen
    • E CHCP Utility implementéiert fir Konsolkodéierung ze konfiguréieren;
    • D'MSIDB Utility fir Datenbanken am MSI Format ze manipuléieren ass implementéiert ginn;
  • Optimiséierung vun der Leeschtung
    • Verschidde timing Funktiounen goufen zu engem benotzen héich-Performance System Timer Fonctiounen migrated, reduzéieren d'Overhead an der Render- Loop vu ville Spiller;
    • D'Fäegkeet bäigefüügt fir Ext4 an FS ze benotzen Regime Aarbecht ouni Fall Empfindlechkeet;
    • D'Performance vun der Veraarbechtung vun enger grousser Zuel vun Elementer an Lëscht Display Dialogen, déi am LBS_NODATA Modus operéieren, gouf optimiséiert;
    • Eng méi séier Implementatioun vu SRW-Schlässer (Slim Reader / Writer) fir Linux dobäigesat, op Futex iwwersat;
  • Extern Ofhängegkeeten
    • Fir Moduler am PE-Format ze montéieren, gëtt de MinGW-w64 Cross-Compiler benotzt;
    • Ëmsetzung vun XAudio2 erfuerdert d'FAudio Bibliothéik;
    • Fir Dateiännerungen op BSD Systemer ze verfolgen
      d'Inotify Bibliothéik gëtt benotzt;

    • Fir Ausnamen op der ARM64 Plattform ze handhaben, ass d'Unwind-Bibliothéik erfuerderlech;
    • Amplaz Video4Linux1 ass d'Video4Linux2 Bibliothéik elo erfuerderlech.

Source: opennet.ru

Setzt e Commentaire