Stabilā Wine 9.0 izlaišana

Pēc gada izstrādes un 26 eksperimentālajām versijām ir izdots stabilais atvērto Win32 API realizācijas - Wine 9.0 relīze, kurā ir iekļautas vairāk nekā 7000 izmaiņas. No galvenajiem sasniegumiem jaunajā versijā izceļama WoW64 arhitektūras realizācija 32-bit programmu palaišanai 64-bit vidē, Wayland atbalstoša draivera integrācija, ARM64 arhitektūras atbalsts, kā arī DirectMusic API un viedkartes atbalsts.

Wine pilnībā apstiprina 5336 Windows programmām (pirms gada 5266, pirms diviem gadiem 5156, pirms trim gadiem 5049) darbību, vēl 4397 (pirms gada 4370, pirms diviem gadiem 4312, pirms trim gadiem 4227) programmas lieliski darbojas, izmantojot papildu iestatījumus un ārējās DLL. 3943 programmām (pirms gada 3888, pirms diviem gadiem 3813, pirms trim gadiem 3703) ir novēroti nelieli darbības traucējumi, kas netraucē galveno funkciju izmantošanai.

Galvenās jaunās iespējas Wine 9.0:

  • Ir pievienots draiveris winewayland.drv, kas ļauj izmantot Wine Wayland protokolam balstītās vidēs bez XWayland un X11 komponentiem. Izstrāde ir vērsta uz tīra Wayland vidē nodrošināšanu ar Windows programmu palaišanas atbalstu, neuzstādītu X11 saistītu pakotņu, kas ļauj sasniegt augstāku veiktspēju un spēļu reaģēšanas ātrumu, izslēdzot liekās slāņus. Tīras Wayland vidē izmantošana arī ļauj atbrīvoties no drošības problēmām, kas raksturīgas X11 (piemēram, neuzticamas spēles X11 var špirināt citas lietotnes, jo X11 protokols ļauj piekļūt visiem ievadnotikumiem un veikt simulētus taustiņu nospiežumus).

    Draiveris ir atzīmēts kā eksperimentāls un joprojām tiek izstrādāts, taču tajā jau ir atbalsts daudziem funkcionalitātes aspektiem, piemēram, logu pārvaldība, vairāku monitora atbalsts, augstas izšķirtspējas displeju (high-DPI) mērogošanas atbalsts, relatīvo koordinātu darbība peles kustību uzraudzīšanai un grafiskā API Vulkan atbalsts. Noklusējuma draiveris nav aktīvs, un tā aktivizēšanai jāpapildina "wayland" reģistra parametrā "HKCU\Software\Wine\Drivers" un jāpārliecinās, ka videi DISPLAY nav iestatīta: wine reg.exe add HKCU\\Software\\Wine\\Drivers \/v Graphics \/d x11,wayland

  • Tika ir pabeigta visu NT sistēmas izsaukumu interfeisu moduļu pārcelšana, tā vietā lai veiktu tiešus izsaukumus starp PE un Unix līmeņiem, kas iezīmēja gadiem ilgas darba noslēgšanu visu DLL bibliotēku pārcelšanai uz PE (Portable Executable) izpildfailu formātu.
  • Turpināta WoW64 (64-bit Windows-on-Windows) slāņa attīstība, kas ļauj 32 bitu Windows lietojumprogrammu izpildi 64 bitu Unix sistēmās. Visos moduļos, kas piekļūst Unix bibliotēkām, tiek izmantoti WoW64 sistēmas izsaukumu tulkotāji (thunks), kas ļauj 32 bitu PE formāta moduļiem piekļūt 64 bitu Unix bibliotēkām.

    Jaunais WoW64 palaišanas režīms ir uzlabots, kurā 32 bitu kods tiek izpildīts 64 bitu procesa ietvaros (vecajā WoW64 režīmā 32 bitu lietojumprogrammas tika palaistas 32 bitu Unix procesos). Tika pievienota atbalsts jaunajam WoW64 režīmam macOS platformā. Ņemot vērā to, ka jaunajā WoW64 režīmā pastāv atsevišķas nepilnības, piemēram, 16 bitu režīma atbalsta trūkums un OpenGL veiktspējas samazināšanās, jo netiek atbalstīts ARB_buffer_storage paplašinājums, tas pagaidām nav iekļauts pēc noklusējuma un prasa būvniecību ar opciju «—enable-archs=i386,x86_64» konfigurāciju skriptā.

  • Ir pievienota iespēja izpildīt esošos Windows izpildfailus ARM64 arhitektūras sistēmās. Ir īstenota Wine būvniecība ARM64EC (ARM64 Emulation Compatible) ABI un ARM64EC moduļu ielādēšanas atbalsts, kas tiek izmantoti, lai atvieglotu portēšanu uz ARM64 sistēmām lietojumprogrammām, kas sākotnēji rakstītas x86_64 arhitektūrai, nodrošinot iespēju izpildīt atsevišķus x86_64 kodu moduļus ARM64 vidē ar emulatoru. Ir pievienots ARM64X PE failu formāta atbalsts, kas ļauj iekļaut vienu izpildfailu x64/Arm64EC un ARM64 procesos. Ir īstenots interfeiss 32 bitu x86 sistēmu emulācijai, taču emulācijas bibliotēka pagaidām nav iekļauta Wine galvenajā sastāvā (lai palaistu x86 kodu ARM64 vidē, var izmantot ārējo emulātoru FEX).
  • Grafiskā apakšsistēma
    • PostScript vadītājs ir pārstrādāts, lai atbalstītu Windows formāta spool failus, kuros tiek uzglabāti dati par drukāšanas uzdevumiem. Tiešas piekļuves no Unix vidi vadītājam vairs nav.
    • WinRT tēmu dizainā ir pievienots tumšā režīma atbalsts. WineCfg ir pievienota opcija tumšā interfeisa dizaina iespējai.
    • Grafiskā API Vulkan draiverī pievienota atbalsts specifikācijai Vulkan 1.3.272 (Wine 8.0 atbalstīja 1.3.237).
    • Optimizētas GdiPlus bibliotēkas funkcijas, kas ļāva palielināt grafikas apstrādes veiktspēju.
  • Direct3D
    • Iespējota daudzplūsmu komandu plūsmas analīzes pārtraukšana, ja netiek saņemti apstrādājamie zīmējumu komandas, kas ļauj samazināt enerģijas patēriņu līdz vienplūsmas apstrādes līmenim programmās, kas neaizņem visu komandu plūsmas joslu.
    • Direct3D 10 ir īstenota papildu efektu atbalsts.
    • Veiktas veiktspējas optimizācijas WineD3D kodā un backend, kas izmanto grafisko API Vulkan.
    • Vulkan API bāzē veidojot kodu, pievienota iespēja pārbaudīt ierīces atbalstītās iespējas un sniegt lietotnei informāciju par pieejamo direktoru funkcionalitātes līmeni.
    • Ieviestas funkcijas D3DXFillTextureTX un D3DXFillCubeTextureTX.
    • Klasiskajā OpenGL ARB ēnu shēmu backend pievienots atbalsts ēnu noteikšanai, izmantojot ARB_fragment_program_shadow paplašinājumu.
    • D3DXLoadMeshHierarchyFromX un līdzīgās funkcijās pievienots atbalsts lietotāja datu ielādei, izmantojot ID3DXLoadUserData interfeisu.
  • Skaņa un video
    • Ieteikta sākotnējā DirectMusic API realizācija. Pievienota atbalsts kolekcijām, instrumentiem un skaņu paraugiem SoundFont formātā. Pievienota Doplera efekta atbalsts. Realizēti testi, lai pārbaudītu atbilstību dmime secvensera un dmsynth MIDI sintizatora darbībā.
    • API DirectMusic izmantošanai ir iekļauta FluidSynth bibliotēka.
    • Ieviešot zvanu fontu (SoundFont — paraugu bāzes sintēzes formāti, kas tiek izmantoti MIDI failu atskaņošanai) ielādi DLS1 un DLS2 formātos, kā arī SF2 formātā, kas tiek izmantots Linux.
    • Pievienota MIDI satura atskaņošanas iespēja, izmantojot dmsynth bibliotēku, izmantojot programmatūras sintetizatoru FluidSynth un DirectSound API skaņas izvadīšanai.
    • Pievienots dekoderis videoklipiem Indeo IV50 codec formātā.
  • DirectShow
    • Ieviests DMO (DirectX Media Object) komponents ar WMV formāta (Windows Media Video) dekoderi.
    • Pievienots skaņas ieraksta filtrs (DirectShow Audio Capture Filter).
    • MPEG‑1 plūsmas sadalīšanas filtrā (DirectShow MPEG‑1 Stream Splitter) papildus skaņas plūsmām pievienots atbalsts video plūsmām un pakalpojumu plūsmām.
    • Ieviessts filtrs video dekodēšanai MPEG‑1 formātā (DirectShow MPEG‑1 Video Decoder).
  • Input devices
    • DirectInput ietver atbalstu darbību kartēšanai (action maps), kas ļauj piešķirt pogas spēļu kontrolierī uz noteiktām darbībām spēlēs.
  • Integrācija ar darbvirsmu
    • Nodrošināta pārvietošana uz galveno lietotāja vidi, ļaujot izsaukt Wine ietvarā palaistās lietojumprogrammas kā protokolu apstrādātājus, atverot URL (piemēram, spotify.exe palaišana, kad tiek atvērtas saites tādā formā kā «spotify:user:spotify:playlist:848218482355482821»).
    • Iekļauta EDID (Extended Display Identification Data) datu iegūšana ar informāciju par pievienotā monitora parametriem, piemēram, ierīces nosaukumu un modeli.
    • Tika nodrošināta iespēja aizvērt darbvirsmas logu, kas ir palielināts pilnekrāna režīmā, izmantojot pogu «Exit desktop» sākuma izvēlnē.
  • Internacionalizācija
    • Paplašināta IME (Input Method Editors) atbalsts. Veikta saderības uzlabošana ar Microsoft Windows IME risinājumiem un uzlabota integrācija ar Linux IME.
    • Nodrošināta lokalizāciju datu bāzes ģenerēšana locale.nls formātā no Unicode CLDR (Unicode Common Locale Data Repository) datu bāzes versijas 44. Pievienots atbalsts papildu lokalizācijām bew-ID, blo-BJ, csw-CA, ie-EE, mic-CA, prg-PL, skr-PK, tyv-RU, vmw-MZ, xnr-IN un za-CN.
    • Veikts interfeisa tulkojums gruzīnu valodā. Nodrošināti pilna tulkojuma pakalpojumi 16 valodām un daļēji 31 valodai.
    • Unicode simbolu tabulas atjauninātas līdz standarta versijai 15.1.0. Atjaunināta laika joslu datu bāze.
  • Kodols (Windows kodola interfeisi).
    • Kā noklusējuma izlaistā Windows versija noteikta Windows 10.
    • IZPILDĀMAJIEM FAILIEM PE formātā ieviesta atbalsta randomizācija adrešu telpā (ASLR), tomēr koda ielādes adreses atmiņā vēl nav pilnībā randomizētas.
    • Ieviesuši atbalstu vāji fragmentētai kaudzei (LFH, Low Fragmentation Heap), kas ļāvis palielināt atmiņas piešķiršanas operāciju veiktspēju.
    • Virtuālās atmiņas atbalsta mehānismā pievienots atbalsts atmiņas rezervēšanai (placeholder), ļaujot lietojumprogrammai rezervēt noteiktu virtuālās atmiņas apgabalu nākotnes izmantošanai.
    • 64 bitu ielādētāji (loader un preloader) izpildāmajiem failiem un bibliotēkām apkopoti PIE (Position-Independent Executables) formātā, lai atbrīvotu daļu 32 bitu adrešu telpas.
    • Nodrošināta pareiza steka atgriešana (stack unwinding) NT sistēmas izsaukumiem un lietotāja callback izsaukumiem.
  • Tīkla iespējas.
    • MSHTML dzinējā ir ieviesta atbalsts atkritumu vākšanas mehānismam «Cycle Collection».
    • MSHTML ir pievienots atbalsts sinhronajam XMLHttpRequest pieprasījumu apstrādes režīmam.
    • jscript.dll ir pievienots atbalsts WeakMap objektam, kas darbojas ar atslēgas/vērtības pāru kolekciju, kur atslēga ir objekts, pie kura var piesaistīt jebkādu vērtību. Ieviestas metodes WeakMap.get(), WeakMap.delete(), WeakMap.clear() un WeakMap.has().
    • Pārlūkprogrammas dzinējs Gecko ir atjaunināts līdz versijai 2.47.4.
    • Ir ieviests atbalsts ziņošanai par tīkla interfeisa stāvokļa izmaiņām.
  • Kriptogrāfija un drošība
    • Winscard.dll bibliotēkā ir pievienots atbalsts viedkartēm, ko īsteno caur sistēmas bibliotēku PCSClite.
    • BCrypt ir pievienots atbalsts DiFi-Hellman atslēgu apmaiņas protokolam.
    • Ir ieviests Negotiate komplekts, kas nodrošina saskarni, izmantojot SSPI (Security Support Provider Interface) piekļuvei SSP (Security Support Provider) nodrošinātājiem.
  • Iebūvēti lietojumprogrammas
    • Wine Debugger (winedbg) ir ieviesta Zydis bibliotēka mašīnu instrukciju X86 disasembēšanai.
    • WineCfg saskarnē ir pievienota iespēja iestatīt vecākas Windows versijas (līdz XP) 64 bitu platformās, ļaujot palaist novecojušas lietotnes, izmantojot WoW64 režīmu.
    • Visās iebūvētajās grafiskajās lietojumprogrammās ir ieviesta kļūdu informācijas attēlošana atsevišķā dialogā, nevis konsolē.
    • systeminfo programmā tagad tiek rādīta informācija no WMI (Windows Management Instrumentation) datubāzes.
    • Ir pievienota klist lietotne Kerberos biļešu attēlošanai.
    • taskkill lietotnē ir ieviesta iespēja piespiedu kārtā pabeigt bērnu procesus.
    • start utilītē ir pievienots «/machine» parametrs, lai izvēlētos arhitektūru, kas tiek izmantota, izpildot hibrīdās izpildāmās failus, kas atbalsta x86 un ARM.
    • Ir ieviesta lielākā daļa funkcionalitātes tasklist programmai.
    • Ir pievienota pamata aplikācijas findstr īstenošana.
  • Izstrādes rīki
    • WineDump utilītē ir ieviesta iespēja izvadīt Windows reģistra failu saturu (REGF formāts) un rādīt datus visām arhitektūrām (x86/ARM64), kas tiek atbalstītas hibrīdos PE-failos.
    • IDL kompilatorā ir pievienots atbalsts atribūtiem «composable», «default_overload», «deprecated» un «protected».
    • Ir atcelta libwine.so bibliotēka, kas tika uzskatīta par novecojušu Wine 6.0 izlaišanā un vairs netiek izmantota Wine. ELF formāta programmām, kas izveidotas iepriekšējās Wine versijās (5.0 un vecākām) ar libwine.so, lai tās varētu darboties Wine 9.0, ir nepieciešama atkārtota kompilācija.
  • Iebūvētās bibliotēkas un ārējās atkarības
    • Integrētas bibliotēkas FluidSynth 2.3.3, Musl 1.2.3 (tikai matemātiskās funkcijas) un Zydis 4.0.0.
    • Atjaunināti uz jaunām versijām komponentes Vkd3d 1.10, Faudio 23.12, OpenLDAP 2.5.16, LCMS2 2.15, LibMPG123 1.32.2, LibPng 1.6.40, LibTiff 4.6.0, LibXml2 2.11.5, LibXslt 1.1.38 un Zlib 1.3. Wine Mono dzinējs ar .NET platformas realizāciju ir atjaunināts līdz 8.1.0 versijai.
    • Draiverī winewayland.drv kā ārējās atkarības tiek izmantota Wayland klienta bibliotēka, kā arī bibliotēkas xkbcommon un xkbregistry.
    • Lai atbalstītu viedkartes, tiek izmantota ārējā bibliotēka PCSClite (macOS — PCSC).
    • PE failu kompilācijai platformās, kas atšķiras no i386, tagad ir nepieciešams krusteniskā kompilatora atbalsts, lai izmantotu „.seh” direktīvas izņēmumu apstrādei.

Avots: opennet.lv

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster