Wine 5.0 udgivet

Wine 5.0 udgivetDen officielle udgivelse af den stabile version fandt sted den 21. januar 2020 Vin 5.0 — et gratis værktøj til at køre native Windows-programmer i et UNIX-miljø. Det 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 omkring et år og har mere end 7400 individuelle ændringer. Ledende udvikler Alexandre Julliard fremhæver fire:

  • Understøttelse af moduler i PE-format. Dette løser problemer med forskellige kopibeskyttelsesordninger, der kontrollerer systemmoduler på disk og i hukommelse.
  • Understøttelse af flere skærme og flere GPU'er, herunder dynamisk ændring af indstillinger.
  • Genimplementering af XAudio2 baseret på FAudio-projektet, en åben implementering af DirectX-lydbiblioteker. Skift til FAudio giver mulighed for at opnå lyd af højere kvalitet i spil ved hjælp af lydstyrkemixning, avancerede lydeffekter osv.
  • Vulkan 1.1-understøttelse.


Flere detaljer om de vigtigste innovationer.

PE-moduler

Med MinGW-compileren er de fleste Wine-moduler nu bygget som PE (Portable Executable, et binært Windows-format) eksekverbare filer i stedet for ELF.

PE-eksekverbare filer er nu kopieret til mappen ~/.wine i stedet for at bruge dummy DLL-filer, hvilket får applikationer til at ligne rigtige Windows-installationer mere.

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

Grafik undersystem

Som nævnt ovenfor er der tilføjet understøttelse af at arbejde med flere skærme og grafikkort.

Vulkan-driveren er opdateret til Vulkan 1.1.126-specifikationerne.

Derudover understøtter WindowsCodecs-biblioteket nu yderligere rasterformater, herunder indekserede paletformater.

Direct3D

Fuldskærms Direct3D-applikationer blokerer nu kald af pauseskærm.

For DXGI-applikationer er muligheden for at skifte mellem fuldskærms- og vinduestilstand implementeret ved hjælp af standard Alt+Enter-kombinationen.

Direct3D 12 har udvidede muligheder for at understøtte skift mellem fuldskærms- og vinduestilstande, ændringer af skærmtilstande, skalerede visninger og skiftintervaller. Alle disse funktioner blev allerede implementeret i tidligere versioner af Direct3D API'en.

Projektets bidragydere har arbejdet hårdt på at rette bogstaveligt talt hundredvis af fejl, så Wines håndtering af forskellige edge cases er blevet forbedret. Disse inkluderer sampling af 2D-ressourcer i 3D-samplere og omvendt, brug af inputværdier uden for området til gennemsigtigheds- og dybdetest, rendering med reflekterede teksturer og buffere, brug af forkerte clippers (DirectDraw-objekt) og meget mere.

Reducerede størrelsen af ​​det nødvendige adresseområde ved indlæsning af 3D-teksturer komprimeret ved hjælp af S3TC-metoden (i stedet for at indlæse dem helt, indlæses teksturer i stykker).

Der er foretaget forskellige forbedringer og rettelser relateret til belysningsberegninger til ældre DirectDraw-applikationer.

Databasen over grafikkort, der genkendes i Direct3D, er blevet udvidet.

Netværk og kryptografi

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

MSHTML implementerer understøttelse af SVG-elementer.

Mange nye VBScript-funktioner er blevet tilføjet (f.eks. fejl- og undtagelseshåndterere).

Implementerede muligheden for at hente HTTP-proxykonfigurationsparametre via DHCP.

I den kryptografiske del er der implementeret understøttelse af kryptografiske nøgler baseret på elliptiske kurver (ECC) via GnuTLS, muligheden for at importere nøgler og certifikater fra filer i PFX-format er tilføjet, og understøttelse af PBKDF2-kodebaseret nøglegenereringsskema er tilføjet.

Wine 5.0 udgivet
Adobe Photoshop CS6 under Wine

Andre væsentlige innovationer

  • Understøttelse af NT-kerne spinlocks.
  • På grund af udløbet af DXTn- og S3-teksturkomprimeringspatenterne blev det muligt at inkludere dem i standardimplementeringen.
  • Understøtter plug-and-play-driverinstallation.
  • Diverse DirectWrite-forbedringer.
  • Forbedret understøttelse af Windows Media Foundation API.
  • Bedre synkronisering af primitiver takket være implementering på futexer.
  • Deling af Wine-Mono for at spare plads i stedet for en open source .NET implementering pr. ~/.wine.
  • Understøttelse af Unicode 12.0 og 12.1.
  • Implementering af HTTP Starter Service (HTTP.sys) som erstatning for Winsock API og IIS, hvilket resulterer i forbedringer af ydeevnen i forhold til Windows Sockets API.
  • Bedre kompatibilitet med Windows-fejlfindingsprogrammer.
  • Bedre LLVM MinGW-understøttelse og forbedringer af krydskompilering af WineGCC.

Der er også forbedringer af brugergrænsefladen. For eksempel vises minimerede vinduer nu ved hjælp af en titellinje i stedet for ikoner i Windows 3.1-stil. Understøttelsen af ​​spilcontrollere er blevet forbedret, herunder hat-knappen, rattet og pedalerne.

Indbyggede AVI-, MPEG-I- og WAVE-dekodere er blevet fjernet fra Wine og erstattes nu af systemets GStreamer eller QuickTime.

Tilføjet muligheden for at bruge debuggeren fra Visual Studio til fjerndebugging af applikationer, der kører i Wine, delvist implementeret DBGENG (Debug Engine)-biblioteket, fjernet afhængigheden af ​​libwine fra filer, der er kompileret til Windows.

For at optimere ydeevnen er forskellige tidsmanipulationsfunktioner blevet migreret til at bruge højtydende systemtimerfunktioner, hvilket reducerer overhead i renderingsløkken i mange spil. Andre ydeevneoptimeringer er også blevet foretaget.

For en komplet liste over ændringer, se her.

Wine 5.0 kildekode, зеркало
Binære filer til forskellige distributioner
Records

Webstedet AppDB vedligeholder en database over Windows-programmer, der er kompatible med Wine. Her er de førende antal stemmer:

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

Det kan antages, at disse applikationer oftest startes i Wine.

Bemærk: Wine 5.0-udgivelsen er dedikeret til mindet om Józef Kucia, som tragisk døde i august 2019 i en alder af 30 år, mens han udforskede en hule i det sydlige Polen. Józef var en vigtig bidragyder til udviklingen af ​​Direct3D Wine og var hovedforfatter til projektet. vkd3dI løbet af sin tid på Wine bidrog han med over 2500 programrettelser.

Wine 5.0 udgivet

Kilde: www.habr.com

Tilføj en kommentar