Stabilna izdaja Wine 11.0

Po letu razvoja in 25 eksperimentalnih različicah je predstavljen stabilen izdelek odprte implementacije Win32 API — Wine 11.0, ki vključuje več kot 6300 sprememb in 600 popravkov napak. Med ključnimi dosežki v novi različici izstopa polna podpora NTSYNC, implementacija mehanizma Reparse Point in uporabo nove implementacije arhitekture WoW64.

V Wine je potrjena polna funkcionalnost 5419 programov za Windows (pred enim letom 5372, pred dvema letoma 5336, pred tremi leti 5266), še 4500 programov (pred enim letom 4435, pred dvema letoma 4397, pred tremi leti 4370) deluje odlično ob dodatnih nastavitvah in zunanjih DLL. Pri 4086 programih (pred enim letom 4020, pred dvema letoma 3943, pred tremi leti 3888) so prisotne manjše težave pri delovanju, ki ne ovirajo uporabe osnovnih funkcij aplikacij.

Ključne novosti Wine 11.0:

  • Polna podpora za gonilnik ntsync, ki omogoča znatno povečanje zmogljivosti Windows iger, zagnanih s pomočjo Wine. Gonilnik je del jedra Linux od različice 6.14 naprej in implementira simbolno napravo /dev/ntsync ter nabor primitiven za sinhronizacijo, ki se uporablja v jedru Windows NT. Pomembno povečanje zmogljivosti se doseže s odpravo stroškov, povezanih z uporabo RPC v prostorih uporabnika.
  • Dodana je možnost nastavitve prioritet niti v Linuxu in macOS.
  • V ntdll je dodan API za sinhronizacijo 'Synchronization barriers', ki omogoča začasno prekinitev delovanja več niti do dosego določenega izvedbenega mesta v vseh niti (na primer, da se počaka, da vse niti dosežejo določeno stopnjo pri vzporednem izvajanju iste kode).
  • Nova implementacija vmesnika WoW64 (64-bit Windows-on-Windows) je prešla v kategorijo popolnoma podprtih, kar omogoča izvajanje 32-bitnih Windows aplikacij v 64-bitnih Unix sistemih. Za razliko od stare implementacije WoW64, kjer so se 32-bitne aplikacije izvajale v 32-bitnih Unix procesih, nova WoW64 omogoča zagon 32-bitne kode znotraj 64-bitnega procesa. Implementirana je podpora za zagon 16-bitnih aplikacij v načinu WoW64.

    V vseh modulih, ki komunicirajo z Unix knjižnicami, so vključeni pretvorniki sistemskih klicev WoW64 (thunk), ki omogočajo 32-bitnim modulom v formatu PE dostop do 64-bitnih Unix knjižnic. Dodana je bila možnost zagona starejših namestitev WoW64 v novem načinu z nastavitvijo okoljske spremenljivke 'WINEARCH=wow64'. 32-bitni prefiksi, ustvarjeni z nastavitvijo WINEARCH=win32, so označeni kot zastareli in se v novem načinu WoW64 ne podpirajo. Ločen nalagalnik wine64 je bil odstranjen, namesto njega pa se uporablja univerzalni nalagalnik, ki določa način glede na bitnost zažene datoteke.

  • Jezgro (interfejsi jezgra Windows-a)
    • Uveden je mehanizem Reparse Point, s katerim lahko pripnemo dodatne podatke datotekam in mapam, identificirane skozi oznake. Podprti so takšni tipi Reparse Point, kot so simbolične povezave in točke montaže.
    • Za izboljšanje zmogljivosti sledenja operacijam pisanja v pomnilnik je bil vključen mehanizem UFFD (userfaultfd), ki omogoča ustvarjanje obdelovalcev pozivov za nealokirane strani pomnilnika (page faults) v uporabniškem prostoru. V opravljenih testih je uporaba UFFD omogočila zmanjšanje časa nalaganja stopenj v igri 'Streets of Rage 4' s 6-8 sekund na 1,5-2 sekundi, kar ustreza uspešnosti zagona na platformi Windows.
    • Vključena so številka sistemskih klicev NT, ki so identične zadnjim različicam Windows, kar je potrebno za podporo aplikacijam, ki uporabljajo trdno zapisane številke sistemskih klicev.
    • Na sistemih ARM64 je bila реализирана možno simulat оvati strani pomnilnika velikosti 4K v okolju z jedri Linux, ki uporabljajo večje strani pomnilnika (16K ali 64K). Simulacija omogoča zagon preprostih aplikacij, za bolj kompleksne programe pa se priporoča uporaba jedra Linux s 4-kilobajtno stranjo pomnilnika.
  • Grafični sistem
    • Na sistemih X11 (winex11) za OpenGL je privzeto vključen backend upodabljanja, ki uporablja EGL. Backend GLX je označen kot zastarel, vendar ostaja na voljo kot rezervni in se uporablja v primeru odsotnosti EGL.
    • Dodana je začetna podpora za objekte D3DKMT, ki zagotavljajo nizkonivojski dostop do grafičnih naprav iz uporabniškega prostora. Uvedeni so Vulkan razširitve VK_KHR_external_memory_win32, VK_KHR_external_semaphore_win32, VK_KHR_external_fence_win32 in VK_KHR_win32_keyed_mutex.
    • V načinu WoW64 (64-bit Windows-on-Windows) je implementirana podpora za mapiranje pomnilnika za OpenGL z uporabo API Vulkan, ki omogoča pospeševanje delovanja 32-bitnih OpenGL aplikacij v Wine.
    • Implementirana je emulacija predpomnilnika (front buffer) za OpenGL na platformah brez vgrajene podpore.
    • V gonilniku za grafični API Vulkan je dodana podpora za specifikacijo Vulkan 1.4.335.
    • V naboru knjižnic WindowsCodecs je razširjena podpora za metapodatke v datotekah z slikami in implementirana podpora za pretvorbo med celovinskimi barvnimi formati in formati s plavajočo vejico.
    • Odpravljena je odvisnost od knjižnice OSMesa (Off-screen Mesa). Implementirana je možnost risanja bitnih slik preko OpenGL z uporabo strojno pospešenega OpenGL runtime.
  • Integracija s delovno površino
    • V gonilniku winewayland.drv, ki omogoča uporabo Wine v okolju na osnovi protokola Wayland brez uporabe XWayland in komponent X11, je implementirana podpora za odložišče, metode vnosa, nepravilna okna in prosojnost.
    • Izboljšana je integracija z X11: omogočeno je pošiljanje zahtevkov za aktivacijo oken upravitelju oken in uporabljen je protokol EWMH za uskladitev stanja aktivnih oken X11 in Win32.
    • Implementirana je podpora za ekskluzivni celozaslonski način. Izboljšana je podpora za celozaslonski način v D3D in izboljšano delovanje starih iger, temelječih na DDraw.
    • Povečana je zmogljivost nekaterih funkcij dela z okni. Za interakcijo med procesi je uporabljena deljena pomnilnika.
  • Direct3D
    • V Direct3D 11 je dodana podpora za strojno pospeševanje dekodiranja videoposnetkov v formatu H.264, implementirana z uporabo grafičnega API Vulkan.
    • V Direct3D 11 je implementirana podpora za minmax filtriranje tekstur, z uporabo OpenGL razširitve GL_ARB_texture_filter_minmax ali Vulkan razširitve VK_EXT_sampler_filter_minmax.
    • V Direct3D 11 so implementirane funkcije za nalaganje tekstur.
    • Implementiranih je veliko možnosti Direct3D pri risanju preko Vulkan, kot so mešanje točk, ravno senčenje, uporabniške ravni reza in različni formati virov.
    • V vgrajeni kopiji vkd3d-shader je izboljšana podpora za modele 1, 2 in 3 senčil.
    • V metodi D3DXSaveSurfaceToFileInMemory je implementirana podpora za slike PNG, JPEG in BMP.
    • V Direct3D 10 in 11 je implementirana podpora za stiskanje in razpakiranje formatov BC4 in BC5, ter generiranje MIP-nivojev (MipMap) pri nalaganju tekstur.
    • Izvedene so metode ID3DXEffect::SetRawValue() in ID3DXSkinInfo::UpdateSkinnedMesh().
  • Ulazni uređaji
    • Izboljšana je združljivost z igre stiki, zahvaljujoč uporabi hidraw backend-a.
    • Izboljšana podpora za učinek vibracij (Force feedback) pri uporabi igralnih volanov in joystickov.
    • Izboljšana podpora za igralne kontrolerje v API Windows.Gaming.Input in pri uporabi evdev backend-a.
    • V aplikaciji za upravljanje igralnih kontrolerjev je dodana zavihek za konfiguracijo API Windows.Gaming.Input.
    • Izboljšana združljivost DirectInput z starimi igrami.
  • Bluetooth
    • V gonilniku za Bluetooth je dodana možnost skeniranja, nastavitve odkrivanja in povezovanja naprav.
    • Dodata je podrška za Bluetooth Low Energy servise.
    • Aplikacijam je omogočeno ustvarjanje nizkolegendarnih RFCOMM povezav z zunanjimi napravami, z uporabo API Winsock.
  • Podpora za skenerje.
    • Izvedena je podpora za API TWAIN 2.0, ki omogoča dostop do skenerjev iz 64-bitnih aplikacij.
    • Izvedena je podpora za komponento DAT_IMAGENATIVEXFER za prenos slike iz skenerja v aplikacijo.
    • Zagotovljeno je shranjevanje izbranega skenerja in nastavitev skenerja v register.
    • Dodana je podpora za večstransko skeniranje in samodejno nalaganje dokumentov.
    • Preklicana je blokada aplikacije med klicem vmesnika za skeniranje.
    • Dodana je podpora za prenos nativnih Windows gonilnikov za skenerje.
  • Mednarodna podpora
    • Zagotovljena je generacija DB lokalov v formatu locale.nls iz DB Unicode CLDR (Unicode Common Locale Data Repository) različice 48. Dodana je podpora za dodatne lokale bua-RU, bqi-IR, cop-EG, ht-HT, kek-GT, lzz-TR, mww-Hmnp-US, oka-CA, pi-Latn-GB, pms-IT, sgs-LT, suz-Deva-NP in suz-Sunu-NP.
    • Unicode tabele simbolov so posodobljene na različico standarda 17.0.0. Posodobljena je baza časovnih pasov.
  • Mrežne mogućnosti
    • V motorju MSHTML v skladu s standardi je zagotavljena obdelava atributov elementov kot polnopravnih DOM vozlišč. Izvedeni so objekti DOMParser, XDomainRequest in msCrypto.
    • V JavaScript je dodana podpora za tipizirane tabele.
    • Za ICMPv6 je izvedena ping ukaz.
  • DB
    • V knjižnico MSADO (ActiveX Data Objects) je dodana podpora za zapis sprememb v DB. Izvedene so večino funkcij objekta Recordset.
    • V knjižnici odbc32 je izboljšana podpora za ANSI win32 gonilnike, ki niso zasnovani za delo z Unicode. Izvedene so funkcije SQLDriverConnectA(), SQLSpecialColumnsW(), SQLGetInfoW(), SQLStatisticsW() in QLColumnsW().
  • Vgrajene aplikacije
    • V WineCfg je dodana zavihek za nastavitev privzetega MIDI naprave.
    • V orodju cmd je bila vpeljana samodejna dopolnitev vnosov imen datotek v interaktivnem načinu delovanja, dodana je podpora za kompleksne ukaze in izpeljana je bila ukaz «mklink /j» za ustvarjanje Reparse Point.
    • V orodje conhost (Console Hosting) je bila dodana podpora za pridobitev zgodovine s pritiskom na tipki F1 in F3.
    • Vpeljani so bili ukazi timeout, runas in subst.
    • V orodje find so bile dodane možnosti «/c» za prikaz števila ujemanj in /i za ujemanja brez upoštevanja velike in male črke.
    • V orodju whoami je zdaj mogoče nastaviti format izhoda.
  • Razno
    • V izvedbi jezika za opis vmesnika WIDL (Wine Interface Definition Language) je bila dodana podpora za generiranje metapodatkov Windows Runtime (WinRT). Omogočeno je ustvarjanje in namestitev datotek WinMD (Windows Metadata) za API WinRT (Windows Runtime).
    • V orodju winedump je bila dodana podpora za izvažanje virov MUI, številk sistemskih klicev, vgrajenih NE-modulov in velikih PDB datotek (> 4 GB).
    • Izvedba Common Control je bila prenovljena, knjižnica COMCTL32 pa razdeljena na ločene module za različice 5 in 6.
    • V BCrypt je bila dodana podpora za standard oblikovanja ključa PBKDF2.
    • Dodana je podpora za mape UserProgramFiles, AccountPictures in Screenshots.
    • V paket so integrirane knjižnice LLVM Compiler-RT 8.0.1 in TomCrypt 1.18.2. Za določitev CPU na platformi FreeBSD je bila vključena knjižnica HwLoc.
    • Komponente Vkd3d 1.18, Faudio 25.12, FluidSynth 2.4.2, LCMS2 2.17, LibMPG123 1.33.0, Libpng 1.6.51, LibTiff 4.7.1, LibXml2 2.12.10 in LibXslt 1.1.43 so posodobljene na nove različice.

    Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster