PÄc gada izstrÄdes un 30 eksperimentÄlÄm versijÄm tika prezentÄts stabils Win32 API atvÄrtÄs ievieÅ”anas izlaidums - Wine 7.0, kurÄ tika iekļautas vairÄk nekÄ 9100 izmaiÅas. JaunÄs versijas galvenie sasniegumi ir lielÄkÄs daļas Wine moduļu tulkoÅ”ana PE formÄtÄ, motÄ«vu atbalsts, kursorsviru un ievades ierÄ«Äu ar HID interfeisu kaudzes paplaÅ”inÄÅ”ana un WoW64 arhitektÅ«ras ievieÅ”ana 32 bitu programmu palaiÅ”anai 64 bitu vide.
Wine ir apstiprinÄjis 5156 (pirms gada 5049) programmu pilnÄ«gu darbÄ«bu operÄtÄjsistÄmai Windows, vÄl 4312 (pirms gada 4227) programmas lieliski strÄdÄ ar papildu iestatÄ«jumiem un ÄrÄjiem DLL. 3813 programmÄm (pirms 3703 gadiem) ir nelielas darbÄ«bas problÄmas, kas netraucÄ lietotÅu galveno funkciju izmantoÅ”anu.
Galvenie jauninÄjumi programmÄ Wine 7.0:
- Moduļi PE formÄtÄ
- GandrÄ«z visi DLL ir pÄrveidoti, lai ELF vietÄ izmantotu PE (Portable Executable, izmanto operÄtÄjsistÄmÄ Windows) izpildÄmÄ faila formÄtu. PE izmantoÅ”ana atrisina problÄmas ar dažÄdu kopÄÅ”anas aizsardzÄ«bas shÄmu atbalstÄ«Å”anu, kas pÄrbauda sistÄmas moduļu identitÄti diskÄ un atmiÅÄ.
- Ir ieviesta iespÄja mijiedarboties ar PE moduļiem ar Unix bibliotÄkÄm, izmantojot standarta NT kodola sistÄmas izsaukumu, kas ļauj slÄpt piekļuvi Unix kodam no Windows atkļūdotÄjiem un uzraudzÄ«t pavedienu reÄ£istrÄciju.
- IebÅ«vÄtie DLL tagad tiek ielÄdÄti tikai tad, ja diskÄ ir atbilstoÅ”s PE fails, neatkarÄ«gi no tÄ, vai tÄ ir Ä«sta bibliotÄka vai fails. Å Ä«s izmaiÅas ļauj lietojumprogrammai vienmÄr redzÄt pareizo saistÄ«Å”anu ar PE failiem. Lai atspÄjotu Å”o darbÄ«bu, varat izmantot WINEBOOTSTRAPMODE vides mainÄ«go.
- WoW64
- Ir ieviesta WoW64 arhitektÅ«ra (64 bitu Windows uz Windows), kas ļauj palaist 32 bitu Windows lietojumprogrammas 64 bitu Unix procesos. Atbalsts tiek Ä«stenots, savienojot slÄni, kas pÄrvÄrÅ” 32 bitu NT sistÄmas izsaukumus 64 bitu izsaukumos uz NTDLL.
- WoW64 slÄÅi ir sagatavoti lielÄkajai daļai Unix bibliotÄku un ļauj 32 bitu PE moduļiem piekļūt 64 bitu Unix bibliotÄkÄm. Kad visi moduļi bÅ«s konvertÄti PE formÄtÄ, bÅ«s iespÄjams palaist 32 bitu Windows lietojumprogrammas, neinstalÄjot 32 bitu Unix bibliotÄkas.
- TÄmas
- TÄmas atbalsts ir Ä«stenots. Ir iekļautas dizaina tÄmas āLightā, āBlueā un āClassic Blueā, kuras var izvÄlÄties, izmantojot WineCfg konfiguratoru.
- Pievienota iespÄja pielÄgot visu interfeisa vadÄ«klu izskatu, izmantojot motÄ«vus. Elementu izskats tiek automÄtiski atjauninÄts pÄc dizaina tÄmas maiÅas.
- MotÄ«vu atbalsts ir pievienots visÄm iebÅ«vÄtajÄm Wine lietojumprogrammÄm. Lietojumprogrammas ir pielÄgotas ekrÄniem ar augstu pikseļu blÄ«vumu (High DPI).
- Grafikas apakÅ”sistÄma
- Ir pievienota jauna Win32u bibliotÄka, kas ietver GDI32 un USER32 bibliotÄku daļas, kas saistÄ«tas ar grafikas apstrÄdi un logu pÄrvaldÄ«bu kodola lÄ«menÄ«. NÄkotnÄ tiks sÄkts darbs pie draivera komponentu, piemÄram, winex32.drv un winemac.drv, pÄrneÅ”anas uz Win11u.
- Vulkan draiveris atbalsta Vulkan grafikas API specifikÄciju 1.2.201.
- NodroÅ”inÄts atbalsts izsvÄ«trotu Ä£eometrisku objektu izvadÄ«Å”anai, izmantojot Direct2D API, ar iespÄju pÄrbaudÄ«t, vai klikŔķis ir trÄpÄ«jis (trÄpÄ«juma pÄrbaude).
- Direct2D API nodroÅ”ina sÄkotnÄjo atbalstu vizuÄlajiem efektiem, kas tiek lietoti, izmantojot saskarni ID2D1Effect.
- Direct2D API ir pievienojis atbalstu ID2D1MultiThread interfeisam, ko izmanto, lai organizÄtu ekskluzÄ«vu piekļuvi resursiem daudzpavedienu lietojumprogrammÄs.
- WindowsCodecs bibliotÄku komplekts nodroÅ”ina atbalstu attÄlu dekodÄÅ”anai WMP (Windows Media Photo) formÄtÄ un attÄlu kodÄÅ”anai DDS (DirectDraw Surface) formÄtÄ. MÄs vairs neatbalstÄm attÄlu kodÄÅ”anu ICNS formÄtÄ (operÄtÄjsistÄmai macOS), kas netiek atbalstÄ«ts operÄtÄjsistÄmÄ Windows.
- Direct3D
- Jaunais renderÄÅ”anas dzinÄjs ir ievÄrojami uzlabots, pÄrvÄrÅ”ot Direct3D izsaukumus uz Vulkan grafikas API. VairumÄ gadÄ«jumu Direct3D 10 un 11 atbalsta lÄ«menis Vulkan dzinÄjÄ ir lÄ«dzvÄrtÄ«gs vecÄkajam OpenGL dzinÄjam. Lai iespÄjotu Vulkan renderÄÅ”anas programmu, iestatiet Direct3D reÄ£istra mainÄ«go "renderer" uz "vulkan".
- Ir ieviestas daudzas Direct3D 10 un 11 funkcijas, tostarp atliktie konteksti, stÄvokļa objekti, kas darbojas ierÄ«ces kontekstÄ, pastÄvÄ«gas nobÄ«des buferos, nekÄrtÄ«bas tekstÅ«ras skatu notÄ«rÄ«Å”ana, datu kopÄÅ”ana starp resursiem bez veida formÄtos (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32A), utt. .
- Pievienots atbalsts vairÄku monitoru konfigurÄcijÄm, kas ļauj atlasÄ«t monitoru, lai parÄdÄ«tu Direct3D lietojumprogrammu pilnekrÄna režīmÄ.
- DXGI API nodroÅ”ina ekrÄna gamma korekciju, ko var izmantot Direct3D 10 un 11 lietojumprogrammas, lai mainÄ«tu ekrÄna spilgtumu. IespÄjota virtuÄlo kadru buferu skaitÄ«tÄju izguve (SwapChain).
- Direct3D 12 pievieno atbalstu versijas 1.1 saknes parakstiem.
- RenderÄÅ”anas kodÄ, izmantojot Vulkan API, vaicÄjumu apstrÄdes efektivitÄte ir uzlabota, ja sistÄma atbalsta paplaÅ”inÄjumu VK_EXT_host_query_reset.
- Pievienota iespÄja izvadÄ«t virtuÄlos kadru buferus (SwapChain), izmantojot GDI, ja OpenGL vai Vulkan nevar izmantot attÄloÅ”anai, piemÄram, izvadot uz logu no dažÄdiem procesiem, piemÄram, programmÄs, kuru pamatÄ ir CEF (Chromium Embedded Framework) ietvars.
- Izmantojot GLSL ÄnotÄja aizmuguri, ÄnotÄja norÄdÄ«jumiem tiek nodroÅ”inÄts "precÄ«zs" modifikators.
- DirectDraw API pievieno atbalstu 3D renderÄÅ”anai sistÄmas atmiÅÄ, izmantojot programmatÅ«ras ierÄ«ces, piemÄram, "RGB", "MMX" un "Ramp".
- Direct3D grafisko karÅ”u datubÄzei ir 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 noÅemta atslÄga āUseGLSLā, kuras vietÄ, sÄkot ar Wine 5.0, ir jÄizmanto āshader_backendā.
- Lai atbalstÄ«tu Direct3D 12, tagad ir nepiecieÅ”ama vismaz vkd3d bibliotÄkas versija 1.2.
- D3DX
- D3DX 10 ievieÅ”ana ir uzlabojusi atbalstu vizuÄlo efektu ietvaram un pievienojusi atbalstu Windows Media Photo attÄla formÄtam (JPEG XR).
- Pievienotas tekstÅ«ras izveides funkcijas, kas nodroÅ”inÄtas D3DX10, piemÄram, D3DX10CreateTextureFromMemory().
- ProgrammatÅ«ras saskarnes ID3DX10Sprite un ID3DX10Font ir daļÄji ieviestas.
- SkaÅa un video
- GStreamer pievienojumprogrammas DirectShow un Media Foundation ietvaram ir apvienotas vienÄ kopÄjÄ WineGStreamer aizmugursistÄmÄ, kam vajadzÄtu vienkÄrÅ”ot jaunu satura dekodÄÅ”anas API izstrÄdi.
- Pamatojoties uz WineGStreamer aizmugursistÄmu, Windows Media objekti tiek ieviesti sinhronai un asinhronai lasÄ«Å”anai.
- Ir vÄl vairÄk uzlabota Media Foundation ietvara ievieÅ”ana, pievienots atbalsts IMFPMediaPlayer funkcionalitÄtei un paraugu sadalÄ«tÄjam, kÄ arÄ« uzlabots atbalsts EVR un SAR renderÄÅ”anas buferiem.
- Winqtdecoder bibliotÄka, kas nodroÅ”ina QuickTime formÄta dekodÄtÄju, ir noÅemta (tagad visi kodeki izmanto GStreamer).
- Ieejas ierīces
- Ievades ierÄ«Äu steks, kas atbalsta HID (cilvÄka interfeisa ierÄ«Äu) protokolu, ir ievÄrojami uzlabots, nodroÅ”inot tÄdas iespÄjas kÄ HID deskriptoru parsÄÅ”ana, HID ziÅojumu apstrÄde un mini-HID draiveru nodroÅ”inÄÅ”ana.
- Winebus.sys draivera aizmugursistÄmÄs ir uzlabota ierÄ«Äu aprakstu tulkoÅ”ana HID ziÅojumos.
- Pievienota jauna DirectInput aizmugursistÄma kursorsvirÄm, kas atbalsta HID protokolu. Ir ieviesta iespÄja izmantot atgriezeniskÄs saites efektus kursorsvirÄs. Uzlabots kursorsviras vadÄ«bas panelis. OptimizÄta mijiedarbÄ«ba ar XInput saderÄ«gÄm ierÄ«cÄm. OperÄtÄjsistÄmÄ WinMM kursorsviras atbalsts ir pÄrvietots uz DInput, tÄ vietÄ, lai izmantotu evdev aizmuguri operÄtÄjsistÄmÄ Linux un IOHID operÄtÄjsistÄmÄ macOS IOHID. Vecais kursorsviras draiveris winejoystick.drv ir noÅemts.
- DInput modulim ir pievienoti jauni testi, kuru pamatÄ ir virtuÄlo HID ierÄ«Äu izmantoÅ”ana un kuriem nav nepiecieÅ”ama fiziska ierÄ«ce.
- Teksts un fonti
- Pievienots fontu iestatīŔanas objekts DirectWrite.
- RichEdit pareizi ievieÅ” TextHost saskarni.
- Kodols (Windows kodola saskarnes)
- Palaižot neidentificÄtu izpildÄmo failu (piemÄram, āwine foo.msiā) programmÄ Wine, tagad tiek izsaukts start.exe, kas izsauc ar faila tipu saistÄ«tos apstrÄdÄtÄjus.
- Pievienots atbalsts sinhronizÄcijas mehÄnismiem NtAlertThreadByThreadId un NtWaitForAlertByThreadId, lÄ«dzÄ«gi kÄ futexes operÄtÄjsistÄmÄ Linux.
- Pievienots atbalsts NT atkļūdoŔanas objektiem, ko izmanto kodola funkciju atkļūdoŔanai.
- Pievienots atbalsts dinamiskÄm reÄ£istra atslÄgÄm, lai saglabÄtu veiktspÄjas datus.
- C Izpildlaiks
- C izpildlaiks ievieÅ” pilnu matemÄtisko funkciju komplektu, kas galvenokÄrt tiek pÄrnestas no Musl bibliotÄkas.
- Visas CPU platformas nodroÅ”ina pareizu peldoÅ”Ä komata funkciju atbalstu.
- TÄ«kla funkcijas
- Uzlabots saderÄ«bas režīms pÄrlÅ«kprogrammai Internet Explorer 11 (IE11), kas tagad tiek izmantots pÄc noklusÄjuma HTML dokumentu apstrÄdei.
- Mshtml bibliotÄka ievieÅ” ES6 JavaScript režīmu (ECMAScript 2015), kas nodroÅ”ina atbalstu tÄdiem lÄ«dzekļiem kÄ let izteiksme un kartes objekts.
- MSI pakotÅu instalÄÅ”ana ar Gecko dzinÄja papildinÄjumiem Wine darba direktorijÄ tagad tiek veikta nepiecieÅ”amÄ«bas gadÄ«jumÄ, nevis Wine atjauninÄÅ”anas laikÄ.
- Pievienots DTLS protokola atbalsts.
- Ir ieviests NSI (Network Store Interface) pakalpojums, kas glabÄ un pÄrraida informÄciju par marÅ”rutÄÅ”anu un tÄ«kla saskarnÄm datorÄ citiem pakalpojumiem.
- WinSock API apstrÄdÄtÄji, piemÄram, setsockopt un getsockopt, ir pÄrvietoti uz NTDLL un draiveri afd.sys, lai tie atbilstu Windows arhitektÅ«rai.
- UzÅÄmuma Wine tÄ«kla datu bÄzes faili, piemÄram, /etc/protocols un /etc/networks, tagad ir instalÄti Wine darba direktorijÄ, nevis piekļūt lÄ«dzÄ«gÄm Unix datu bÄzÄm.
- Alternatīvas platformas
- Pievienots atbalsts Apple aprÄ«kojumam, kura pamatÄ ir M1 ARM mikroshÄmas (Apple Silicon).
- Lai atbalstÄ«tu BCrypt un Secur32 funkcijas operÄtÄjsistÄmÄ macOS, tagad ir jÄinstalÄ GnuTLS bibliotÄka.
- 32 bitu izpildÄmie faili ARM platformÄm tagad ir iebÅ«vÄti Ä«kŔķa 2 režīmÄ, lÄ«dzÄ«gi kÄ Windows. Å Ädu failu ielÄdei tiek izmantots priekÅ”ielÄdÄtÄjs.
- 32 bitu ARM platformÄm ir ieviests atbalsts izÅÄmumu attÄ«Å”anai.
- AttiecÄ«bÄ uz FreeBSD ir paplaÅ”inÄts atbalstÄ«to vaicÄjumu skaits zema lÄ«meÅa sistÄmas informÄcijai, piemÄram, atmiÅas statusam un akumulatora uzlÄdes lÄ«menim.
- IebÅ«vÄtas lietojumprogrammas un izstrÄdes rÄ«ki
- UtilÄ«ta reg.exe ir pievienojusi atbalstu 32 un 64 bitu reÄ£istra skatiem. Pievienots atbalsts reÄ£istra atslÄgu kopÄÅ”anai.
- LietderÄ«ba WineDump ir pievienojusi atbalstu Windows metadatu izvadÄ«Å”anai un detalizÄtas informÄcijas par CodeView ierakstiem parÄdÄ«Å”anai.
- Wine atkļūdotÄjs (winedbg) nodroÅ”ina iespÄju atkļūdot 32 bitu procesus no 64 bitu atkļūdotÄja.
- IDL kompilatoram (widl) ir pievienota iespÄja ielÄdÄt PE failos iebÅ«vÄtÄs bibliotÄkas, nodroÅ”inÄts WinRT specifisko atribÅ«tu un konstrukciju atbalsts, kÄ arÄ« ieviesta platformai specifiska bibliotÄkas meklÄÅ”ana.
- MontÄžas sistÄma
- ArhitektÅ«rai specifiskos direktorijos bibliotÄkas tagad tiek saglabÄtas ar nosaukumiem, kas atspoguļo arhitektÅ«ru un izpildÄmo veidu, piemÄram, "i386-windows" PE formÄtam un "x86_64-unix" unix bibliotÄkÄm, kas ļauj atbalstÄ«t dažÄdas arhitektÅ«ras vienÄ Wine. uzstÄdÄ«Å”ana un nodroÅ”inÄt Winelib savstarpÄju kompilÄciju.
- Lai PE failu galvenÄs iestatÄ«tu opciju, kas kontrolÄ pÄreju uz vietÄjo DLL izmantoÅ”anu, '--prefer-native option' ir pievienots karodziÅam winebuild (DLL_WINE_PREATTACH apstrÄde programmÄ DllMain ir apturÄta).
- Pievienots atbalsts Dwarf atkļūdoÅ”anas datu formÄta 4. versijai, kas tagad tiek izmantots pÄc noklusÄjuma, veidojot Wine bibliotÄkas.
- Pievienota veidoÅ”anas opcija āāenable-build-idā, lai saglabÄtu unikÄlus bÅ«vÄjuma identifikatorus izpildÄmajos failos.
- Pievienots atbalsts Clang kompilatora lietoÅ”anai MSVC saderÄ«bas režīmÄ.
- LiterÄrs mistrojums
- Tipisko direktoriju nosaukumi lietotÄja ÄaulÄ (Windows Shell) tiek doti izmantotajai shÄmai, sÄkot ar Windows Vista, t.i. āMani dokumentiā vietÄ tagad tiek izveidots direktorijs āDokumentiā, un lielÄkÄ daļa datu tiek saglabÄti āAppDataā direktorijÄ.
- OpenCL bibliotÄkas slÄnim ir pievienots OpenCL 1.2 specifikÄcijas atbalsts.
- WinSpool draiveris ir pievienojis atbalstu dažÄdiem lapu izmÄriem drukÄÅ”anas laikÄ.
- Pievienots sÄkotnÄjais atbalsts MSDASQL, Microsoft OLE DB nodroÅ”inÄtÄjam ODBC draiveriem.
- Wine Mono dzinÄjs ar .NET platformas ievieÅ”anu ir atjauninÄts uz 7.0.0.
- Unikoda dati ir atjauninÄti atbilstoÅ”i Unicode 14 specifikÄcijai.
- Avota kokÄ ir iekļautas Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt un Zlib bibliotÄkas, kas ir apkopotas PE formÄtÄ un kurÄm nav nepiecieÅ”ama versija Unix formÄtÄ. TajÄ paÅ”Ä laikÄ Å”Ä«s bibliotÄkas var arÄ« importÄt no sistÄmas, lai izmantotu ÄrÄjos komplektus, nevis iebÅ«vÄtÄs PE opcijas.
Avots: opennet.ru