Stabilna izdaja Wine 8.0

Po letu razvoja in 28 eksperimentalnih različicah je bila predstavljena stabilna izdaja odprte implementacije Win32 API - Wine 8.0, ki je vključevala več kot 8600 sprememb. Ključni dosežek v novi različici je zaključek dela na prevajanju modulov Wine v format.

Wine je potrdil polno delovanje 5266 (pred letom dni 5156, pred dvema letoma 5049) programov za Windows, še 4370 (pred letom dni 4312, pred dvema letoma 4227) programov deluje odlično z dodatnimi nastavitvami in zunanjimi DLL-ji. 3888 programov (3813 pred letom dni, 3703 pred dvema letoma) ima manjše težave pri delovanju, ki ne motijo ​​uporabe glavnih funkcij aplikacij.

Ključne novosti v Wine 8.0:

  • Moduli v formatu PE
    • Po štirih letih dela je bila končana pretvorba vseh knjižnic DLL v format izvršljive datoteke PE (Portable Executable, uporablja se v sistemu Windows). Uporaba PE omogoča uporabo razhroščevalnikov, ki so na voljo za Windows, in rešuje težave s podporo za različne sheme zaščite pred kopiranjem, ki preverjajo identiteto sistemskih modulov na disku in v pomnilniku. Odpravljene so bile tudi težave z izvajanjem 32-bitnih aplikacij na 64-bitnih gostiteljih in aplikacij x86 v sistemih ARM. Med preostalimi nalogami, ki jih je načrtovano rešiti v naslednjih eksperimentalnih izdajah Wine 8.x, je prehod modulov na sistemski klicni vmesnik NT namesto neposrednih klicev med slojema PE in Unix.
    • Implementiran je bil poseben upravitelj sistemskih klicev, ki se uporablja za prevajanje klicev iz knjižnic PE v knjižnice Unix, da se zmanjšajo stroški izvajanja celotnega sistemskega klica NT. Na primer, optimizacija je omogočila zmanjšanje poslabšanja zmogljivosti pri uporabi knjižnic OpenGL in Vulkan.
    • Aplikacije Winelib ohranjajo možnost uporabe mešanih sklopov Windows/Unix knjižnic ELF (.dll.so), vendar takšne aplikacije brez 32-bitnih knjižnic ne bodo podpirale funkcionalnosti, ki je na voljo prek vmesnika sistemskega klica NT, kot je WoW64.
  • WoW64
    • WoW64 (64-bitni Windows-on-Windows) sloji so na voljo za vse knjižnice Unix, kar omogoča 32-bitnim modulom v formatu PE dostop do 64-bitnih knjižnic Unix, ki bodo, potem ko se znebijo neposrednih klicev PE/Unix, omogočile mogoče izvajati 32-bitne aplikacije Windows brez namestitve 32-bitnih knjižnic Unix.
    • Ker ni 32-bitnega nalagalnika Wine, se lahko 32-bitne aplikacije izvajajo v novem poskusnem načinu WoW64, podobnem sistemu Windows, v katerem se 32-bitna koda izvaja znotraj 64-bitnega procesa. Način je omogočen pri gradnji Wine z možnostjo '—enable-archs'.
  • Grafični podsistem
    • Privzeta konfiguracija uporablja svetlo temo (»Light«). Temo lahko spremenite s pripomočkom WineCfg.
      Stabilna izdaja Wine 8.0
    • Grafični gonilniki (winex11.drv, winemac.drv, wineandroid.drv) so pretvorjeni za izvajanje sistemskih klicev na ravni Unix in dostop do gonilnikov prek knjižnice Win32u.
      Stabilna izdaja Wine 8.0
    • Implementirana je bila arhitektura tiskalnega procesorja, ki se uporablja za odpravo neposrednih klicev med nivojema PE in Unix v gonilniku tiskalnika.
    • Direct2D API zdaj podpira učinke.
    • Direct2D API je dodal možnost snemanja in predvajanja seznamov ukazov.
    • Gonilnik za grafični API Vulkan je dodal podporo za specifikacijo Vulkan 1.3.237 (Vulkan 7 je bil podprt v Wine 1.2).
  • Direct3D
    • Dodan nov prevajalnik senčil za HLSL (High-Level Shader Language), implementiran na podlagi knjižnice vkd3d-shader. Na osnovi vkd3d-shaderja sta bila pripravljena tudi HLSL disassembler in HLSL predprocesor.
    • Implementiran je vmesnik Thread Pump, predstavljen v D3DX 10.
    • Učinki Direct3D 10 dodajo podporo za številne nove izraze.
    • Podporna knjižnica za D3DX 9 zdaj podpira projekcijo teksture Cubemap.
  • Zvok in video
    • Na podlagi ogrodja GStreamer je implementirana podpora za filtre za dekodiranje zvoka v formatu MPEG-1.
    • Dodan je filter za branje pretočnega zvoka in videa v formatu ASF (Advanced Systems Format).
    • Vmesna knjižnična plast OpenAL32.dll je bila odstranjena, namesto katere se zdaj uporablja domača knjižnica Windows OpenAL32.dll, ki je priložena aplikacijam.
    • Media Foundation Player ima izboljšano zaznavanje vrste vsebine.
    • Implementirana je možnost nadzora hitrosti prenosa podatkov (Rate control).
    • Izboljšana podpora za privzeti mešalnik in predstavitelj v izboljšanem upodabljalniku videa (EVR).
    • Dodana začetna izvedba API-ja Writer Encoding.
    • Izboljšana podpora za nalagalnik topologije.
  • Vhodne naprave
    • Bistveno izboljšana podpora za vročo priključitev krmilnikov.
    • Predlagana je izboljšana izvedba kode za določanje igralnih volanov, zgrajena na osnovi knjižnice SDL.
    • Izboljšana podpora za učinek povratne sile pri uporabi igralnih koles.
    • Izvedena je bila možnost krmiljenja levih in desnih vibracijskih motorjev s pomočjo specifikacije HID Haptic.
    • Spremenjena zasnova nadzorne plošče krmilne palice.
    • Podpora za krmilnike Sony DualShock in DualSense je zagotovljena z uporabo ozadja hidraw.
    • WinRT modul Windows.Gaming.Input je predlagan z implementacijo programskega vmesnika za dostop do igralnih ploščic, igralnih palic in igralnih koles. Za novi API je med drugim implementirana podpora za obveščanje o vročem priklopu naprav, taktilne in vibracijske učinke.
  • Internacionalizacija
    • Zagotovljeno je ustvarjanje pravilne področne baze podatkov v formatu locale.nls iz repozitorija Unicode CLDR (Unicode Common Locale Data Repository).
    • Funkcije primerjave nizov Unicode so bile premaknjene tako, da uporabljajo bazo podatkov in algoritem Windows Sortkey namesto algoritma Unicode Collation, kar približuje vedenje sistemu Windows.
    • Večina funkcij ima dodano podporo za zgornje kode Unicode (ravnine).
    • Kot kodiranje ANSI je mogoče uporabiti UTF-8.
    • Tabele znakov so bile posodobljene na specifikacijo Unicode 15.0.0.
  • Besedilo in pisave
    • Povezovanje pisav je bilo omogočeno za večino sistemskih pisav, kar je rešilo problem manjkajočih glifov v sistemih s kitajskimi, korejskimi in japonskimi lokalnimi nastavitvami.
    • Predelana nadomestna nadomestna pisava v DirectWrite.
  • Jedro (vmesniki jedra Windows)
    • Implementirana je baza podatkov ApiSetSchema, ki je nadomestila module api-ms-* in zmanjšala porabo diskovnega in naslovnega prostora.
    • Atributi datoteke DOS so shranjeni na disk v formatu, združljivem s Sambo, z uporabo razširjenih atributov FS.
  • Omrežne funkcije
    • Dodana podpora za OCSP (Online Certificate Status Protocol), ki se uporablja za preverjanje preklicanih potrdil.
    • Obseg funkcij EcmaScript, ki so na voljo v načinu skladnosti s standardi JavaScript, je bil razširjen.
    • Implementiran zbiralnik smeti za JavaScript.
    • Paket motorja Gecko vključuje funkcije za invalide.
    • MSHTML dodaja podporo za API za spletno shranjevanje, objekt Performance in dodatne objekte za obdelavo dogodkov.
  • Vgrajenные приложения
    • Vse vgrajene aplikacije so bile pretvorjene za uporabo knjižnice Common Controls 6 s podporo za teme oblikovanja in upodabljanje ob upoštevanju zaslonov z visoko gostoto slikovnih pik.
    • Izboljšane zmogljivosti za razhroščevanje niti v programu Wine Debugger (winedbg).
    • Pripomočki registra (REGEDIT in REG) zdaj podpirajo vrsto QWORD.
    • Beležnica je dodala vrstico stanja z informacijami o položaju kazalca in funkcijo Goto Line za skok na določeno številko vrstice
    • Vgrajena konzola omogoča izpis podatkov na kodni strani OEM.
    • Ukaz 'query' je bil dodan pripomočku sc.exe (Service Control).
  • Montažni sistem
    • Zagotovljena je bila možnost izdelave izvedljivih datotek v formatu PE za več arhitektur (na primer '—enable-archs=i386,x86_64').
    • Na vseh platformah z 32-bitnim dolgim ​​tipom so podatkovni tipi, definirani kot dolgi v sistemu Windows, zdaj na novo definirani kot 'dolgi' namesto 'int' v Wineu. V Winelibu je to vedenje mogoče onemogočiti prek definicije WINE_NO_LONG_TYPES.
    • Dodana možnost generiranja knjižnic brez uporabe dlltool (omogočeno z nastavitvijo možnosti '—without-dlltool' v winebuild).
    • Za izboljšanje učinkovitosti nalaganja in zmanjšanje velikosti knjižnic brez kode, ki uporabljajo samo vire, winegcc implementira možnost '--data-only'.
  • Miscellanea
    • Posodobljene različice vgrajenih knjižnic Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXslt 1.1.37, Zlib 1.2.13.
    • Motor Wine Mono z implementacijo platforme .NET je bil posodobljen na izdajo 7.4.
    • Implementirana je podpora za šifriranje na osnovi algoritma RSA in digitalnih podpisov RSA-PSS.
    • Dodana začetna različica API-ja za avtomatizacijo uporabniškega vmesnika.
    • Izvorno drevo vključuje knjižnici LDAP in vkd3d, ki sta prevedeni v formatu PE, kar odpravlja potrebo po dobavi sklopov Unix teh knjižnic.
    • Knjižnica OpenAL je bila ukinjena.

Vir: opennet.ru

Dodaj komentar