Stabiele release van Wine 8.0

Na een jaar ontwikkeling en 28 experimentele versies is de stabiele versie van de open implementatie van de Win32 API, Wine 8.0, uitgebracht. Deze versie heeft meer dan 8600 wijzigingen ondergaan. De belangrijkste prestatie in de nieuwe versie is de voltooiing van de conversie van Wine-modules naar het formaat.

In Wine zijn 5266 (5156 een jaar geleden, 5049 twee jaar geleden) programma's voor Windows bevestigd die goed werken, en nog eens 4370 (4312 een jaar geleden, 4227 twee jaar geleden) programma's werken perfect met extra instellingen en externe DLL's. 3888 programma's (3813 een jaar geleden, 3703 twee jaar geleden) hebben kleine problemen met de werking, die geen invloed hebben op het gebruik van de hoofdfuncties van de applicaties.

Belangrijkste innovaties in Wine 8.0:

  • Modules in PE-formaat
    • Na vier jaar werk is de conversie van alle DLL-bibliotheken naar het uitvoerbare bestandsformaat PE (Portable Executable, gebruikt in Windows) voltooid. PE maakt het mogelijk om debuggers voor Windows te gebruiken en lost problemen op met de ondersteuning van verschillende kopieerbeveiligingsschema's die de identiteit van systeemmodules op schijf en in het geheugen verifiëren. Problemen met het uitvoeren van 32-bits applicaties op 64-bits hosts en x86-applicaties op ARM-systemen zijn eveneens opgelost. Een van de resterende taken die in volgende experimentele releases van Wine 8.x moeten worden opgelost, is dat de modules worden geconverteerd naar de NT-systeemaanroepinterface in plaats van directe aanroepen tussen PE- en Unix-niveaus.
    • Er is een speciale dispatcher voor systeemoproepen geïmplementeerd, die oproepen van PE naar Unix-bibliotheken vertaalt om de overhead bij het uitvoeren van een volledige NT-systeemoproep te verminderen. De optimalisatie maakte het bijvoorbeeld mogelijk om de prestatiedaling bij het gebruik van de OpenGL- en Vulkan-bibliotheken te beperken.
    • Winelib-toepassingen kunnen nog steeds gemengde Windows/Unix ELF-bibliotheekassemblages (.dll.so) gebruiken, maar dergelijke toepassingen zonder 32-bits bibliotheken ondersteunen geen functionaliteit die beschikbaar is via de NT-systeemaanroepinterface, zoals WoW64.
  • WoW64
    • WoW64-lagen (64-bit Windows-on-Windows) zijn beschikbaar voor alle Unix-bibliotheken, waardoor 32-bitsmodules in PE-formaat toegang hebben tot 64-bits Unix-bibliotheken. Nadat directe PE/Unix-aanroepen zijn geëlimineerd, is het mogelijk om 32-bits Windows-toepassingen uit te voeren zonder dat er 32-bits Unix-bibliotheken hoeven te worden geïnstalleerd.
    • Bij gebrek aan een 32-bits Wine-loader worden 32-bits applicaties nu uitgevoerd in een nieuwe experimentele Windows-achtige WoW64-modus, waarin 32-bits code wordt uitgevoerd binnen een 64-bits proces. Deze modus wordt ingeschakeld tijdens het compileren van Wine met de optie '--enable-archs'.
  • Grafisch subsysteem
    • De standaardconfiguratie maakt gebruik van een licht thema ("Light"). U kunt het thema wijzigen met het hulpprogramma WineCfg.
       Stabiele release van Wine 8.0
    • Grafische drivers (winex11.drv, winemac.drv, wineandroid.drv) zijn geconverteerd om systeemoproepen op Unix-niveau uit te voeren en toegang te krijgen tot drivers via de Win32u-bibliotheek.
       Stabiele release van Wine 8.0
    • De Print Processor-architectuur is geïmplementeerd om directe aanroepen tussen de PE- en Unix-lagen in het printerstuurprogramma te elimineren.
    • De Direct2D API implementeert ondersteuning voor effecten.
    • De Direct2D API ondersteunt nu het opnemen en afspelen van opdrachtlijsten.
    • De Vulkan Graphics API-driver voegt ondersteuning toe voor de Vulkan 1.3.237-specificatie (Wine 7 ondersteunde Vulkan 1.2).
  • Direct3D
    • Er is een nieuwe shadercompiler voor de HLSL-taal (High-Level Shader Language) toegevoegd, geïmplementeerd op basis van de vkd3d-shaderbibliotheek. Ook zijn een HLSL-disassembler en HLSL-preprocessor ontwikkeld op basis van vkd3d-shader.
    • De Thread Pump-interface die in D3DX 10 werd geïntroduceerd, is geïmplementeerd.
    • Direct3D 10-effecten bieden ondersteuning voor veel nieuwe expressies.
    • De D3DX 9-helperbibliotheek ondersteunt nu Cubemap-textuurprojectie.
  • Geluid en video
    • Op basis van het GStreamer-framework is ondersteuning voor filters voor het decoderen van audio in MPEG-1-formaat geïmplementeerd.
    • Filter toegevoegd voor het lezen van streaming audio en video in ASF-formaat (Advanced Systems Format).
    • De tussenliggende bibliotheeklaag OpenAL32.dll is verwijderd en in plaats daarvan wordt de native Windows-bibliotheek OpenAL32.dll gebruikt die met toepassingen wordt meegeleverd.
    • Media Foundation Player heeft verbeterde detectie van inhoudstypen.
    • Er is een mogelijkheid geïmplementeerd om de gegevensoverdrachtssnelheid te regelen (snelheidsregeling).
    • Verbeterde ondersteuning voor de mixer en presentator die standaard worden aangeboden in Enhanced Video Renderer (EVR).
    • Eerste implementatie van Writer Encoding API toegevoegd.
    • Verbeterde ondersteuning voor topologielader.
  • Invoerapparaten
    • Aanzienlijk verbeterde ondersteuning voor hot-plugging controllers.
    • Er wordt een verbeterde implementatie van de code voor het detecteren van spelwielen voorgesteld, gebaseerd op de SDL-bibliotheek.
    • Verbeterde ondersteuning voor het Force Feedback-effect bij het gebruik van gamesturen.
    • De mogelijkheid is geïmplementeerd om linker- en rechtervibratiemotoren te besturen met behulp van de HID Haptic-specificatie.
    • Gewijzigd ontwerp controle panelen joystick.
    • Ondersteuning voor Sony DualShock- en DualSense-controllers wordt geboden via de hidraw-backend.
    • De WinRT-module Windows.Gaming.Input wordt voorgesteld met de implementatie van de software-interface voor toegang tot gamepads, joysticks en gamesturen. Voor de nieuwe API is onder andere ondersteuning voor meldingen van hotplugging van apparaten en tactiele en trileffecten geïmplementeerd.
  • Internationalisering
    • Er wordt een correcte locale-database in locale.nls-formaat gegenereerd vanuit de Unicode CLDR-repository (Unicode Common Locale Data Repository).
    • De Unicode-functies voor tekenreeksvergelijking zijn verplaatst en maken nu gebruik van de database en het Windows Sortkey-algoritme in plaats van het Unicode Collation-algoritme. Hierdoor lijkt het gedrag meer op dat van Windows.
    • De meeste functies ondersteunen nu de hogere bereiken van Unicode-codes (vlakken).
    • Er is de mogelijkheid voorzien om UTF-8 als ANSI-codering te gebruiken.
    • Tekentabellen zijn bijgewerkt naar Unicode-specificatie 15.0.0.
  • Tekst en lettertypen
    • Het koppelen van lettertypen is voor de meeste systeemlettertypen ingeschakeld. Hierdoor is het probleem van ontbrekende tekens op systemen met Chinese, Koreaanse en Japanse landinstellingen opgelost.
    • Terugval naar een terugvallettertype in DirectWrite aangepast.
  • Kernel (Windows-kernelinterfaces)
    • De ApiSetSchema DB is geïmplementeerd. Deze vervangt de api-ms-* modules en zorgt voor een verlaging van het schijf- en adresruimteverbruik.
    • Het opslaan van DOS-bestandskenmerken op schijf in een Samba-compatibel formaat wordt gewaarborgd door uitgebreide FS-kenmerken.
  • Netwerkfuncties
    • Ondersteuning toegevoegd voor OCSP (Online Certificate Status Protocol), dat wordt gebruikt om te controleren op ingetrokken certificaten.
    • Het scala aan EcmaScript-functies dat beschikbaar is in de JavaScript-standaardnalevingsmodus is uitgebreid.
    • Garbage collector voor JavaScript geïmplementeerd.
    • Het Gecko-enginepakket bevat toegankelijkheidsfuncties.
    • MSHTML heeft ondersteuning toegevoegd voor de Web Storage API, het Performance-object en extra objecten voor het verwerken van gebeurtenissen.
  • Geïntegreerde toepassingen
    • Alle ingebouwde toepassingen zijn gemigreerd en gebruiken nu de Common Controls 6-bibliotheek. Hierbij wordt ondersteuning geboden voor ontwerpthema's en rendering, waarbij rekening wordt gehouden met schermen met een hoge pixeldichtheid.
    • Verbeterde thread-debuggingmogelijkheden in de Wine Debugger (winedbg).
    • Ondersteuning voor het type QWORD is toegevoegd aan de registerhulpprogramma's (REGEDIT en REG).
    • Kladblok heeft nu een statusbalk met informatie over de cursorpositie en een Ga naar regel-functie om naar een bepaald regelnummer te gaan
    • De ingebouwde console biedt gegevensuitvoer in de OEM-codepagina.
    • De opdracht 'query' is toegevoegd aan het hulpprogramma sc.exe (Service Control).
  • Montagesysteem
    • Biedt de mogelijkheid om PE-uitvoerbare bestanden te bouwen voor meerdere architecturen (bijv. '--enable-archs=i386,x86_64').
    • Op alle platforms met een 32-bits long-type worden gegevenstypen die in Windows als long zijn gedefinieerd, nu in Wine opnieuw gedefinieerd als 'long' in plaats van 'int'. In Winelib kan dit gedrag worden uitgeschakeld door WINE_NO_LONG_TYPES te definiëren.
    • De mogelijkheid is toegevoegd om bibliotheken te genereren zonder dlltool te gebruiken (ingeschakeld door de optie '--without-dlltool' in winebuild in te stellen).
    • Om de laadefficiëntie te verbeteren en de grootte van bibliotheken te verkleinen die alleen bronnen bevatten en geen code bevatten, implementeert winegcc de optie '--data-only'.
  • Diversen
    • Bijgewerkte versies van ingebouwde bibliotheken Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXslt 1.1.37, Zlib 1.2.13.
    • De Wine Mono-engine met de implementatie van het .NET-platform is bijgewerkt naar release 7.4.
    • Ondersteuning voor encryptie op basis van het RSA-algoritme en RSA-PSS digitale handtekeningen is geïmplementeerd.
    • Eerste versie van UI Automation API toegevoegd.
    • De broncode bevat de LDAP- en vkd3d-bibliotheken. Deze zijn gebouwd in PE-formaat, waardoor het niet nodig is om Unix-builds van deze bibliotheken aan te leveren.
    • De OpenAL-bibliotheek is verouderd.

Bron: opennet.ru

Voeg een reactie