Stabila Wine 7.0 izlaiŔana

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

Pievieno komentāru