Stable na release ng Wine 8.0

Pagkatapos ng isang taon ng pag-unlad at 28 pang-eksperimentong bersyon, ipinakita ang isang matatag na paglabas ng bukas na pagpapatupad ng Win32 API - Wine 8.0, na nagsama ng higit sa 8600 pagbabago. Ang pangunahing tagumpay sa bagong bersyon ay nagmamarka ng pagkumpleto ng gawain sa pagsasalin ng mga module ng Wine sa format.

Kinumpirma ng Wine ang buong operasyon ng 5266 (isang taon na ang nakalipas 5156, dalawang taon na ang nakalipas 5049) na mga programa para sa Windows, isa pang 4370 (isang taon na ang nakalipas 4312, dalawang taon na ang nakalipas 4227) na mga programa ay gumagana nang perpekto sa mga karagdagang setting at mga panlabas na DLL. Ang 3888 na mga programa (3813 isang taon na ang nakalipas, 3703 dalawang taon na ang nakakaraan) ay may maliliit na problema sa pagpapatakbo na hindi nakakasagabal sa paggamit ng mga pangunahing pag-andar ng mga application.

Mga pangunahing inobasyon sa Wine 8.0:

  • Mga module sa PE format
    • Pagkatapos ng apat na taon ng trabaho, ang conversion ng lahat ng DLL library para gamitin ang PE (Portable Executable, ginagamit sa Windows) executable file format ay nakumpleto na. Ang paggamit ng PE ay nagbibigay-daan sa paggamit ng mga debugger na magagamit para sa Windows at malulutas ang mga problema sa pagsuporta sa iba't ibang mga scheme ng proteksyon ng kopya na nagpapatunay sa pagkakakilanlan ng mga module ng system sa disk at sa memorya. Ang mga isyu sa pagpapatakbo ng 32-bit na mga application sa 64-bit na mga host at x86 na mga application sa mga ARM system ay nalutas din. Kabilang sa mga natitirang gawain na binalak na lutasin sa mga kasunod na pang-eksperimentong paglabas ng Wine 8.x, mayroong paglipat ng mga module sa interface ng NT system call sa halip na gumawa ng mga direktang tawag sa pagitan ng mga layer ng PE at Unix.
    • Ang isang espesyal na system call manager ay ipinatupad, na ginamit upang isalin ang mga tawag mula sa PE patungo sa Unix library upang mabawasan ang overhead ng pagsasagawa ng isang buong NT system call. Halimbawa, ginawang posible ng pag-optimize na bawasan ang pagkasira ng pagganap kapag ginagamit ang mga aklatan ng OpenGL at Vulkan.
    • Ang mga application ng Winelib ay nagpapanatili ng kakayahang gumamit ng magkahalong Windows/Unix assemblies ng ELF (.dll.so) na mga library, ngunit ang mga naturang application na walang 32-bit na library ay hindi susuportahan ang functionality na available sa pamamagitan ng NT system call interface, gaya ng WoW64.
  • WoW64
    • Ang mga WoW64 (64-bit na Windows-on-Windows) na mga layer ay ibinibigay para sa lahat ng Unix library, na nagpapahintulot sa 32-bit na mga module sa PE format na ma-access ang 64-bit Unix library, na, pagkatapos maalis ang mga direktang PE/Unix na tawag, gagawin ito. posible na magsagawa ng 32-bit na mga application ng Windows nang hindi nag-i-install ng 32-bit na Unix na mga aklatan.
    • Sa kawalan ng 32-bit Wine loader, ang 32-bit na application ay maaaring tumakbo sa bagong eksperimental na Windows-like WoW64 mode, kung saan ang 32-bit na code ay tumatakbo sa loob ng 64-bit na proseso. Ang mode ay pinagana kapag gumagawa ng Wine gamit ang 'β€”enable-archs' na opsyon.
  • Subsystem ng graphics
    • Ang default na configuration ay gumagamit ng light theme (β€œLight”). Maaari mong baguhin ang tema gamit ang WineCfg utility.
      Stable na release ng Wine 8.0
    • Ang mga driver ng graphics (winex11.drv, winemac.drv, wineandroid.drv) ay kino-convert upang magsagawa ng mga tawag sa system sa antas ng Unix at i-access ang mga driver sa pamamagitan ng library ng Win32u.
      Stable na release ng Wine 8.0
    • Ang arkitektura ng Print Processor ay ipinatupad, na ginagamit upang alisin ang mga direktang tawag sa pagitan ng mga antas ng PE at Unix sa driver ng printer.
    • Sinusuportahan na ngayon ng Direct2D API ang mga epekto.
    • Ang Direct2D API ay nagdagdag ng kakayahang mag-record at maglaro ng mga listahan ng command.
    • Ang driver para sa Vulkan graphics API ay nagdagdag ng suporta para sa Vulkan 1.3.237 na detalye (Vulkan 7 ay suportado sa Wine 1.2).
  • Direct3D
    • Nagdagdag ng bagong shader compiler para sa HLSL (High-Level Shader Language), na ipinatupad batay sa vkd3d-shader library. Batay din sa vkd3d-shader, isang HLSL disassembler at isang HLSL preprocessor ang inihanda.
    • Ang interface ng Thread Pump na ipinakilala sa D3DX 10 ay ipinatupad.
    • Ang Direct3D 10 effect ay nagdaragdag ng suporta para sa maraming bagong expression.
    • Sinusuportahan na ngayon ng library ng suporta para sa D3DX 9 ang Cubemap texture projection.
  • Tunog at video
    • Batay sa balangkas ng GStreamer, ipinatupad ang suporta para sa mga filter para sa pag-decode ng audio sa MPEG-1 na format.
    • Nagdagdag ng filter para sa pagbabasa ng streaming audio at video sa ASF (Advanced Systems Format) na format.
    • Ang intermediate library-layer na OpenAL32.dll ay inalis na, sa halip na ang native na Windows library na OpenAL32.dll, na ibinigay kasama ng mga application, ay ginagamit na ngayon.
    • Pinahusay ng Media Foundation Player ang pagtuklas ng uri ng nilalaman.
    • Naipatupad na ang kakayahang kontrolin ang rate ng paglilipat ng data (Rate control).
    • Pinahusay na suporta para sa default na mixer at presenter sa Enhanced Video Renderer (EVR).
    • Nagdagdag ng paunang pagpapatupad ng Writer Encoding API.
    • Pinahusay na suporta sa topology loader.
  • Mga aparatong input
    • Makabuluhang pinahusay na suporta para sa mainit na pag-plug ng mga controller.
    • Ang isang pinahusay na pagpapatupad ng code para sa pagtukoy ng mga manibela ng laro, na binuo batay sa SDL library, ay iminungkahi.
    • Pinahusay na suporta para sa Force feedback effect kapag gumagamit ng mga gaming wheel.
    • Ang kakayahang kontrolin ang kaliwa at kanang vibration motors gamit ang HID Haptic specification ay ipinatupad.
    • Binago ang disenyo ng control panel ng joystick.
    • Ang suporta para sa Sony DualShock at DualSense controllers ay ibinibigay sa pamamagitan ng paggamit ng hidraw backend.
    • Ang WinRT module na Windows.Gaming.Input ay iminungkahi sa pagpapatupad ng isang software interface para sa pag-access ng mga gamepad, joystick at gaming wheels. Para sa bagong API, bukod sa iba pang mga bagay, ipinapatupad ang suporta para sa notification ng mainit na pag-plug ng mga device, tactile at vibration effect.
  • НтСрнационализация
    • Ang pagbuo ng tamang locale database sa locale.nls na format mula sa Unicode CLDR (Unicode Common Locale Data Repository) ay tinitiyak.
    • Ang mga function ng paghahambing ng Unicode string ay inilipat upang gamitin ang database at Windows Sortkey algorithm sa halip na ang Unicode Collation algorithm, na naglalapit sa gawi sa Windows.
    • Karamihan sa mga feature ay nagdagdag ng suporta para sa itaas na mga hanay ng Unicode code (mga eroplano).
    • Posibleng gamitin ang UTF-8 bilang ANSI encoding.
    • Ang mga talahanayan ng character ay na-update sa Unicode 15.0.0 na detalye.
  • Teksto at mga font
    • Ang pag-link ng font ay pinagana para sa karamihan ng mga font ng system, nilulutas ang problema ng mga nawawalang glyph sa mga system na may mga lokal na Chinese, Korean at Japanese.
    • Reworked fallback font fallback sa DirectWrite.
  • Kernel (Mga Interface ng Windows Kernel)
    • Naipatupad ang database ng ApiSetSchema, na pinalitan ang mga module ng api-ms-* at pinababa ang pagkonsumo ng espasyo sa disk at address.
    • Ang mga katangian ng file ng DOS ay nai-save sa disk sa isang format na katugma sa Samba gamit ang mga pinahabang katangian ng FS.
  • Mga tampok sa network
    • Nagdagdag ng suporta para sa OCSP (Online Certificate Status Protocol), na ginagamit upang suriin ang mga binawi na certificate.
    • Ang hanay ng mga feature ng EcmaScript na available sa mode ng pagsunod sa mga pamantayan ng JavaScript ay pinalawak na.
    • Nagpatupad ng garbage collector para sa JavaScript.
    • Kasama sa package ng Gecko engine ang mga feature para sa mga taong may mga kapansanan.
    • Ang MSHTML ay nagdaragdag ng suporta para sa Web Storage API, ang Performance object, at karagdagang mga object para sa pangangasiwa ng kaganapan.
  • Mga Naka-embed na Application
    • Ang lahat ng built-in na application ay na-convert upang gamitin ang Common Controls 6 library, na may suporta para sa mga tema ng disenyo at pag-render na isinasaalang-alang ang mga screen na may mataas na pixel density.
    • Pinahusay na mga kakayahan para sa pag-debug ng mga thread sa Wine Debugger (winedbg).
    • Sinusuportahan na ngayon ng mga registry utilities (REGEDIT at REG) ang uri ng QWORD.
    • Nagdagdag ang Notepad ng status bar na may impormasyon tungkol sa posisyon ng cursor at isang function ng Goto Line upang pumunta sa isang tinukoy na numero ng linya
    • Nagbibigay ang built-in na console ng data output sa page ng OEM code.
    • Ang command na 'query' ay naidagdag sa sc.exe (Service Control) utility.
  • Sistema ng pagpupulong
    • Ang kakayahang bumuo ng mga executable na file sa PE na format para sa ilang mga arkitektura ay ibinigay (halimbawa, 'β€”enable-archs=i386,x86_64').
    • Sa lahat ng mga platform na may 32-bit na mahabang uri, ang mga uri ng data na tinukoy bilang mahaba sa Windows ay muling tinukoy bilang 'mahaba' sa halip na 'int' sa Wine. Sa Winelib, ang gawi na ito ay maaaring hindi paganahin sa pamamagitan ng kahulugan ng WINE_NO_LONG_TYPES.
    • Idinagdag ang kakayahang bumuo ng mga aklatan nang hindi gumagamit ng dlltool (pinagana sa pamamagitan ng pagtatakda ng opsyong 'β€”without-dlltool' sa winebuild).
    • Upang pahusayin ang kahusayan sa paglo-load at bawasan ang laki ng mga walang code, resource-only na library, ipinapatupad ng winegcc ang opsyong '--data-only'.
  • Miscellanea
    • Mga na-update na bersyon ng mga built-in na library Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXslt 1.1.37,.
    • Ang Wine Mono engine na may pagpapatupad ng .NET platform ay na-update upang ilabas ang 7.4.
    • Ang suporta para sa pag-encrypt batay sa RSA algorithm at RSA-PSS na mga digital na lagda ay ipinatupad.
    • Nagdagdag ng paunang bersyon ng UI Automation API.
    • Kasama sa source tree ang LDAP at vkd3d na mga library, na pinagsama-sama sa PE na format, na inaalis ang pangangailangang mag-supply ng mga Unix assemblies ng mga library na ito.
    • Ang OpenAL library ay hindi na ipinagpatuloy.

Pinagmulan: opennet.ru

Magdagdag ng komento