Stable nga pagpagawas sa Wine 7.0

Pagkahuman sa usa ka tuig nga pag-uswag ug 30 nga mga eksperimento nga bersyon, usa ka lig-on nga pagpagawas sa bukas nga pagpatuman sa Win32 API gipresentar - Ang Wine 7.0, nga gilakip labaw pa sa 9100 nga mga pagbag-o. Ang yawe nga mga nahimo sa bag-ong bersyon naglakip sa paghubad sa kadaghanan nga mga module sa Wine ngadto sa PE format, suporta alang sa mga tema, pagpalapad sa stack alang sa joysticks ug input device nga adunay HID interface, ug pagpatuman sa WoW64 nga arkitektura alang sa pagpadagan sa 32-bit nga mga programa sa usa ka 64-bit nga palibot.

Gipamatud-an sa bino ang bug-os nga operasyon sa 5156 (usa ka tuig na ang milabay 5049) nga mga programa alang sa Windows, laing 4312 (usa ka tuig na ang milabay 4227) nga mga programa nga hingpit nga nagtrabaho uban ang dugang nga mga setting ug external DLLs. Ang mga programa sa 3813 (3703 ka tuig na ang milabay) adunay gagmay nga mga problema sa operasyon nga dili makabalda sa paggamit sa mga nag-unang gimbuhaton sa mga aplikasyon.

Pangunang mga inobasyon sa Wine 7.0:

  • Mga module sa PE format
    • Halos tanang DLL nakabig na sa paggamit sa PE (Portable Executable, gigamit sa Windows) executable file format imbes sa ELF. Ang paggamit sa PE nagsulbad sa mga problema sa pagsuporta sa nagkalain-laing mga kopya sa proteksyon nga mga laraw nga nagpamatuod sa pagkatawo sa mga modules sa sistema sa disk ug sa memorya.
    • Ang abilidad sa pag-interact sa PE modules sa Unix nga mga librarya gamit ang standard NT kernel system call gipatuman, nga nagtugot kanimo sa pagtago sa access sa Unix code gikan sa Windows debuggers ug pagmonitor sa thread registration.
    • Ang mga built-in nga DLL karon gikarga lamang kung adunay katugbang nga PE file sa disk, bisan kung kini tinuod nga librarya o usa ka stub. Kini nga pagbag-o nagtugot sa aplikasyon nga makita kanunay ang husto nga pagbugkos sa mga file sa PE. Aron ma-disable kini nga kinaiya, mahimo nimong gamiton ang WINEBOOTSTRAPMODE environment variable.
  • Wow64
    • Ang WoW64 nga arkitektura (64-bit Windows-on-Windows) gipatuman, nga nagtugot kanimo sa pagpadagan sa 32-bit nga mga aplikasyon sa Windows sa 64-bit nga mga proseso sa Unix. Gipatuman ang suporta pinaagi sa koneksyon sa usa ka layer nga naghubad sa 32-bit NT system nga mga tawag ngadto sa 64-bit nga mga tawag sa NTDLL.
    • Ang mga layer sa WoW64 giandam alang sa kadaghanan nga mga librarya sa Unix ug gitugotan ang 32-bit nga mga module sa PE nga maka-access sa 64-bit nga mga librarya sa Unix. Sa higayon nga ang tanang modules nakabig na ngadto sa PE format, kini mahimong posible sa pagpadagan sa 32-bit Windows nga mga aplikasyon nga walay pag-instalar sa 32-bit Unix nga mga librarya.
  • Mga tema
    • Ang suporta sa tema gipatuman. Ang mga tema sa disenyo nga "Light", "Blue" ug "Classic Blue" gilakip, nga mahimong mapili pinaagi sa WineCfg configurator.
    • Gidugang ang abilidad sa pagpahiangay sa hitsura sa tanan nga mga kontrol sa interface pinaagi sa mga tema. Ang dagway sa mga elemento awtomatiko nga gi-update pagkahuman gibag-o ang tema sa disenyo.
    • Ang suporta sa tema gidugang sa tanan nga built-in nga aplikasyon sa Wine. Ang mga aplikasyon gipahaom sa mga screen nga adunay taas nga pixel density (Taas nga DPI).
  • Mga graphic subsystem
    • Usa ka bag-ong librarya sa Win32u ang gidugang, nga naglakip sa mga bahin sa GDI32 ug USER32 nga mga librarya nga may kalabutan sa pagproseso sa mga graphic ug pagdumala sa bintana sa lebel sa kernel. Sa umaabot, magsugod ang trabaho sa pag-port sa mga component sa driver sama sa winex32.drv ug winemac.drv ngadto sa Win11u.
    • Gisuportahan sa drayber sa Vulkan ang espesipikasyon sa Vulkan graphics API 1.2.201.
    • Naghatag suporta alang sa pag-output sa mga napusa nga geometric nga mga butang pinaagi sa Direct2D API, nga adunay katakus sa pagsusi kung ang usa ka pag-klik naigo (hit-test).
    • Ang Direct2D API naghatag og inisyal nga suporta para sa mga visual effect nga gigamit gamit ang ID2D1Effect interface.
    • Ang Direct2D API adunay dugang nga suporta alang sa ID2D1MultiThread interface, nga gigamit sa pag-organisar sa eksklusibong pag-access sa mga kapanguhaan sa multi-threaded nga mga aplikasyon.
    • Ang WindowsCodecs set sa mga librarya naghatag og suporta alang sa pag-decode sa mga hulagway sa WMP (Windows Media Photo) nga format ug pag-encode sa mga hulagway sa DDS (DirectDraw Surface) nga format. Wala na namo gisuportahan ang pag-encode sa mga hulagway sa ICNS format (para sa macOS), nga wala gisuportahan sa Windows.
  • Direct3D
    • Ang bag-ong makina sa pag-render labi nga gipaayo, naghubad sa mga tawag sa Direct3D sa Vulkan graphics API. Sa kadaghanan nga mga sitwasyon, ang lebel sa suporta alang sa Direct3D 10 ug 11 sa Vulkan-based nga makina gipahiuyon sa mas karaan nga OpenGL-based nga makina. Aron mahimo ang Vulkan rendering engine, ibutang ang Direct3D registry variable nga "renderer" ngadto sa "vulkan".
    • Daghang mga bahin sa Direct3D 10 ug 11 ang gipatuman, lakip ang Deferred Contexts, estado nga mga butang nga naglihok sa konteksto sa aparato, padayon nga pag-offset sa mga buffer, pagtangtang sa mga out-of-order nga pagtan-aw sa texture, pagkopya sa datos tali sa mga kapanguhaan sa mga wala’y tipo nga format (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32A32A), etc. .
    • Gidugang nga suporta alang sa mga pag-configure sa multi-monitor, nga nagtugot kanimo sa pagpili sa usa ka monitor aron ipakita ang usa ka Direct3D nga aplikasyon sa full screen mode.
    • Ang DXGI API naghatag og screen gamma correction, nga mahimong gamiton sa Direct3D 10 ug 11 based nga mga aplikasyon aron mausab ang kahayag sa screen. Gi-enable ang pagkuha sa virtual framebuffers counters (SwapChain).
    • Ang Direct3D 12 nagdugang suporta alang sa bersyon 1.1 nga mga pirma sa ugat.
    • Sa rendering code pinaagi sa Vulkan API, ang kahusayan sa pagproseso sa pangutana gipauswag kung ang sistema nagsuporta sa VK_EXT_host_query_reset extension.
    • Gidugang ang abilidad sa pag-output sa virtual framebuffers (SwapChain) pinaagi sa GDI kung ang OpenGL o Vulkan dili magamit alang sa pagpakita, pananglitan, kung mag-output sa usa ka bintana gikan sa lainlaing mga proseso, pananglitan, sa mga programa nga gibase sa CEF (Chromium Embedded Framework) nga balangkas.
    • Kung gigamit ang GLSL shader backend, ang "tukma" nga modifier gisiguro alang sa mga panudlo sa shader.
    • Ang DirectDraw API nagdugang suporta para sa 3D rendering sa system memory gamit ang software device sama sa "RGB", "MMX" ug "Ramp".
    • Ang AMD Radeon RX 3M, AMD Radeon RX 5500/6800 XT/6800 XT, AMD Van Gogh, Intel UHD Graphics 6900 ug NVIDIA GT 630 nga mga kard gidugang sa Direct1030D graphics card database.
    • Ang "UseGLSL" nga yawe gikuha gikan sa HKEY_CURRENT_USER\Software\Wine\Direct3D registry, imbes nga, sugod sa Wine 5.0, kinahanglan nimong gamiton ang "shader_backend".
    • Aron masuportahan ang Direct3D 12, kinahanglan nimo karon ang labing menos bersyon 3 sa vkd1.2d library.
  • D3DX
    • Ang pagpatuman sa D3DX 10 mipauswag sa suporta alang sa visual effects framework ug dugang suporta alang sa Windows Media Photo image format (JPEG XR)
    • Gidugang ang mga gimbuhaton sa paghimo sa texture nga gihatag sa D3DX10, sama sa D3DX10CreateTextureFromMemory ().
    • Ang mga interface sa software sa ID3DX10Sprite ug ID3DX10Font partially gipatuman.
  • Tingog ug video
    • Ang mga add-on sa GStreamer alang sa DirectShow ug ang balangkas sa Media Foundation gihiusa sa usa ka sagad nga backend sa WineGStreamer, nga kinahanglan nga pasimplehon ang paghimo sa bag-ong mga API sa pag-decode sa sulud.
    • Base sa backend sa WineGStreamer, ang mga butang sa Windows Media gipatuman para sa dungan ug asynchronous nga pagbasa.
    • Ang implementasyon sa Media Foundation framework labi nga gipino, suporta alang sa IMFPMediaPlayer functionality ug sample allocator gidugang, ug suporta alang sa EVR ug SAR rendering buffers gipauswag.
    • Ang wineqtdecoder library, nga naghatag og decoder alang sa QuickTime nga format, gitangtang na (ang tanan nga codec karon naggamit sa GStreamer).
  • Mga Input Devices
    • Ang stack para sa mga input device nga nagsuporta sa HID (Human Interface Devices) nga protocol kay naayo pag-ayo, naghatag og mga kapabilidad sama sa pag-parse sa HID descriptors, pagproseso sa HID nga mga mensahe, ug paghatag og mini-HID nga mga drayber.
    • Sa likod nga bahin sa drayber sa winebus.sys, ang paghubad sa mga paghulagway sa aparato ngadto sa mga mensahe sa HID gipaayo.
    • Nagdugang og bag-ong DirectInput backend para sa mga joystick nga nagsuporta sa HID protocol. Ang abilidad sa paggamit sa mga epekto sa feedback sa mga joystick gipatuman. Gipauswag nga control panel sa joystick. Na-optimize nga interaksyon sa mga aparato nga katugma sa XInput. Sa WinMM, ang suporta sa joystick gibalhin sa DInput, imbes nga gamiton ang evdev backend sa Linux ug IOHID sa macOS IOHID. Ang daan nga driver sa joystick nga winejoystick.drv gikuha na.
    • Bag-ong mga pagsulay ang gidugang sa DInput module, base sa paggamit sa mga virtual HID device ug wala magkinahanglan og pisikal nga device.
  • Teksto ug mga font
    • Gidugang ang Font Set nga butang sa DirectWrite.
    • Husto nga gipatuman sa RichEdit ang interface sa TextHost.
  • Kernel (mga interface sa kernel sa Windows)
    • Kung nagpadagan ug wala mailhi nga executable file (sama sa 'wine foo.msi') sa Wine, ang start.exe gitawag na karon, nga nagtawag sa mga tigdumala nga adunay kalabotan sa tipo sa file.
    • Gidugang nga suporta alang sa mga mekanismo sa pag-synchronize nga NtAlertThreadByThreadId ug NtWaitForAlertByThreadId, susama sa mga futex sa Linux.
    • Gidugang nga suporta alang sa NT debug nga mga butang nga gigamit sa pag-debug sa mga function sa kernel.
    • Gidugang nga suporta alang sa dinamikong mga yawe sa rehistro aron makatipig sa datos sa pasundayag.
  • C Runtime
    • Ang C runtime nagpatuman sa usa ka bug-os nga hugpong sa mga gimbuhaton sa matematika, nga kasagarang gidala gikan sa Musl library.
    • Ang tanan nga mga platform sa CPU naghatag og husto nga suporta alang sa mga function sa floating point.
  • Mga bahin sa network
    • Gipauswag nga mode sa pagkaangay alang sa Internet Explorer 11 (IE11), nga gigamit na karon nga default alang sa pagproseso sa mga dokumento sa HTML.
    • Ang mshtml library nagpatuman sa ES6 JavaScript mode (ECMAScript 2015), nga naghatag suporta sa mga feature sama sa let expression ug sa Map object.
    • Ang pag-install sa mga pakete sa MSI nga adunay mga pagdugang sa makina sa Gecko sa direktoryo sa pagtrabaho sa Wine nahimo na karon kung kinahanglan, ug dili sa panahon sa pag-update sa Wine.
    • Gidugang nga suporta alang sa DTLS protocol.
    • Ang serbisyo sa NSI (Network Store Interface) gipatuman, nagtipig ug nagpadala sa impormasyon bahin sa pagruta ug mga interface sa network sa kompyuter ngadto sa ubang mga serbisyo.
    • Ang mga tigdumala sa WinSock API sama sa setsockopt ug getsockopt gibalhin ngadto sa NTDLL ug ang afd.sys nga drayber aron mahiuyon sa arkitektura sa Windows.
    • Ang kaugalingong network database files sa Wine, sama sa /etc/protocols ug /etc/networks, na-install na karon sa Wine working directory, imbes nga maka-access sa susamang Unix databases.
  • Alternatibong mga plataporma
    • Gidugang nga suporta alang sa kagamitan sa Apple base sa M1 ARM chips (Apple Silicon).
    • Ang suporta alang sa BCrypt ug Secur32 nga mga bahin sa macOS nanginahanglan na karon sa pag-install sa librarya sa GnuTLS.
    • Ang 32-bit nga mga executable alang sa ARM nga mga plataporma gitukod na sa Thumb-2 mode, susama sa Windows. Ang usa ka preloader gigamit sa pagkarga sa maong mga file.
    • Alang sa 32-bit nga mga platform sa ARM, gipatuman ang suporta alang sa pag-unwinding nga mga eksepsiyon.
    • Alang sa FreeBSD, ang gidaghanon sa gisuportahan nga mga pangutana alang sa ubos nga lebel nga impormasyon sa sistema, sama sa kahimtang sa panumduman ug lebel sa pagkarga sa baterya, gipalapdan.
  • Mga built-in nga aplikasyon ug mga himan sa pag-uswag
    • Ang reg.exe utility nagdugang suporta alang sa 32- ug 64-bit nga pagtan-aw sa rehistro. Gidugang nga suporta alang sa pagkopya sa mga yawe sa rehistro.
    • Ang WineDump utility adunay dugang nga suporta alang sa paglabay sa Windows metadata ug pagpakita sa detalyadong impormasyon bahin sa CodeView entries.
    • Ang Wine Debugger (winedbg) naghatag ug abilidad sa pag-debug sa 32-bit nga mga proseso gikan sa 64-bit debugger.
    • Ang abilidad sa pag-load sa mga librarya nga gitukod ngadto sa PE files gidugang ngadto sa IDL compiler (widl), suporta alang sa WinRT-specific attributes ug constructs gihatag, ug usa ka platform-specific library search ang gipatuman.
  • Sistema sa asembliya
    • Sa mga direktoryo nga espesipiko sa arkitektura, ang mga librarya karon gitipigan nga adunay mga ngalan nga nagpakita sa arkitektura ug executable type, sama sa 'i386-windows' alang sa PE format ug 'x86_64-unix' alang sa unix library, nga nagtugot sa suporta alang sa lain-laing mga arkitektura sa usa ka Wine pag-instalar ug paghatag og cross-compilation sa Winelib.
    • Para magbutang ug opsyon sa mga header sa PE files nga nagkontrolar sa transisyon sa paggamit sa native DLLs, ang '--prefer-native option' nga bandila gidugang sa winebuild (DLL_WINE_PREATTACH processing sa DllMain gihunong na).
    • Gidugang nga suporta alang sa bersyon 4 sa Dwarf debug data format, nga gigamit karon sa default sa paghimo sa mga librarya sa Wine.
    • Gidugang nga kapilian sa pagtukod '-enable-build-id' aron makatipig talagsaon nga mga identifier sa pagtukod sa mga executable nga file.
    • Gidugang nga suporta alang sa paggamit sa Clang compiler sa MSVC compatibility mode.
  • miscellanea
    • Ang mga ngalan sa kasagarang mga direktoryo sa user shell (Windows Shell) gihatag sa laraw nga gigamit sugod sa Windows Vista, i.e. Inay sa 'Akong mga Dokumento', usa ka 'Mga Dokumento' nga direktoryo ang nahimo na karon, ug kadaghanan sa mga datos gitipigan sa 'AppData' nga direktoryo.
    • Ang suporta alang sa OpenCL 1.2 nga detalye gidugang sa OpenCL library layer.
    • Ang drayber sa WinSpool nagdugang suporta alang sa lainlaing mga gidak-on sa panid kung nag-imprinta.
    • Gidugang ang inisyal nga suporta para sa MSDASQL, ang Microsoft OLE DB provider para sa mga driver sa ODBC.
    • Ang Wine Mono nga makina nga adunay .NET nga pagpatuman sa plataporma gi-update aron buhian ang 7.0.0.
    • Ang datos sa Unicode gi-update sa Unicode 14 nga detalye.
    • Ang tinubdan nga punoan naglakip sa Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt ug Zlib nga mga librarya, nga gihugpong sa PE format ug wala magkinahanglan ug bersyon sa Unix format. Sa parehas nga oras, kini nga mga librarya mahimo usab nga ma-import gikan sa sistema aron magamit ang mga eksternal nga asembliya imbes nga mga built-in nga kapilian sa PE.

Source: opennet.ru

Idugang sa usa ka comment