Stabil utgåva av Wine 8.0

Efter ett års utveckling och 28 experimentella versioner presenterades en stabil version av den öppna implementeringen av Win32 API - Wine 8.0, som innehöll mer än 8600 XNUMX ändringar. Nyckelprestationen i den nya versionen markerar slutförandet av arbetet med att översätta vinmoduler till formatet.

Wine har bekräftat att 5266 (för ett år sedan 5156, för två år sedan 5049) program för Windows fungerar fullt ut, och ytterligare 4370 (för ett år sedan 4312, för två år sedan 4227) program fungerar perfekt med ytterligare inställningar och externa DLL:er. 3888 program (3813 för ett år sedan, 3703 för två år sedan) har mindre driftsproblem som inte stör användningen av applikationernas huvudfunktioner.

Viktiga innovationer i Wine 8.0:

  • Moduler i PE-format
    • Efter fyra års arbete har konverteringen av alla DLL-bibliotek för att använda PE (Portable Executable, används i Windows) körbara filformat slutförts. Användningen av PE tillåter användning av debuggers tillgängliga för Windows och löser problem med att stödja olika kopieringsskyddssystem som verifierar identiteten för systemmoduler på disk och i minne. Problem med att köra 32-bitars applikationer på 64-bitars värdar och x86 applikationer på ARM-system har också lösts. Bland de återstående uppgifterna som planeras att lösas i efterföljande experimentella utgåvor av Wine 8.x finns en övergång av moduler till NT-systemanropsgränssnittet istället för att göra direktanrop mellan PE- och Unix-lagren.
    • En speciell systemanropshanterare har implementerats, som används för att översätta samtal från PE- till Unix-bibliotek för att minska kostnaden för att utföra ett fullständigt NT-systemanrop. Till exempel gjorde optimeringen det möjligt att minska prestandaförsämringen vid användning av OpenGL- och Vulkan-biblioteken.
    • Winelib-applikationer behåller möjligheten att använda blandade Windows/Unix-sammansättningar av ELF (.dll.so)-bibliotek, men sådana applikationer utan 32-bitars bibliotek kommer inte att stödja funktionalitet som är tillgänglig via NT-systemanropsgränssnittet, såsom WoW64.
  • WoW64
    • WoW64-lager (64-bitars Windows-på-Windows) tillhandahålls för alla Unix-bibliotek, vilket gör att 32-bitars moduler i PE-format kan komma åt 64-bitars Unix-bibliotek, som, efter att ha blivit av med direkta PE/Unix-anrop, kommer att göra det möjligt att köra 32-bitars Windows-applikationer utan att installera 32-bitars Unix-bibliotek.
    • I avsaknad av en 32-bitars vinladdare kan 32-bitars applikationer köras i det nya experimentella Windows-liknande WoW64-läget, där 32-bitars kod körs i en 64-bitars process. Läget är aktiverat när du bygger Wine med alternativet '—enable-archs'.
  • Grafiskt delsystem
    • Standardkonfigurationen använder ljustemat ("Ljus"). Du kan ändra temat med hjälp av WineCfg-verktyget.
      Stabil utgåva av Wine 8.0
    • Grafikdrivrutiner (winex11.drv, winemac.drv, wineandroid.drv) konverteras för att köra systemanrop på Unix-nivå och komma åt drivrutinerna via Win32u-biblioteket.
      Stabil utgåva av Wine 8.0
    • Print Processor-arkitekturen har implementerats och används för att eliminera direktanrop mellan PE- och Unix-nivåerna i skrivardrivrutinen.
    • Direct2D API stöder nu effekter.
    • Direct2D API har lagt till möjligheten att spela in och spela kommandolistor.
    • Drivrutinen för Vulkan graphics API har lagt till stöd för Vulkan 1.3.237-specifikationen (Vulkan 7 stöddes i Wine 1.2).
  • Direct3D
    • Lade till en ny shader-kompilator för HLSL (High-Level Shader Language), implementerad baserat på vkd3d-shader-biblioteket. Även baserat på vkd3d-shader, har en HLSL-demonterare och en HLSL-förprocessor förberetts.
    • Gängpumpsgränssnittet som introducerades i D3DX 10 har implementerats.
    • Direct3D 10-effekter ger stöd för många nya uttryck.
    • Stödbiblioteket för D3DX 9 stöder nu Cubemap-texturprojektion.
  • Ljud och video
    • Baserat på ramverket GStreamer har stöd för filter för avkodning av ljud i MPEG-1-format implementerats.
    • Lade till ett filter för att läsa strömmande ljud och video i ASF-format (Advanced Systems Format).
    • Det mellanliggande biblioteksskiktet OpenAL32.dll har tagits bort, istället för vilket det inbyggda Windows-biblioteket OpenAL32.dll, som medföljer applikationer, nu används.
    • Media Foundation Player har förbättrad identifiering av innehållstyp.
    • Möjligheten att styra dataöverföringshastigheten (Rate control) har implementerats.
    • Förbättrat stöd för standardmixern och presentatören i Enhanced Video Renderer (EVR).
    • Lade till initial implementering av Writer Encoding API.
    • Förbättrat stöd för topologilastare.
  • Ange enheter
    • Betydligt förbättrat stöd för hotpluggning av styrenheter.
    • En förbättrad implementering av koden för att bestämma spelrattar, byggd på SDL-biblioteket, föreslås.
    • Förbättrat stöd för Force feedback-effekten vid användning av spelhjul.
    • Möjligheten att styra vänster och höger vibrationsmotorer med hjälp av HID Haptic-specifikationen har implementerats.
    • Ändrade designen på joystickens kontrollpanel.
    • Stöd för Sony DualShock- och DualSense-kontroller tillhandahålls genom användning av hidraw-backend.
    • WinRT-modulen Windows.Gaming.Input föreslås med implementering av ett mjukvarugränssnitt för åtkomst till gamepads, joysticks och spelhjul. För det nya API:et implementeras bland annat stöd för avisering av hotpluggning av enheter, taktila och vibrationseffekter.
  • Internationalisering
    • Generering av korrekt lokaldatabas i formatet locale.nls från Unicode CLDR-förrådet (Unicode Common Locale Data Repository) säkerställs.
    • Unicode-strängjämförelsefunktioner har flyttats för att använda databasen och Windows Sortkey-algoritmen istället för Unicode Collation-algoritmen, vilket bringar beteendet närmare Windows.
    • De flesta funktioner har lagt till stöd för övre Unicode-kodintervall (plan).
    • Det är möjligt att använda UTF-8 som ANSI-kodning.
    • Teckentabeller har uppdaterats till Unicode 15.0.0-specifikationen.
  • Text och typsnitt
    • Teckensnittslänkning har aktiverats för de flesta systemteckensnitt, vilket löser problemet med saknade glyfer på system med kinesiska, koreanska och japanska språk.
    • Omarbetat reservteckensnitt i DirectWrite.
  • Kernel (Windows Kernel Interfaces)
    • ApiSetSchema-databasen har implementerats, som ersatte api-ms-*-modulerna och minskade disk- och adressutrymmesförbrukningen.
    • DOS-filattribut sparas på disk i ett Samba-kompatibelt format med utökade FS-attribut.
  • Nätverksfunktioner
    • Tillagt stöd för OCSP (Online Certificate Status Protocol), som används för att kontrollera återkallade certifikat.
    • Utbudet av EcmaScript-funktioner som är tillgängliga i JavaScript-standardkompatibilitetsläge har utökats.
    • Implementerade en sophämtare för JavaScript.
    • Gecko-motorpaketet innehåller funktioner för personer med funktionshinder.
    • MSHTML lägger till stöd för Web Storage API, Performance-objektet och ytterligare objekt för händelsebearbetning.
  • Inbäddade applikationer
    • Alla inbyggda applikationer har konverterats för att använda Common Controls 6-biblioteket, med stöd för designteman och rendering med hänsyn till skärmar med hög pixeltäthet.
    • Förbättrade funktioner för att felsöka trådar i Wine Debugger (winedbg).
    • Registerverktygen (REGEDIT och REG) stöder nu QWORD-typen.
    • Notepad har lagt till en statusrad med information om markörens position och en Goto Line-funktion för att hoppa till ett angivet radnummer
    • Den inbyggda konsolen tillhandahåller datautmatning i OEM-kodtabellen.
    • Kommandot 'query' har lagts till i verktyget sc.exe (Service Control).
  • Monteringssystem
    • Möjligheten att bygga körbara filer i PE-format för flera arkitekturer har tillhandahållits (till exempel '—enable-archs=i386,x86_64').
    • På alla plattformar med den 32-bitars långa typen, omdefinieras datatyper som definieras som långa i Windows nu till "lång" istället för "int" i Wine. I Winelib kan detta beteende inaktiveras via WINE_NO_LONG_TYPES-definitionen.
    • Lade till möjligheten att generera bibliotek utan att använda dlltool (aktiverat genom att ställa in alternativet '—without-dlltool' i winebuild).
    • För att förbättra laddningseffektiviteten och minska storleken på kodlösa bibliotek med enbart resurs implementerar winegcc alternativet '--data-only'.
  • Miscellanea
    • Uppdaterade versioner av de inbyggda biblioteken 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.
    • Wine Mono-motorn med .NET-plattformsimplementering har uppdaterats till release 7.4.
    • Stöd för kryptering baserad på RSA-algoritmen och RSA-PSS digitala signaturer har implementerats.
    • Lade till initial version av UI Automation API.
    • Källträdet inkluderar LDAP- och vkd3d-biblioteken, som är kompilerade i PE-format, vilket eliminerar behovet av att tillhandahålla Unix-sammansättningar av dessa bibliotek.
    • OpenAL-biblioteket har lagts ner.

Källa: opennet.ru

Lägg en kommentar