Stabilā Wine 7.0 versija

Pēc gada izstrādes un 30 eksperimentālām versijām ir iznākusi stabilā atvērto Win32 API realizāciju — Wine 7.0, kas iekļauj vairāk nekā 9100 izmaiņu. No jaunās versijas galvenajiem sasniegumiem var izcelt vairuma Wine moduļu pārcelšanu uz PE formātu, tēmu atbalstu, paplašināto kaudzes atbalstu joystick un HID interfeisa ievades ierīcēm, kā arī WoW64 arhitektūras ieviešanu, lai palaistu 32 bitu programmas 64 bitu vidē.

Wine apstiprina pilnu 5156 (pirms gada 5049) Windows programmu darbību; vēl 4312 (pirms gada 4227) programmas darbojas lieliski ar papildu iestatījumiem un ārējām DLL. 3813 programmām (pirms gada 3703) novēro mazas problēmas darbībā, kas neietekmē galveno funkciju izmantošanu.

Galvenās jaunas funkcijas Wine 7.0:

  • Moduļi PE formātā
    • Gandrīz visas DLL bibliotēkas ir pārvērstas uz PE (Portable Executable, ko izmanto Windows) formātu, nevis ELF. PE izmantošana atrisina problēmas ar atbalstu dažādām aizsardzības shēmām, kas veic sistēmisko moduļu identitātes salīdzināšanu disks un atmiņā.
    • Ieviesta PE moduļu mijiedarbība ar Unix bibliotēkām, izmantojot NT kodu sistēmas zvanu, kas ļauj slēpt piekļuvi Unix kodam no Windows debugeriem un izsekot pavedienu reģistrēšanu.
    • Iebūvētās DLL tagad tiek ielādētas tikai tad, ja diskā ir atbilstošs PE formāts failam, neatkarīgi no tā, vai tā ir īsta bibliotēka vai surogāts. Šī izmaiņa ļauj programmatūrai vienmēr redzēt pareizu saistību ar PE failiem. Lai atslēgtu šo rīcību, var izmantot VIDIETBOOTSTRAPMODE vides mainīgo.
  • WoW64
    • Ieviesta WoW64 (64-bit Windows-on-Windows) arhitektūra, kas ļauj palaist 32 bitu Windows programmas 64 bitu Unix procesos. Atbalsts ir īstenots, pievienojot slāni, kas pārveido 32 bitu NT sistēmas zvanus uz 64 bitu apelācijām uz NTDLL.
    • WoW64 slāņi ir sagatavoti vairumam Unix bibliotēku un ļauj 32 bitu PE moduļiem piekļūt 64 bitu Unix bibliotēkām. Pabeidzot visu moduļu pārvēršanu PE formātā, būs iespēja izpildīt 32 bitu Windows programmas bez 32 bitu Unix bibliotēku instalēšanas.
  • Tēmu pielāgošana
    • Ieviešota atbalsta tēmu pielāgošanai. Komplektā ir iekļautas tēmas „Light”, „Blue” un „Classic Blue”, kuras var izvēlēties, izmantojot konfiguratoru WineCfg.
    • Pievienota iespēja pielāgot visu saskarnes elementu izskatu, izmantojot tēmas. Nodrošināta automātiska elementu izskata atjaunināšana pēc tēmas maiņas.
    • Visiem iebūvētajiem Wine lietojumiem pievienots tēmu atbalsts. Veikta lietojumu pielāgošana augstas izšķirtspējas ekrāniem (High DPI).
  • Grafiskā apakšsistēma
    • Pievienota jauna bibliotēka Win32u, kurā ir iekļautas daļas no GDI32 un USER32 bibliotēkām, kas saistītas ar grafikas apstrādi un logu pārvaldību kodola līmenī. Nākotnē tiks uzsākts darbs pie draiveru komponentu pārvietošanas uz Win32u, piemēram, winex11.drv un winemac.drv.
    • Vulkan draiverī ir īstenots grafiskā API Vulkan 1.2.201 specifikācijas atbalsts.
    • Tiek nodrošināts atbalsts izvadām caur Direct2D API svītru ģeometriskajiem objektiem ar iespēju pārbaudīt, vai noklikšķinājums ir bijis precīzi.
    • Direct2D API ir ieviesta pamata atbalsta sniegšana vizuālajiem efektiem, kas tiek izmantoti ar ID2D1Effect interfeisu.
    • Direct2D API pievienots atbalsts ID2D1MultiThread interfeisam, ko izmanto, lai organizētu ekskluzīvu piekļuvi resursiem daudzplūsmu lietojumos.
    • WindowsCodecs bibliotēkā ir ieviests atbalsts WMP (Windows Media Photo) attēlu dekodēšanai un DDS (DirectDraw Surface) attēlu kodēšanai. Atbalsts attēlu kodēšanai ICNS formātā (macOS) ir pārtraukts, jo Windows to neatbalsta.
  • Direct3D
    • Jaunais attēlošanas dzinējs ir ievērojami uzlabots, veicot Direct3D izsaukumu pārtulkošanu grafiskajā API Vulkan. Vairumā gadījumu Direct3D 10 un 11 atbalsta līmenis Vulkan balstītajā dzinējā ir panākts līdzvērtigā atbalsta līmenī ar veco OpenGL bāzēto dzinēju. Lai aktivizētu attēlošanas dzinēju caur Vulkan, jānomaina reģistra mainīgā Direct3D „renderer” uz „vulkan”.
    • Ievieščoti daudzi Direct3D 10 un 11 iespēju, tostarp atliekas konteksti (Deferred Contexts), kas darbojas ierīču konteksta stāvokļa objektos, pastāvīgi nobīdes buferos, nesakārtotu tekstūru attīrīšana, datu kopēšana starp resursiem bez tipu formātiem (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32A32_TYPELESS) utt.
    • Pievienota atbalsta daudzu monitoru konfigurācijām, kas ļauj izvēlēties monitoru, lai attēlotu Direct3D programmu pilnekrāna režīmā.
    • DXGI API ir ieviesta ekrāna gamma korekcijas funkcionalitāte, ko var izmantot Direct3D 10 un 11 balstītās programmās, lai mainītu ekrāna spilgtumu. Nodrošināta virtuālo rāmju buferu (SwapChain) skaitītāju izsniegšana.
    • Direct3D 12 ir pievienots 1.1 versijas sakņu parakstu atbalsts.
    • Vulkan API attēlošanas kodē ir uzlabota pieprasījumu apstrādes efektivitāte, ja sistēmā ir atbalsts paplašinājumam VK_EXT_host_query_reset.
    • Pievienota virtuālo rāmju buferu (SwapChain) izvadīšanas iespēja caur GDI, ja OpenGL vai Vulkan nevar izmantot attēlošanai, piemēram, izvadot logs no dažādiem procesiem, piemēram, programmām, kas balstītas uz CEF (Chromium Embedded Framework).
    • Izmantojot GLSL šīderu aizmuguri, ir nodrošināta modifikatora "precise" lietošana šīderu instrukcijām.
    • DirectDraw API ir pievienots 3D attēlošanas atbalsts sistēmiskajā atmiņā, izmantojot programmatūras ierīces, piemēram, "RGB", "MMX" un "Ramp".
    • Direct3D grafisko karšu datubāzei pievienotas AMD Radeon RX 5500M, AMD Radeon RX 6800/6800 XT/6900 XT, AMD Van Gogh, Intel UHD Graphics 630 un NVIDIA GT 1030 kartes.
    • No reģistra HKEY_CURRENT_USER\Software\Wine\Direct3D ir izņemta atslēga "UseGLSL", kuru tagad, sākot no Wine 5.0, jāaizstāj ar "shader_backend".
    • Lai atbalstītu Direct3D 12, tagad ir nepieciešama vkd3d bibliotēka vismaz versijā 1.2.
  • D3DX
    • D3DX 10 īstenojumā uzlabota vizuālo efektu ietvara atbalsts un pievienots Windows Media Photo (JPEG XR) attēlu formāta atbalsts.
    • D3DX10 ir pievienotas funkcijas tekstūru izveidei, piemēram, D3DX10CreateTextureFromMemory().
    • Daļēji īstenoti ID3DX10Sprite un ID3DX10Font programmatūras interfeisi.
  • Skaņa un video
    • Vienā kopīgā WineGStreamer aizmugurē ir apvienoti GStreamer papildinājumi DirectShow un Media Foundation ietvaram, kas vajadzētu atvieglot jaunu API satura dekodēšanai izstrādi.
    • Uz WineGStreamer aizmugures ir īstenoti Windows Media objekti sinhronai un asinhonai lasīšanai.
    • Turpināta Media Foundation ietvara īstenošanas uzlabošana, pievienots IMFPMediaPlayer funkcionalitātes atbalsts, paraugu pieliekšanas sadalītājs (sample allocator), uzlabots EVR un SAR attēlošanas buferu atbalsts.
    • Noņemta bibliotēka wineqtdecoder, kas nodrošināja dekoderu QuickTime formātam (visi kodeki tagad izmanto GStreamer).
  • Input devices
    • Significantly improved stack for input devices that support the HID (Human Interface Devices) protocol, which includes features such as parsing HID descriptors, handling HID messages, and providing HID mini-drivers.
    • The winebus.sys driver backends have improved the translation of device descriptions into HID messages.
    • A new DirectInput backend for joysticks supporting the HID protocol has been added. The ability to use feedback effects in joysticks has been implemented. Improved vadības paneļa joystick interaction. Interaction with devices compatible with XInput has been optimized. In WinMM, joystick support has been switched to DInput instead of using the evdev backend in Linux and IOHID in macOS. The old joystick driver winejoystick.drv has been removed.
    • New tests based on the application of virtual HID devices that do not require the presence of a physical device have been added to the DInput module.
  • Teksts un fonti.
    • A Font Set object has been added to DirectWrite.
    • The TextHost interface has been correctly implemented in RichEdit.
  • Kodols (Windows kodola interfeisi).
    • When launching an unidentified executable file in Wine (for example, 'wine foo.msi'), start.exe is now called, which invokes handlers associated with the file type.
    • Support for synchronization mechanisms NtAlertThreadByThreadId and NtWaitForAlertByThreadId, similar to futexes in Linux, has been added.
    • Support for NT debug objects used for debugging kernel functions has been added.
    • Support for dynamic registry keys to save performance data has been added.
  • C Runtime
    • The C runtime now includes a complete set of mathematical functions that have been mainly ported from the Musl library.
    • Correct support for floating-point computation functions is provided for all CPU platforms.
  • Tīkla iespējas.
    • Compatibility mode with Internet Explorer 11 (IE11) has been improved and is now used by default for handling HTML documents.
    • The mshtml library has implemented ES6 (ECMAScript 2015) JavaScript mode, providing support for features such as the let expression and the Map object.
    • Installing Wine MSI packages with Gecko engine extensions in the working directory is now done as necessary, rather than during Wine updates.
    • Pievienota DTLS protokola atbalsts.
    • The NSI (Network Store Interface) service has been implemented, which stores and transmits routing and network interface information on the computer to other services.
    • API WinSock apstrādes rīki, piemēram, setsockopt un getsockopt, ir pārvietoti uz bibliotēku NTDLL un draiveri afd.sys, lai atbilstu Windows arhitektūrai.
    • Tagad Wine darba katalogā tiek uzstādītas pašu faili ar tīkla datubāzēm, piemēram, /etc/protocols un /etc/networks, nevis tiek izmantotas atbilstošās Unix datubāzes.
  • Alternatīvās platformas
    • Pievienota atbalsts Apple aparatūrai, kas balstīta uz ARM M1 (Apple Silicon) mikroshēmām.
    • Lai atbalstītu BCrypt un Secur32 funkcijas macOS platformā, tagad ir nepieciešama GnuTLS bibliotēkas instalācija.
    • 32 bitu izpildfaili ARM platformām tagad tiek veidoti Thumb-2 režīmā, līdzīgi kā Windows. Šādu failu ielādei tiek izmantots preloader.
    • 32 bitu ARM platformām ir ieviests atbalsts izņēmumu apgriešanai (unwinding).
    • FreeBSD ir paplašināts atbalstīto zemu līmeņu sistēmas informācijas pieprasījumu skaits, piemēram, dati par atmiņas stāvokli un akumulatora uzlādes līmeni.
  • Iebūvētās lietotnes un izstrādes rīki
    • Reg.exe utilītē pievienots atbalsts 32 un 64 bitu reģistra attēlojumiem. Pievienots atbalsts reģistra atslēgu kopēšanai.
    • WineDump utilītē pievienots atbalsts Windows metadatu izvadam un detalizētas informācijas rādīšanai par CodeView ierakstiem.
    • Wine Debugger (winedbg) ir ieviesta iespēja veikt 32 bitu procesu debuggēšanu no 64 bitu debuggēšanas rīka.
    • IDL (widl) kompilatorā pievienota iespēja iekļaut bibliotēkas, kas iebūvētas PE failos, nodrošināts atbalsts WinRT specifiskajām atribūtām un konstrukcijām, kā arī realizēta meklēšana bibliotēkām, kas saistītas ar platformu.
  • Būvēšanas sistēma
    • Specifisku aparatūras arhitektūru direktorijās bibliotēkas tagad tiek sakārtotas ar nosaukumiem, kas atspoguļo arhitektūru un izpildfailu veidu, piemēram, 'i386-windows' PE formātam un 'x86_64-unix' unix bibliotēkām, kas ļauj nodrošināt atbalstu dažādām arhitektūrām vienā Wine instalācijā un veikt krustenkompilāciju Winelib.
    • Lai instalētu PE failu virsrakstos opciju, kas nosaka pāreju uz vietējo DLL bibliotēku izmantošanu, winebuild ir pievienots '—prefer-native option' karogs (DLL_WINE_PREATTACH apstrāde DllMain ir pārtraukta).
    • Pievienots atbalsts 4. versijas Dwarf atkļūdošanas datu formātam, kas tagad tiek izmantots pēc noklusējuma veidojot Wine bibliotēkas.
    • Pievienota izveides opcija '—enable-build-id' unikālu izveides identifikatoru saglabāšanai izpildfailos.
    • Pievienota Clang kompilatora izmantošanas atbalsts saderības režīmā ar MSVC.
  • Dažādi
    • Lietotāja saskarnes (Windows Shell) standarta katalogu nosaukumi ir pielāgoti shēmai, kas tiek izmantota kopš Windows Vista, t.i., vietā ‘Mani dokumenti’ tagad tiek izveidots katalogs ‘Dokumenti’, un lielākā daļa datu tiek saglabāti katalogā ‘AppData’.
    • Atbalsts OpenCL 1.2 specifikācijai ir pievienots OpenCL bibliotēku slānī.
    • WinSpool draiverī pievienots atbalsts dažādiem lapu izmēriem drukāšanas procesā.
    • Uzsākta MSDASQL atbalsta pievienošana, Microsoft OLE DB piekļuves nodrošinātājam ODBC draiveriem.
    • Wine Mono dzinējs ar .NET platformas īstenojumu ir atjaunināts līdz 7.0.0 izlaidumam.
    • Unicode dati tika atjaunoti līdz Unicode 14 specifikācijai.
    • Avota koda kokā ir iekļautas bibliotēkas Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt un Zlib, kuras tiek veidotas PE formātā un neprasa Unix versiju. Šīs bibliotēkas arī var tikt importētas no sistēmas, lai izmantotu ārējās versijas vietā iebūvētajām PE versijām.

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