Izdan Wine 5.0

Izdan Wine 5.021. januarja 2020 je bila uradna izdaja stabilne različice Vino 5.0 - brezplačno orodje za izvajanje izvornih programov Windows v okolju UNIX. To je alternativna brezplačna izvedba vmesnika Windows API. Rekurzivna kratica WINE pomeni "Wine Is Not An Emulator".

Ta različica ima približno leto razvoja in več kot 7400 posameznih sprememb. Glavni razvijalec Alexandre Julliard identificira štiri:

  • Podpora za module v formatu PE. To rešuje težave z različnimi shemami za zaščito pred kopiranjem, ki se ujemajo s sistemskimi moduli na disku in v pomnilniku.
  • Podpira več monitorjev in več grafičnih procesorjev, vključno z dinamičnimi spremembami nastavitev.
  • Ponovna implementacija XAudio2 na podlagi projekta FAudio, odprta implementacija zvočnih knjižnic DirectX. Preklop na FAudio vam omogoča doseganje višje kakovosti zvoka v igrah, omogočanje mešanja glasnosti, naprednih zvočnih učinkov itd.
  • Podpora za Vulkan 1.1.


Več o ključnih novostih.

PE moduli

S prevajalnikom MinGW je večina modulov Wine zdaj zgrajena v formatu izvršljive datoteke PE (Portable Executable, Windows binary format) namesto v ELF.

Izvršljive datoteke PE so zdaj kopirane v imenik ~/.wine namesto uporabe navideznih datotek DLL, zaradi česar so aplikacije bolj podobne pravim namestitvam sistema Windows.

Vsi moduli še niso bili pretvorjeni v format PE. Delo se nadaljuje.

Grafični podsistem

Kot že omenjeno, je bila dodana podpora za delo z več monitorji in grafičnimi adapterji.

Gonilnik Vulkan je bil posodobljen na specifikacije Vulkan 1.1.126.

Poleg tega knjižnica WindowsCodecs zdaj podpira dodatne rastrske formate, vključno s formati, indeksiranimi s paleto.

Direct3D

Celozaslonske aplikacije Direct3D zdaj blokirajo klic ohranjevalnika zaslona.

Za aplikacije DXGI je zdaj mogoče preklapljati med celozaslonskim in okenskim načinom s standardno kombinacijo Alt+Enter.

Funkcije Direct3D 12 so bile izboljšane tako, da vključujejo podporo za preklapljanje med celozaslonskim in okenskim načinom, spreminjanje zaslonskih načinov, spreminjanje velikosti pogledov in intervale zamenjave. Vse te funkcije so bile že implementirane za prejšnje različice API-ja Direct3D.

Projektna skupina je marljivo delala in odpravila dobesedno na stotine hroščev, tako da je bilo izboljšano obravnavanje različnih robnih situacij Wine. Ti vključujejo vzorčenje 2D virov v 3D vzorčevalnikih in obratno, uporabo vhodnih vrednosti zunaj obsega za preglednost in globinske preizkuse, upodabljanje z odsevanimi teksturami in medpomnilniki, uporabo nepravilnih strižnikov (objekt DirectDraw) in še veliko več.

Velikost zahtevanega naslovnega prostora pri nalaganju 3D tekstur, stisnjenih z metodo S3TC, je bila zmanjšana (namesto nalaganja v celoti se teksture nalagajo v kosih).

Za starejše aplikacije DirectDraw so bile izvedene različne izboljšave in popravki, povezani z izračuni osvetlitve.

Baza grafičnih kartic, prepoznanih v Direct3D, je bila razširjena.

Omrežje in kriptografija

Motor Gecko je bil posodobljen na različico 2.47.1 za podporo sodobnim orodjem. Implementiranih je bilo več novih API-jev HTML.

MSHTML zdaj podpira elemente SVG.

Dodanih je bilo veliko novih funkcij VBScript (kot so urejevalniki napak in izjem).

Implementirana je možnost pridobivanja nastavitev HTTP proxy prek DHCP.

V kriptografskem delu je implementirana podpora za kriptografske ključe eliptične krivulje (ECC) preko GnuTLS, dodana je možnost uvoza ključev in potrdil iz datotek v formatu PFX ter podpora za shemo generiranja ključev na osnovi gesel PBKDF2. dodano.

Izdan Wine 5.0
Adobe Photoshop CS6 za Wine

Druge pomembne novosti

  • Podpora za spinlocks jedra NT.
  • Zahvaljujoč poteku patenta za stiskanje tekstur DXTn in S3 jih je postalo mogoče vključiti v privzeto izvedbo.
  • Podpira namestitev gonilnika plug-and-play.
  • Različne izboljšave DirectWrite.
  • Izboljšana podpora za Windows Media Foundation API.
  • Boljša sinhronizacija primitivov zahvaljujoč implementaciji na futexih.
  • Skupna raba Wine-Mono za prihranek prostora namesto odprtokodne implementacije .NET za vsako ~/.wine.
  • Podpora za Unicode 12.0 in 12.1.
  • Izvedba začetne storitve HTTP (HTTP.sys) kot zamenjava za Winsock API in IIS, kar ima za posledico boljšo zmogljivost kot Windows Sockets API.
  • Boljša združljivost z razhroščevalniki Windows.
  • Boljša podpora LLVM MinGW in izboljšave navzkrižnega prevajanja WineGCC.

Omenimo lahko tudi izboljšave uporabniškega vmesnika. Na primer, pomanjšana okna so zdaj prikazana v naslovni vrstici namesto ikon v slogu sistema Windows 3.1. Izboljšana podpora za igralne krmilnike, vključno s stikalom za klobuk, volanom in pedali.

Vgrajeni dekoderji AVI, MPEG-I in WAVE so bili odstranjeni iz Wine in jih nadomestili s sistemskima GStreamer ali QuickTime.

Dodana je bila možnost uporabe razhroščevalnika iz Visual Studio za oddaljeno odpravljanje napak aplikacij, ki se izvajajo v Wineu, knjižnica DBGENG (Debug Engine) je bila delno implementirana in odvisnost od libwine je bila odstranjena iz datotek, prevedenih za Windows.

Za optimizacijo zmogljivosti so bile različne funkcije za merjenje časa preseljene za uporabo visoko zmogljivih sistemskih funkcij za merjenje časa, kar zmanjšuje obremenitev v zanki upodabljanja številnih iger. Izvedene so bile druge optimizacije delovanja.

Oglejte si celoten seznam sprememb. tukaj.

Izvorna koda Wine 5.0, зеркало
Binarne datoteke za različne distribucije
Dokumentacija

Mesto AppDB Vzdržuje se zbirka podatkov o aplikacijah Windows, združljivih z Wine. Tukaj so voditelji število glasov:

  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

Lahko domnevamo, da se te aplikacije najpogosteje zaženejo v Wineu.

Opomba. Izid Wine 5.0 je posvečen spominu na Józefa Kucio, ki je tragično umrl avgusta 2019 v starosti 30 let med raziskovanjem jame na jugu Poljske. Jozef je pomembno prispeval k razvoju Direct3D Wine, pa tudi glavni avtor projekta vkd3d. Med delom na Wineu je prispeval več kot 2500 popravkov.

Izdan Wine 5.0

Vir: www.habr.com

Dodaj komentar