Stabil release Wine 5.0

Efter et års udvikling og 28 eksperimentelle versioner præsenteret den stabile udgivelse af den åbne implementering af Win32 API — Wine 5.0, som har samlet mere end 7400 ændringer. Blandt de vigtigste præstationer i den nye version bemærkes leveringen af indbyggede Wine-moduler i PE-format, support for multi-monitor konfigurationer, en ny implementering af lyd-API'et XAudio2 og support for grafik-API'et Vulkan 1.1.

I Wine er bekræftet fuld funktionalitet for 4869 (mod tidligere 4737) Windows-programmer, og yderligere 4136 (mod tidligere 4045) programmer fungerer glimrende med ekstra indstillinger og eksterne DLL'er. 3635 programmer har små problemer, som ikke forhindrer brugen af de grundlæggende funktioner i applikationerne.

Nøglepunkter nyheder Wine 5.0:

  • PE-formatmoduler
    • Når der er en MinGW-kompilator, bliver de fleste Wine-moduler nu bygget i PE (Portable Executable, anvendt i Windows) i stedet for ELF. Brug af PE løser problemerne med understøttelse af forskellige kopibeskyttelsesordninger, der foretager kontrol af identiteten af systemmoduler på disk og i hukommelse;
    • PE-kørbare filer kopieres nu til mappen ~/.wine ($WINEPREFIX) i stedet for at anvende falske DLL-filer, hvilket gør indholdet mere ligesom rigtige Windows-installationer, til prisen af yderligere brug af diskplads;
    • Moduler konverteret til PE-format kan bruge standard wchar C-funktioner og konstanter med Unicode (f.eks. L"abc");
    • I Wine C runtime er der tilføjet support til binding med binære filer bygget i MinGW, som bruges som standard i DLL-bygningen i stedet for MinGW runtime;
  • Grafikunderstøttelse
    • Support for arbejde med flere skærme og grafikkort er blevet tilføjet, herunder muligheden for dynamisk at ændre indstillinger;
    • Grafik-API Vulkan-driveren er blevet opdateret, så den overholder specifikationen Vulkan 1.1.126;
    • I biblioteket WindowsCodecs er muligheden for at konvertere ekstra rasterformater implementeret, herunder formater med indekseret palette;
  • Direct3D
    • Når der udføres fuldskærmsapplikationer i Direct3D, er der sikret blokering af skærmskåneropkald;
    • I DXGI (DirectX Graphics Infrastructure) er der tilføjet support til at informere applikationen om minimering af dens vindue, hvilket gør det muligt for applikationen at reducere udførelsen af ressourcekrævende operationer ved minimering af vinduet.
    • For applications using DXGI, the ability to switch between fullscreen and windowed mode using the Alt+Enter combination has been implemented;
    • The capabilities of Direct3D 12 have been expanded, including support for switching between fullscreen and windowed mode, changing screen modes, output with scaling, and managing the swap interval;
    • Improved handling of various edge cases, such as applying out-of-range source values for transparency and depth tests, rendering with reflected textures and buffers, and using invalid DirectDraw objects; clipper, creating Direct3 devices for incorrect windows, using visible areas with minimum parameter values equal to maximum, etc.
    • In Direct3D 8 and 9, more precise tracking of "dirty" regions of loaded textures has been provided;
    • Reduced the size of the required address space when loading 3D textures compressed using S3TC (instead of loading entirely, textures are loaded in chunks).
    • An interface has been implemented ID3D11Multithread for protecting critical sections in multithreaded applications;
    • Various improvements and fixes related to lighting calculations have been made for older DirectDraw applications;
    • Additional calls have been implemented to obtain information about shaders in the API ShaderReflection;
    • Support for a CPU-based blitter for processing compressed resources has been added;
    • The database of graphics cards recognized in Direct3D has been expanded;
    • New registry keys have been added under HKEY_CURRENT_USER\Software\Wine\Direct3D: "shader_backend" (backend for working with shaders: "glsl" for GLSL, "arb" for ARB vertex/fragment, and "none" to disable shader support), "strict_shader_math" (0x1 — enable, 0x0 — disable Direct3D shader conversion). The key "UseGLSL" has been deprecated (use "shader_backend" instead);
  • D3DX
    • Support for the S3TC (S3 Texture Compression) mechanism for compressing 3D textures has been implemented;
    • Correct implementations of operations such as texture filling and unmappable surfaces have been added;
    • Various improvements and fixes have been made to the visual effects creation framework; Most functions used in Kernel32 have been moved to;
  • Kernen (Windows kernel interfaces)
    • KernelBase, following changes in the architecture of Windows;
      KernelBase, der følger ændringerne i Windows-arkitekturen;
    • Muligheden for at blande 32- og 64-bit DLL'er i de kataloger, der bruges til indlæsning. Biblioteker, der ikke svarer til den nuværende bitdybde (32/64), ignoreres, hvis der senere i stien findes et korrekt bibliotek til den aktuelle bitdybde.
    • Der er forbedret emulering af kerneobjekter for enhedsdrevne.
    • Implementeret kerne-niveau synkroniseringsobjekter som spinlocks, hurtige mutexer og ressourcebindende variable.
    • Sikret korrekt informering af applikationer om batteriets tilstand.
  • Brugergrænseflade og integration med skrivebordet.
    • Minimimerede vinduer vises nu med en titel i stedet for et ikon i stil med Windows 3.1.
    • Nye knapstile er blevet tilføjet. SplitButton (knap med en dropdown-handlingsliste) og Command Links (links i dialogvinduer, der bruges til at gå videre til næste trin).
    • Der er oprettet symbolske links til mapperne 'Downloads' og 'Templates', som peger på de tilsvarende kataloger i Unix-systemer.
  • Input-enheder
    • Ved opstart sikres installation og indlæsning af nødvendige Plug & Play-enhedsdrivere.
    • Forbedret støtte til spillekontrollere, inklusive mini-joystik (hat-switch), rat og pedaler til gas og bremse.
    • Støtten til det gamle Linux API til joystick-interaktion, der blev brugt i Linux-kerner før version 2.2, er blevet afsluttet.
  • .NET
    • Mono-motoren er blevet opdateret til version 4.9.4 og inkluderer nu dele af Windows Presentation Foundation (WPF) rammeværket.
    • Muligheden for at installere tilføjelser med Mono og Gecko i et fælles katalog med placering af filer i hierarkiet /usr/share/wine i stedet for at kopiere til nye præfikser er blevet tilføjet.
  • Netværksfunktioner
    • Wine Gecko-browsermotoren, som bruges i MSHTML-biblioteket, er blevet opdateret til version 2.47.1. Implementeret understøttelse af nye HTML API'er.
    • Understøttelse af SVG-elementer er implementeret i MSHTML.
    • Mange nye VBScript-funktioner er blevet tilføjet (f.eks. fejl- og undtagelseshåndterere, funktioner Hour, Day, Month, String, LBound, RegExp.Replace, RScriptTypeInfo_* og ScriptTypeComp_Bind* osv.).
    • Det er sikret, at kode tilstand gemmes i VBScript og JScript (script persistence).
    • Implementeret den indledende version af HTTP-tjenesten (WinHTTP) og det tilknyttede API (HTTPAPI) til klient- og serverapplikationer, der sender og modtager anmodninger ved hjælp af HTTP-protokollen.
    • Muligheden for at modtage konfigurationsparametre for HTTP-proxy via DHCP er blevet implementeret.
    • Understøttelse af omdirigering af godkendelsesanmodninger gennem Microsoft Passport er tilføjet;
  • Kryptografi
    • Understøttelse af kryptografiske nøgler baseret på elliptiske kurver (ECC) er implementeret ved brug af GnuTLS;
    • Muligheden for at importere nøgler og certifikater fra filer i PFX-format er tilføjet;
    • Understøttelse af nøglegenereringsskema baseret på password PBKDF2 er tilføjet;
  • Tekst og skrifttyper
    • I DirectWrite API-implementeringen er der tilføjet understøttelse af OpenType-funktioner relateret til positionering af glyphs, som er aktiveret som standard for Latin-skrifttype, inklusive kerning;
    • Sikkerheden ved håndtering af skriftdatasæt er forbedret ved at kontrollere gyldigheden af forskellige datatabeller før deres brug;
    • DirectWrite-grænseflader er opdateret til den nyeste SDK;
  • Lyd og video
    • En ny implementering af lyd-API'en XAudio2, bygget på projektet FAudio. Brug af FAudio i Wine muliggør højere lydkvalitet i spil og aktivering af funktioner som lydmixing og avancerede lydeffekter;
    • Et stort antal nye opkald er tilføjet til Media Foundation-frameworket, herunder understøttelse af indbyggede og brugerdefinerede asynkrone køer, Source Reader API, Media Session osv.
    • Video capture-filteret er blevet opdateret til at bruge v4l2 API i stedet for v4l1 API, hvilket har udvidet rækkevidden af understøttede kameraer;
    • Indbyggede dekodere til AVI, MPEG-I og WAVE er blevet fjernet, i stedet bruges systemets GStreamer eller QuickTime;
    • Et delmængde af konfigurations-API'er VMR7 er tilføjet;
    • I lyddrivere er understøttelse af individuel kanalvolumenjustering tilføjet;
  • Internationalisering
    • Unicode-tabellerne er opdateret til version 12.1.0;
    • Understøttelse af Unicode-normalisering er implementeret;
    • Automatisk installation af geografisk region (HKEY_CURRENT_USER\Control Panel\International\Geo) er sikret baseret på den aktuelle lokalitet;
  • RPC/COM
    • Komplekse strukturer og arrays er tilføjet til typelib-understøttelsen;
    • En grundlæggende implementering af runtime-biblioteket Windows Script er tilføjet;
    • En grundlæggende implementering af ADO-biblioteket (Microsoft ActiveX Data Objects) er tilføjet;
  • Installationsprogrammer
    • Support til levering af patches (Patch Files) er implementeret for MSI-installationsprogrammet;
    • WUSA-værktøjet (Windows Update Standalone Installer) tilbyder nu mulighed for installation af opdateringer i .MSU-format;
  • ARM-platform
    • For ARM64-arkitekturen er der tilføjet understøttelse af stack unwinding i ntdll. Understøttelse af tilslutning til eksterne biblioteker libunwind er også blevet tilføjet;
    • Understøttelse af stubless proxies for objektgrænseflader er implementeret for ARM64-arkitekturen;
  • Udviklingsværktøjer / Winelib
    • Muligheden for at anvende debuggeren fra Visual Studio til fjernfejlsøgning af applikationer, der kører i Wine, er blevet tilføjet;
    • Biblioteket DBGENG (Debug Engine) er delvist implementeret;
    • Samlede eksekverbare filer til Windows afhænger ikke længere af libwine, hvilket muliggør kørsel i Windows uden yderligere afhængigheder;
    • I Resource Compiler og IDL Compiler er der tilføjet indstillingen ‘—sysroot’ til at definere stien til placeringen af headerfiler;
    • I winegcc er der tilføjet indstillingerne ‘—target’, ‘—wine-objdir’,
      ‘—winebuild’ og ‘-fuse-ld’, der forenkler miljøopsætning til tværkompilering;
  • Indbyggede applikationer
    • Værktøjet CHCP til at indstille konsolens tegnsæt er blevet implementeret;
    • Værktøjet MSIDB til at manipulere databaser i MSI-format er blevet implementeret;
  • Ydelsesoptimering
    • Forskellige tidsrelaterede funktioner er blevet omkodet til at bruge højtydende systemfunktioner til timerhåndtering, hvilket har reduceret overheadet i mange spils tegnecykler;
    • Mulighed for brug i FS Ext4 tilstand med hensyn til bogstavmæssig registrering;
    • Ydelsesoptimering af behandling af et stort antal elementer i lister i LBS_NODATA-tilstand er blevet gennemført;
    • En hurtigere implementering af SRW-lås (Slim Reader/Writer) til Linux er blevet oversat til Futex;
  • Eksterne afhængigheder
    • Kryds-kompilatoren MinGW-w64 er blevet brugt til at samle moduler i PE-format;
    • Implementeringen af XAudio2 kræver FAudio-biblioteket;
    • For at spore filændringer på BSD-systemer
      er Inotify-biblioteket blevet anvendt;
    • For håndtering af undtagelser på ARM64-platformen kræves Unwind-biblioteket;
    • I stedet for Video4Linux1 kræves nu Video4Linux2-biblioteket.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster