Wine 5.0 har blitt lansert

Wine 5.0 har blitt lansert21. januar 2020 ble den offisielle utgivelsen av en stabil versjon Wine 5.0 — et gratis verktøy for å kjøre native Windows-programmer i UNIX-miljøet. Dette er en alternativ, gratis implementasjon av Windows API. Den rekursive akronymen WINE står for "Wine Is Not an Emulator".

Denne versjonen har vært under utvikling i omtrent et år og inneholder mer enn 7400 separate endringer. Hovedutvikler Alexandre Julliard fremhever fire:

  • Støtte for moduler i PE-format. Dette løser problemer med ulike kopibeskyttelsessystemer som sjekker systemmoduler på harddisken og i minnet.
  • Støtte for flere skjermer og flere GPU-er, inkludert dynamisk justering av innstillinger.
  • Reimplementering av XAudio2 basert på FAudio-prosjektet, en åpen implementasjon av DirectX-lydbiblioteker. Overgangen til FAudio gir høyere lydkvalitet i spillene, inkludert volumblanding, utvidede lydeffekter osv.
  • Støtte for Vulkan 1.1.


Mer detaljert om nøkkelnyvinningene.

PE-moduler

Med en MinGW-kompilator kan de fleste Wine-modulene nå bygges som kjørbare PE-filer (Portable Executable, Windows-binærformat) i stedet for ELF.

Kjørbare PE-filer kopieres nå til katalogen ~/.wine i stedet for å bruke fiktive DLL-filer, noe som gjør applikasjoner mer lik ekte Windows-installasjoner.

Så langt er ikke alle moduler konvertert til PE-format. Arbeidet fortsetter.

Grafikkundersystem

Som nevnt tidligere, er det lagt til støtte for flere skjermer og grafikkadaptere.

Vulkan-driveren er oppdatert til spesifikasjonene Vulkan 1.1.126.

Videre støtter WindowsCodecs-biblioteket nå flere rasterformater, inkludert formater med indekserte fargepaletter.

Direct3D

Fullskjerms Direct3D-applikasjoner blokkerer nå skjermbeskytteranrop.

For DXGI-applikasjoner er det implementert mulighet for å bytte mellom fullskjerm og vindusmodus ved hjelp av standardkombinasjonen Alt+Enter.

Mulighetene til Direct3D 12 er utvidet: støtte for bytte mellom fullskjerm og vindusmodus, endringer av skjermmodi, skalering og swap-intervall for rendering. Alle disse funksjonene var allerede implementert for tidligere versjoner av Direct3D API.

Prosjektets deltakere har jobbet grundig og løst bokstavelig talt hundrevis av feil, noe som har forbedret håndteringen av Wine for ulike grensesituasjoner. Blant dem er sampling av 2D-ressurser i 3D-sampleregistre og omvendt, bruk av utgående verdier over de tillatte områdene for tester av transparens og dybde, gjengivelse med reflekterte teksturer og buffere, bruk av feilaktige klippere (DirectDraw-objekt) og mye mer.

Størrelsen på det nødvendige adresseområdet for lasting av 3D-teksturer komprimert med S3TC-metoden er redusert (i stedet for å laste dem helt, lastes teksturer i biter).

For eldre applikasjoner av DirectDraw er det gjort ulike forbedringer og feilrettinger relatert til beregning av belysning.

Databasen for grafikkort gjenkjent i Direct3D er utvidet.

Nettverk og kryptografi

Gecko-motoren er oppdatert til versjon 2.47.1 for støtte for moderne verktøy. En rekke nye HTML API-er er implementert.

Støtte for SVG-elementer er implementert i MSHTML.

Mange nye funksjoner i VBScript er lagt til (f.eks. feilhåndterings- og unntakshåndteringsrutiner).

Mulighet for å hente HTTP-proxy-innstillingsparametere via DHCP er implementert.

I kryptografidelen er støtte for kryptografiske nøkler basert på elliptiske kurver (ECC) via GnuTLS implementert, muligheten for å importere nøkler og sertifikater fra filer i PFX-format er lagt til, samt støtte for nøkkelgenereringsskjemaet basert på passord PBKDF2.

Wine 5.0 har blitt lansert
Adobe Photoshop CS6 under Wine

Andre betydelige nyvinninger

  • Støtte for NT-kjerne spinlocks.
  • Takket være utløpet av patentet på DXTn- og S3-komprimering ble det mulig å inkludere dem i standardimplementeringen.
  • Støtte for installasjon av plug-and-play-drivere.
  • Forskjellige forbedringer av DirectWrite.
  • Forbedret støtte for Windows Media Foundation API.
  • Bedre synkronisering av primitive takket være implementering med futexer.
  • Felles bruk av Wine-Mono for å spare plass i stedet for å bruke en åpen kildekode-implementering av .NET for hver. ~/.wine.
  • Støtte for Unicode 12.0 og 12.1.
  • Implementering av en grunnleggende HTTP-tjeneste (HTTP.sys) som erstatning for Winsock API og IIS, noe som har forbedret ytelsen sammenlignet med Windows Sockets API.
  • Bedre kompatibilitet med Windows-debuggere.
  • Bedre støtte for LLVM MinGW og forbedringer av krysskompilering i WineGCC.

Det kan også nevnes forbedringer i brukergrensesnittet. For eksempel vises nå sammenbrettede vinduer med en tittelrad, ikke med ikoner i Windows 3.1-stil. Støtten for spillkontrollere er forbedret, inkludert hat switch, ratt og pedaler.

Innebygde dekodere for AVI, MPEG-I og WAVE er fjernet fra Wine, og det brukes nå de systembaserte GStreamer- eller QuickTime-løsningene.

Muligheten for å bruke debuggere fra Visual Studio for fjernfeilsøking av applikasjoner som kjører i Wine er lagt til, og delenavn DBSENG (Debug Engine) er delvis implementert, og avhengigheten til libwine er fjernet fra Windows-filer som samles.

For å optimalisere ytelsen er forskjellige tidsrelaterte funksjoner omarbeidet for å bruke høyytelses systemtidsfunksjoner, noe som gjorde det mulig å redusere overhead i gjengivelsessykluser for mange spill. Andre ytelsesforbedringer er også gjort.

Fullstendig endringsliste se. her.

Kildekoden for Wine 5.0, speil
Binære filer for forskjellige distribusjoner
Dokumentasjon

På nettstedet AppDB føres en database over Windows-applikasjoner som er kompatible med Wine. Her er lederne etter antall 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

Det kan antas at disse applikasjonene oftest kjøres i Wine.

Merk. Utgivelsen av Wine 5.0 er dedikert minnet til Józef Kucia, som tragisk omkom i august 2019, 30 år gammel, mens han utforsket en hule i Sør-Polen. Józef var en viktig bidragsyter til utviklingen av Direct3D Wine og en ledende forfatter av prosjektet. vkd3dI løpet av sitt arbeid med Wine bidro han med mer enn 2500 patcher.

Wine 5.0 har blitt lansert

Kilde: habr.com

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster