Stabiele release van Wine 5.0

Na een jaar van ontwikkeling en 28 experimentele versies is gepresenteerd de stabiele release van de open source implementatie van de Win32 API — Wine 5.0, die meer dan 7400 wijzigingen omvat. Belangrijke prestaties van de nieuwe versie zijn de levering van ingebouwde Wine-modules in PE-indelingen, ondersteuning voor multi-monitorconfiguraties, de nieuwe implementatie van de geluid API XAudio2 en ondersteuning voor de grafische API Vulkan 1.1.

Met Wine is bevestigd is er volledige functionaliteit voor 4869 (vorig jaar 4737) Windows-programma's, en nog eens 4136 (vorig jaar 4045) programma's werken uitstekend met extra configuraties en externe DLL's. Bij 3635 programma's zijn er kleine problemen die het gebruik van de belangrijkste functies niet belemmeren.

Belangrijkste vernieuwingen Wine 5.0:

  • Modules in PE-formaat
    • Met de MinGW-compiler worden de meeste Wine-modules nu samengesteld als PE (Portable Executable, gebruikt in Windows) in plaats van ELF. Het gebruik van PE lost problemen op met de ondersteuning van verschillende kopieerbeveiligingsschema's, die de identiteit van systeemmodules op de schijf en in het geheugen controleren;
    • PE-uitvoerbare bestanden worden nu gekopieerd naar de map ~/.wine ($WINEPREFIX) in plaats van fictieve DLL-bestanden te gebruiken, waardoor de opbouw meer lijkt op echte Windows-installaties, ten koste van extra schijfruimte;
    • Modules die zijn omgezet naar PE-indeling kunnen standaard wchar C-functies en constanten met Unicode gebruiken (bijvoorbeeld, L"abc");
    • In de Wine C-runtime is ondersteuning toegevoegd voor het koppelen aan binaire bestanden die in MinGW zijn samengesteld, die standaard wordt gebruikt bij het samenstellen van DLL's in plaats van de MinGW-runtime;
  • Grafisch subsysteem
    • Er is ondersteuning toegevoegd voor het werken met meerdere monitors en grafische adapters, inclusief de mogelijkheid om instellingen dynamisch te wijzigen;
    • De driver voor de grafische API Vulkan is bijgewerkt en is in overeenstemming gebracht met de specificatie Vulkan 1.1.126;
    • In de WindowsCodecs-bibliotheek is de mogelijkheid geĆÆmplementeerd om aanvullende rasterformaten om te zetten, inclusief formats met een geĆÆndexeerde kleurenpalet;
  • Direct3D
    • Bij het uitvoeren van fullscreen Direct3D-applicaties is er een blokkade van het screensaver-oproepen;
    • In DXGI (DirectX Graphics Infrastructure) is ondersteuning toegevoegd om de applicatie te informeren over het minimaliseren van het venster, wat de applicatie in staat stelt om resource-intensievere operaties te verminderen bij het minimaliseren van het venster;
    • Voor toepassingen die DXGI gebruiken, is de mogelijkheid geĆÆmplementeerd om te schakelen tussen de volledig scherm- en venstermodus met de combinatie Alt+Enter;
    • De mogelijkheden van Direct3D 12 zijn uitgebreid, bijvoorbeeld met ondersteuning voor schakelen tussen volledig scherm en venstermodus, het wijzigen van schermmodi, het weergeven met schaling en het beheren van de vervangingsinterval van de weergavebuffers;
    • De verwerking van verschillende randgevallen is verbeterd, zoals het gebruik van invoerwaarden die buiten de toegestane reeksen vallen voor transparantie- en dieptetests, het weergeven met weerspiegelde texturen en buffers, en het gebruik van ongeldige DirectDraw-objecten. clipper, het creĆ«ren van Direct3-apparaten voor ongeldige vensters, het gebruik van zichtbare gebieden met minimale waarden die gelijk zijn aan maximale waarden, enz.
    • In Direct3D 8 en 9 is een nauwkeurigere tracking van "vuile" gebieden van geladen texturen verzekerd;
    • De benodigde adresruimte voor het laden van 3D-texturen, gecomprimeerd met de S3TC-methode, is verminderd (in plaats van volledig te laden, worden texturen in delen geladen).
    • De interface ID3D11Multithread is geĆÆmplementeerd om kritieke secties in multithread-applicaties te beschermen;
    • Voor oudere DirectDraw-toepassingen zijn verschillende verbeteringen en correcties aangebracht met betrekking tot belichtingsberekeningen;
    • Extra aanroepen zijn geĆÆmplementeerd om informatie over shaders te verkrijgen in de API ShaderReflection;
    • In wined3d is ondersteuning toegevoegd voor CPU-gebaseerde blitters voor het verwerken van gecomprimeerde bronnen; De database van grafische kaarten die door Direct3D worden herkend, is uitgebreid;
    • Nieuwe registersleutels zijn toegevoegd aan HKEY_CURRENT_USER\Software\Wine\Direct3D: "shader_backend" (backend voor shaderverwerking: "glsl" voor GLSL, "arb" voor ARB vertex/fragment en "none" voor het uitschakelen van shaderondersteuning), "strict_shader_math" (0x1 - inschakelen, 0x0 - uitschakelen van de conversie van Direct3D-shaders). De sleutel "UseGLSL" is verouderd verklaard (gebruik "shader_backend");
    • Ondersteuning voor het compressiemechanisme voor 3D-texturen S3TC (S3 Texture Compression) is geĆÆmplementeerd;
  • D3DX
  • Kern (Windows kerninterfaces)
    • KernelBase, in lijn met de veranderingen in de architectuur van Windows;
      KernelBase, volgend de veranderingen in de architectuur van Windows;
    • De mogelijkheid om 32-bits en 64-bits DLL's te mengen in de gebruikte mappen voor het laden. Biedt de mogelijkheid om bibliotheken die niet overeenkomen met de huidige bitdiepte (32/64) te negeren, voor het geval er verderop in het pad een geschikte bibliotheek voor de huidige bitdiepte te vinden is;
    • Voor apparaatstuurprogramma's is de emulatie van kernelobjecten verbeterd;
    • Kernel-level synchronisatie-objecten zijn geĆÆmplementeerd, zoals spinlocks, snelle mutexen en resource-gebonden variabelen;
    • Zorgvuldige informatievoorziening aan applicaties over de status van de batterij;
  • Gebruikersinterface en integratie met het bureaublad
    • Gemini minimal windows worden nu weergegeven met een titel in plaats van een pictogram in de stijl van Windows 3.1;
    • Nieuwe knoppestijlen zijn toegevoegd SplitButton (knop met een afrolmenu met acties) en Command Links (links in dialoogvensters die worden gebruikt om naar de volgende fase te gaan);
    • Voor de mappen ā€˜Downloads’ en ā€˜Templates’ zijn symbolische links gecreĆ«erd die naar de overeenkomstige mappen in Unix-systemen verwijzen;
  • Invoerapparaten
    • Bij het opstarten worden de benodigde Plug & Play-apparaatstuurprogramma's geĆÆnstalleerd en geladen;
    • Verbeterde ondersteuning voor spelcontrollers, inclusief mini-joysticks (hat switch), sturen, en gas- en rempedalen.
    • Ondersteuning voor de oude Linux API voor joystickinteracties, gebruikt in Linux-kernels tot versie 2.2, is stopgezet;
  • .NET
    • De Mono-engine is bijgewerkt naar versie 4.9.4 en bevat nu delen van het Windows Presentation Foundation (WPF) framework;
    • De mogelijkheid om extensies met Mono en Gecko in ƩƩn gezamenlijke map te installeren met bestandshierarchie in /usr/share/wine in plaats van kopiĆ«ren naar nieuwe prefixes;
  • Netwerkfunctionaliteiten
    • De Wine Gecko-browserengine, die wordt gebruikt in de MSHTML-bibliotheek, is bijgewerkt naar versie 2.47.1. Ondersteuning voor nieuwe HTML API's is geĆÆmplementeerd;
    • In MSHTML is ondersteuning voor SVG-elementen geĆÆmplementeerd;
    • Vele nieuwe functies van VBScript zijn toegevoegd (bijvoorbeeld fout- en uitzonderingafhandelaars, functies Hour, Day, Month, String, LBound, RegExp.Replace, RScriptTypeInfo_* en ScriptTypeComp_Bind* etc.);
    • De status van de code is behouden in VBScript en JScript (script persistentie);
    • Een initiĆ«le implementatie van de HTTP-service (WinHTTP) en de bijbehorende API (HTTPAPI) voor client- en serverapplicaties, die aanvragen verzenden en ontvangen via het HTTP-protocol, is toegevoegd;
    • De mogelijkheid om HTTP-proxy-instellingen via DHCP te verkrijgen is geĆÆmplementeerd;
    • Ondersteuning voor het omleiden van authenticatieverzoeken via de Microsoft Passport-service is toegevoegd;
  • Cryptografie
    • Ondersteuning voor cryptografische sleutels op basis van elliptische krommen (ECC) geĆÆmplementeerd bij gebruik van GnuTLS;
    • De mogelijkheid om sleutels en certificaten te importeren vanuit bestanden in PFX-formaat is toegevoegd;
    • Ondersteuning voor de wachtwoordgebaseerde sleutelgeneratie PBKDF2 is toegevoegd;
  • Tekst en lettertypen.
    • De implementatie van de DirectWrite API heeft ondersteuning gekregen voor OpenType-functies met betrekking tot glyphpositie, die standaard zijn ingeschakeld voor de Latijnse schriftsoort, inclusief kerning;
    • De beveiliging van het verwerken van lettertypegegevens is verbeterd door de geldigheid van verschillende gegevens tabellen te controleren voordat ze worden gebruikt;
    • De interfaces van DirectWrite zijn afgestemd op de nieuwste SDK;
  • Geluid en video
    • Een nieuwe implementatie van de geluid API XAudio2, die is gebaseerd op het project FAudio. Het gebruik van FAudio in Wine zorgt voor een betere geluidskwaliteit in games en maakt functies mogelijk zoals volumemenging en uitgebreide geluidseffecten;
    • Een groot aantal nieuwe aanroepen is toegevoegd aan de implementatie van het Media Foundation-framework, inclusief ondersteuning voor ingebouwde en door de gebruiker gedefinieerde asynchrone wachtrijen, Source Reader API, Media Session, enz.
    • De video-opnamefilter is omgeschakeld naar het gebruik van de API v4l2 in plaats van de v4l1 API, wat de reikwijdte van ondersteunde camera's heeft uitgebreid;
    • Ingebouwde AVI-, MPEG-I- en WAVE-decoders zijn verwijderd, waarvoor nu systeem GStreamer of QuickTime wordt gebruikt;
    • Een subset van configuratie-API's VMR7 is toegevoegd;
    • Ondersteuning voor het aanpassen van het volume van afzonderlijke kanalen is toegevoegd aan de geluidsdrivers;
  • Internationalisatie
    • Unicode-tabellen zijn bijgewerkt naar versie 12.1.0;
    • Ondersteuning voor Unicode-normalisatie is geĆÆmplementeerd;
    • De automatische instelling van de geografische regio (HKEY_CURRENT_USER\Control Panel\International\Geo) op basis van de huidige locale is verzekerd;
  • RPC/COM
    • Ondersteuning voor complexe structuren en arrays is toegevoegd aan de typelib;
    • Een initiĆ«le implementatie van de runtime-bibliotheek voor Windows Script is toegevoegd;
    • Een initiĆ«le implementatie van de ADO-bibliotheek (Microsoft ActiveX Data Objects) is toegevoegd;
  • Installateurs
    • Voor de MSI-installateur is ondersteuning voor het leveren van patches (Patch Files) geĆÆmplementeerd;
    • De WUSA-hulpprogramma (Windows Update Standalone Installer) heeft nu de mogelijkheid toegevoegd om updates in het .MSU-formaat te installeren;
  • Het ARM-platform
    • Voor de ARM64-architectuur is ondersteuning voor stack unwinding toegevoegd in ntdll. Ondersteuning voor het verbinden van externe bibliotheken zoals libunwind is toegevoegd;
    • Voor de ARM64-architectuur is ondersteuning voor naadloze proxies (stubless proxies) voor objectinterfaces geĆÆmplementeerd;
  • Ontwikkelingshulpmiddelen / Winelib
    • De mogelijkheid om de debugger van Visual Studio te gebruiken voor de externe debugging van applicaties die draaien in Wine is toegevoegd;
    • De DBGENG (Debug Engine) bibliotheek is gedeeltelijk geĆÆmplementeerd;
    • De uitvoerbare bestanden voor Windows zijn niet langer afhankelijk van libwine, waardoor ze in Windows kunnen worden uitgevoerd zonder extra afhankelijkheden;
    • In de Resource Compiler en IDL Compiler is de optie ā€˜ā€”sysroot’ toegevoegd om het pad naar de headerbestanden te definiĆ«ren;
    • De opties ā€˜ā€”target’, ā€˜ā€”wine-objdir’, ā€˜ā€”winebuild’ en ā€˜-fuse-ld’ zijn toegevoegd aan winegcc, waardoor de configuratie van de omgeving voor cross-compilatie eenvoudiger wordt;
      ā€˜ā€”winebuild’ en ā€˜-fuse-ld’, die de configuratie van de omgeving voor cross-compilatie vereenvoudigen;
  • Ingebouwde toepassingen
    • De CHCP-tool is geĆÆmplementeerd voor het instellen van de consolecodering;
    • De MSIDB-tool is geĆÆmplementeerd voor het manipuleren van databases in het MSI-formaat;
  • Prestatieoptimalisatie
    • Verschillende tijdsgerelateerde functies zijn omgezet naar het gebruik van hoge-prestatie systeemfuncties voor timers, wat de overhead in de weergavecyclus van vele games heeft verminderd;
    • De mogelijkheid om in FS Ext4 te gebruiken is toegevoegd modus operatie zonder rekening te houden met hoofdlettergebruik;
    • Prestatieoptimalisatie van het verwerken van een groot aantal elementen in dialoogvensters met lijstweergave die werken in de modus LBS_NODATA is uitgevoerd;
    • Een snellere implementatie van SRW-locks (Slim Reader/Writer) voor Linux is toegevoegd, omgezet naar Futex;
  • Externe afhankelijkheden
    • Voor het bouwen van modules in PE-formaat is de cross-compiler MinGW-w64 gebruikt;
    • De implementatie van XAudio2 vereist de FAudio-bibliotheek;
    • Voor het volgen van wijzigingen in bestanden op BSD-systemen is de Inotify-bibliotheek ingezet;
      Voor het afhandelen van uitzonderingen op het ARM64-platform is de Unwind-bibliotheek nodig;
    • In plaats van Video4Linux1 is nu de bibliotheek Video4Linux2 vereist.
    • Na een jaar ontwikkeling en 28 experimentele versies is de stabiele release van de open implementatie van de Win32 API gepresenteerd -

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster