Wine 5.0 er udgivet

Wine 5.0 er udgivet21. januar 2020 blev den stabile version officielt udgivet Wine 5.0 — et gratis værktøj til at køre native Windows-programmer i UNIX-miljøet. Dette er en alternativ, gratis implementering af Windows API. Det rekursive akronym WINE står for "Wine Is Not an Emulator".

Denne version har været under udvikling i næsten et år og indeholder mere end 7400 separate ændringer. Hovedudvikleren Alexandre Julliard nævner fire:

  • Understøttelse af moduler i PE-format. Dette løser problemer med forskellige beskyttelsesordninger, der tjekker systemmoduler på disk og i hukommelsen.
  • Understøttelse af flere skærme og GPU'er, herunder dynamisk ændring af indstillinger.
  • Reimplementering af XAudio2 baseret på FAudio-projektet, en åben implementering af DirectX-lydbiblioteker. Overgangen til FAudio tillader højere lydkvalitet i spil, volumekontrol, udvidede lydeffekter m.m.
  • Understøttelse af Vulkan 1.1.


Mere detaljeret om de vigtigste nye funktioner.

PE-moduler

Med MinGW-kompilatoren kan de fleste Wine-moduler nu kompilere i PE (Portable Executable, Windows binærformat) i stedet for ELF.

PE-udførelser kopieres nu til mappen ~/.wine i stedet for at anvende falske DLL-filer, hvilket gør applikationer mere ligesom ægte Windows-installationer.

Ikke alle moduler er konverteret til PE-format endnu. Arbejdet fortsætter.

Grafikunderstøttelse

Som nævnt tidligere er understøttelse af flere skærme og grafikkort blevet tilføjet.

Vulkan-driveren er blevet opdateret til specifikationerne Vulkan 1.1.126.

Derudover understøtter WindowsCodecs-biblioteket nu ekstra rasterformater, inklusive formater med indekserede paletter.

Direct3D

Fuldt skærm applikationer i Direct3D blokerer nu skærmskærm-anmodninger.

For DXGI-applikationer er der implementeret muligheden for at skifte mellem fuldskærm og vinduemode ved hjælp af standardkombinationen Alt+Enter.

Mulighederne i Direct3D 12 er udvidet: understøttelse af skift mellem fuldskærm og vinduemode, ændringer i skærmindstillinger, skaleringsvisninger og swap interval for rendering buffers. Alle disse funktioner er allerede blevet implementeret for de tidligere versioner af Direct3D API.

Deltagerne i projektet har arbejdet grundigt og rettet bogstaveligt talt hundreder af fejl, hvilket har forbedret håndteringen af Wine i forskellige grænsetilfælde. Blandt dem er sampling af 2D-ressourcer i 3D-samplerne og omvendt, brug af værdier, der går ud over de tilladte grænser for test af gennemsigtighed og dybde, tegning med reflekterede teksturer og buffere, anvendelse af ugyldige clipper (DirectDraw-objekt) og meget mere.

Størrelsen af det nødvendige adresseområde ved indlæsning af 3D-teksturer komprimeret med S3TC-metoden er reduceret (i stedet for at indlæses hele teksturen, indlæses den i bidder).

Der er foretaget forskellige forbedringer og rettelser til belysningsberegning for ældre DirectDraw-applikationer.

Støtte til et bredere udvalg af grafikkort genkendt i Direct3D er blevet udvidet.

Netværk og kryptografi

Gecko-motoren er opdateret til version 2.47.1 for at støtte moderne værktøjer. En række nye HTML API'er er blevet implementeret.

Støtte til SVG-elementer er blevet implementeret i MSHTML.

Mange nye funktioner i VBScript er blevet tilføjet (for eksempel fejlhåndtering og undtagelser).

Mulighed for at hente HTTP-proxy-indstillinger via DHCP er blevet implementeret.

I den kryptografiske del er der implementeret støtte til kryptografiske nøgler baseret på elliptiske kurver (ECC) via GnuTLS, mulighed for import af nøgler og certifikater fra filer i PFX-format er blevet tilføjet, samt støtte til password-baseret nøglegenerering ved hjælp af PBKDF2.

Wine 5.0 er udgivet
Adobe Photoshop CS6 under Wine

Andre væsentlige nyheder

  • Støtte til NT-kernespinlock.
  • Takket være udløbet af patentet på DXTn og S3 teksturkomprimering er det nu muligt at inkludere dem i standardimplementeringen.
  • Støtte til installation af plug-and-play-drivere.
  • Diverse forbedringer af DirectWrite.
  • Forbedret støtte til Windows Media Foundation API.
  • Bedre synkronisering af primitivs takket være implementeringen af futexer.
  • Fælles brug af Wine-Mono for at spare plads i stedet for den open-source .NET-implementering på hver. ~/.wine.
  • Støtte til Unicode version 12.0 og 12.1.
  • Implementering af en grundlæggende HTTP-tjeneste (HTTP.sys) som erstatning for Winsock API og IIS, hvilket har forbedret ydeevnen sammenlignet med Windows Sockets API.
  • Bedre kompatibilitet med Windows-debuggere.
  • Bedre støtte til LLVM MinGW og forbedringer i krydskompilering af WineGCC.

Man kan også nævne forbedringerne i brugergrænsefladen. For eksempel vises nu minimerede vinduer med en titelbjælke i stedet for ikoner i stil med Windows 3.1. Understøttelsen af spillekontroller er blevet forbedret, herunder hat switch, rat og pedaler.

De indbyggede dekodere til AVI, MPEG-I og WAVE er fjernet fra Wine, og der anvendes nu systemets GStreamer eller QuickTime i stedet.

Muligheden for at anvende debuggeren fra Visual Studio til fjernfejlfinding af applikationer, der kører i Wine, er blevet tilføjet, og DBGENG (Debug Engine) biblioteket er delvist implementeret; afhængigheden af libwine er fjernet fra de indsamlede filer til Windows.

For at optimere ydeevnen er forskellige funktioner til arbejdet med tid blevet konverteret til at bruge højtydende systemfunktioner til timer, hvilket har reduceret overhead i renderingsløkkerne for mange spil. Der er også foretaget andre ydeevneoptimeringer.

Den fulde changelog kan ses her.

Kildekoden til Wine 5.0, spejl
Binære filer til forskellige distributioner
Dokumentation

På hjemmesiden AppDB vedligeholder en database over Windows-applikationer, der er kompatible med Wine. Her er lederne efter antal stemmer:

  1. Final Fantasy XI
  2. Adobe Photoshop CS6 (13.0)
  3. World of Warcraft 8.3.0
  4. EVE Online Current
  5. Magic: The Gathering Online 4.x

Man kan antage, at disse applikationer oftest kører i Wine.

Bemærk. Udgivelsen af Wine 5.0 er dedikeret til minde om Józef Kucia, som tragisk gik bort i august 2019 i en alder af 30 år, mens han udforskede en hule i det sydlige Polen. Józef var en vigtig deltager i udviklingen af Direct3D Wine og en førende forfatter på projektet. vkd3d. I løbet af sit arbejde med Wine har han bidraget med mere end 2500 patches.

Wine 5.0 er udgivet

Kilde: habr.com

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