Lage ki estab nan Wine 10.0

Apre yon ane nan devlopman ak 29 vèsyon eksperimantal, yo te prezante yon lage ki estab nan aplikasyon an louvri nan Win32 API a - Wine 10.0, ki enkòpore plis pase 6000 chanjman. Reyalizasyon kle nan nouvo vèsyon an gen ladan sipò konplè pou achitekti ARM64EC, dekale sou ekran ki gen dansite pixel segondè, enklizyon chofè Wayland pa default, aplikasyon panno pou mete ekran an ak joystick, yon backend miltimedya altènatif ki baze sou FFmpeg, Bluetooth. chofè, Vulkan 1.4 sipò, kapasite imitasyon chanje mòd videyo.

Yo konfime 5372 pwogram ap fonksyone byen nan Wine. Windows (5336 yon ane de sa, 5266 dezan de sa, 5156 twa zan de sa), 4435 lòt pwogram (4397 yon ane de sa, 4370 dezan de sa, 4312 twa zan de sa) fonksyone byen ak paramèt adisyonèl ak DLL ekstèn yo. 4020 pwogram (3943 yon ane de sa, 3888 dezan de sa, 3813 twa zan de sa) gen ti pwoblèm ki pa entèfere ak fonksyonalite debaz aplikasyon yo.

Inovasyon kle nan Wine 10.0:

  • ARM64
    • Yo bay sipò konplè pou achitekti ARM64EC (ARM64 Emulation konpatib), nivo sipò nan Wine pou ki te rive egalite ak achitekti ARM64 la. Achitekti ARM64EC a fèt pou senplifye pòsyon aplikasyon yo te ekri orijinal pou sistèm x64_86 nan sistèm ARM64, epi li pèmèt modil kòd x64_86 endividyèl yo kouri nan anviwònman ARM64 lè l sèvi avèk yon Emulation.
    • Sipò konplè yo te aplike pou fòma dosye ARM64X PE, ki pèmèt ou konbine kòd pou achitekti ARM64EC ak ARM64 nan yon sèl dosye ègzèkutabl. Pou konstwi Wine nan fòma ARM64X, ou bezwen enstale LLVM soti nan Git (ap fonksyonalite ki nesesè yo enkli nan lage LLVM 20 la) epi lè w ap kouri script "configure" la, presize opsyon "-enable-archs=arm64ec,aarch64". .
    • Yo te aplike yon koòdone pou imite sistèm x64 86-bit. Lè w ap itilize ARM64EC, Wine tèt li kouri jan li ye, epi emulasyon aplike sèlman nan kòd aplikasyon x86-64. Bibliyotèk la ak Emulation a poko enkli nan pake Wine prensipal la, men pou kouri kòd x86-64 nan anviwònman ARM64, ou ka itilize Emulation ekstèn FEX ki te bati ak sipò ARM64EC.
    • Sipò ARM64 egzije pou sistèm nan itilize paj memwa 4KB jan ABI a egzije sa. Windows (ap fonksyone nan anviwònman ki gen nwayo Linux, itilizasyon paj memwa 16K oswa 64K poko sipòte).
  • Grafik subsystem
    • Aplike pi egzak dekale sou ekran ak dansite pixel segondè (High-DPI). Yo te bay sipò pou mòd DPI Konsyantizasyon pou òganize ekspozisyon aplikasyon yo sou ekran ki gen dansite pixel segondè, pran an kont si aplikasyon an sipòte adaptasyon nan chanjman DPI oswa ou pa (aplikasyon ki pa pran an kont DPI yo echèl otomatikman). Te ajoute opsyon pou depase sipò High-DPI pou aplikasyon endividyèl oswa prefiks Wine.
    • Yo te ajoute sipò pou spesifikasyon Vulkan 1.4 nan chofè a pou API grafik Vulkan (Vulkan 9.0 te sipòte nan Wine 1.3.272). Te ajoute sipò pou ekstansyon Vulkan pou kodaj videyo ak dekodaj.
    • Lè w ap itilize backend X11 la, yo te aplike kapasite pou rann fenèt timoun Vulkan pou aplikasyon ki sèvi ak fenèt sa yo pou montre kontni 3D (anvan, yon karakteristik konsa te disponib sèlman pou OpenGL).
    • Gen sipò pou mekanis ki lye polis la te ajoute nan bibliyotèk GdiPlus la, ki pèmèt ou sèvi ak plizyè polis lè w ap montre tèks si pa gen polis ki separeman kouvri tout karaktè yo jwenn nan tèks la.
  • Wayland
    • Konfigirasyon defo a gen ladan chofè winewayland.drv la, ki pèmèt Wine fonksyone nan anviwònman ki baze sou Wayland san li pa itilize konpozan XWayland oswa X11. Wine lanse aplikasyon defo yo dirèkteman sou Wayland sèlman si XWayland pa disponib; sinon, XWayland se lansè prefere a. Pou fòse Wayland, ou ka itilize varyab anviwònman DISPLAY la oswa ajoute yon kle rejis lè w kreye yon fichye file.reg: Windows Editè Rejis Vèsyon 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] "Graphics" = "wayland" epi aplike li avèk kòmandman sa a: $ WINEPREFIX = /path/to/prefix wine regedit /path/to/file.reg
    • Te ajoute sipò pou OpenGL ak tanpon pixel (pBuffer) nan chofè winewayland.drv la.
    • Pwoblèm rezoud ak pwezante fenèt popup nan anviwònman ki baze sou Wayland.
    • Lè w ap itilize Wayland, sipò pou oto-repete peze pandan w ap kenbe kle yo aplike.
  • Entegrasyon Desktop
    • Te ajoute yon eksperimantal "modetting" mekanis imitasyon ki pèmèt ou imite chanje mòd videyo san yo pa aktyèlman chanje paramèt ekran yo. Vizibilite a chanje rezolisyon ekran san yo pa chanje mòd videyo kreye pa agrandi ak dekale fenèt yo.
    • Yo te ajoute yon nouvo applet Desktop Control Panel (desk.cpl) ak aplikasyon yon koòdone pou jere paramèt ekspozisyon (pa egzanp, ou ka chanje rezolisyon vityèl Desktop la oswa konfigirasyon paramèt ekspozisyon imite).
    • Te ajoute kapasite nan Reyajiste anviwònman ekran yo nan valè default si li enposib retabli eta a apre yon aksidan pwosesis.
    • Te ajoute sipò pou enfim ekspozisyon ikon nan plato sistèm lan (nan "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" ta dwe espesifye "NoTrayItemsDisplay=1").
    • Te ajoute sipò pou enfim kokiy (lansè Shell) nan mòd Desktop (nan "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" ta dwe espesifye "NoDesktop=1").
  • Direct3D
    • Rann ak OpenGL kounye a mande pou sipò pou GLSL 1.20, osi byen ke EXT_framebuffer_object ak ARB_texture_non_power_of_two ekstansyon yo. Sipò pou ansyen backend ARB shader ak anviwònman OffscreenRenderingMode sispann.
    • Pou Direct3D 9 ak pi gran, yo te ajoute yon tiyo grafik fonksyon fiks (ansyen Direct3D te bay sèlman operasyon grafik predefini ki pa t 'kapab chanje), aplike lè l sèvi avèk langaj shader HLSL ak pèmèt emulasyon fonksyon fiks lè rann atravè Vulkan oswa OpenGL API.
    • Rann ak Vulkan itilize ekstansyon Vulkan pou chanje dinamikman eta a nan tiyo grafik la, diminye begeman nan jwèt yo.
    • Te ajoute altènatif glsl-vkd3d backend pou GLSL shaders, lè l sèvi avèk vkd3d-shader.
    • Bay premye sipò pou konpile efè Direct3D lè l sèvi avèk vkd3d-shader.
    • Bibliyotèk D3DX9 aplike kapasite pou jenere tèkstur MIP (MipMap) lè w ap chaje teksti volumĂŠtrique. Te ajoute sipò pou fòma reprezantasyon koulè 64bpp RGBA ak 48bpp RGB nan imaj PNG, osi byen ke fòma X8L8V8U8, A2W10V10U10, A8P8, V16U16 ak Q16W16V16U16.
  • Son ak videyo
    • Kòm yon altènativ a backend ki baze sou GStreamer, yo te aplike yon nouvo backend miltimedya, ki baze sou itilizasyon FFmpeg ak apwopriye pou kouri fondasyon Media Foundation. Pou pèmèt yon backend altènatif, ou ta dwe presize "DisableGstByteStreamHandler=1" nan seksyon rejis la "HKCU\Software\Wine\MediaFoundation".
    • Yo te amelyore aplikasyon Media Foundation API pou pi byen akomode aplikasyon ki depann de konpozan demultiplexing ak dekodaj yo.
    • DirectMusic API a te ajoute sipò pou chaje fichye MIDI.
  • Antre aparèy
    • Te ajoute premye vèsyon chofè Bluetooth.
    • Te ajoute Joystick Control Panel applet (joy.cpl) ak aplikasyon paramèt pou joystick la.
    • Yo te fè amelyorasyon nan aparèy pointeur yo (touchpad, sourit) ki itilize pwotokòl HID (Human Interface Device). Yo te ajoute chofè mouhid.sys pou aparèy HID yo. Yo te aplike yon analiz kòrèk pou aparèy opinyon konpoze yo, epi kounye a yo transmèt enfòmasyon sou yo bay... Windows-aplikasyon yo, kòm aparèy separe.
    • Pou backend X11, sipò pou ekran tactile yo te ajoute ak kapasite nan sèvi ak mòd milti-manyen nan pwosesis WM_POINTER* mesaj (WM_POINTERENTER, WM_POINTERLEAVE, elatriye) yo te aplike.
    • Aplike plasman kèk estrikti entèn nan bibliyotèk la user32 nan memwa pataje, ki te ogmante pèfòmans ak redwi chaj la sou Wine Server.
    • Winex11 te ajoute sipò pou trete evènman XInput2 an relasyon ak fenèt endividyèl yo.
    • Aplike sipò kòrèk pou klavye ak layout Dvorak la.
  • Nwayo (entèfas nwayo Windows)
    • Te ajoute sipò pou eskalasyon privilèj pwosesis (yo ka bay yon pwosesis okòmansman kòm yon itilizatè estanda privilèj administratè). Lè w ap kreye pwosesis sèvè (sèvè aksyon msi), osi byen ke pwosesis ki rele fonksyon RtlCreateUserProcess() ak CreateProcessInternal(), yon jeton administratè limite pèmèt pa default.
    • Lè w ap jwenn enfòmasyon sou etikèt disk, chak fwa sa posib, kounye a yo itilize aksè nan sèvis sistèm atravè DBus, olye pou yo eseye jwenn aksè dirèkteman nan aparèy la.
    • Mekanis kominikasyon entèpwosesis yon sèl sans Mailslots la (IPC) kounye a aplike dirèkteman nan sèvè Wine lan, sa ki pèmèt sipò semantik konplè. Windows.
    • Aplike ap tann pou evènman pò seri nan mòd asynchrone.
    • Te ajoute sipò konplè pou ekstansyon processeur XSTATE nan kontèks fil, sa ki pèmèt itilizasyon nouvo ekstansyon vektè tankou AVX-512.
  • Aplikasyon entegre
    • D' done traitement motè ki te itilize nan entèprèt kòmand cmd.exe te reekri. Te ajoute sipò pou operasyon "||" nan cmd.exe Ak "&&".
    • Itilite findstr la te ajoute sipò pou ekspresyon regilye ak rechèch ki pa sansib pou majiskil.
    • Kapasite pou anrejistre modil ARM32EC te ajoute nan sèvis piblik regsvr32 ak rundll64.
    • Te ajoute sèvis piblik: sòt pou klasman done antre, fc pou konpare fichye ak ki kote pou chèche fichye yo.
    • Aplikasyon wmic la aplike yon mòd operasyon entèaktif.
    • Explorer te ajoute sipò si ou vle pou meni an kòmanse ak ba ikòn. Pèmèt lansman explorer.exe ak dwa aksè redwi.
  • Zouti Devlopman
    • Te ajoute opsyon "-marm64x" nan winebuild pou jenere bibliyotèk ibrid ARM64X.
    • Te ajoute opsyon "-marm64x" nan winegcc pou pèmèt bati pou ARM64X.
    • Fichye ki te pwodwi lè l sèvi avèk Lang Definisyon Entèfas (IDL) sèvi ak eleman ki konplètman sipòte ekzekisyon nan mòd entèprete.
    • Yo te ajoute sipò pou jenere bibliyotèk kalite (TypeLib) nan ansyen fòma (SLTG) nan konpilatè IDL (Entèfas Definisyon Lang).
    • Winedump sèvis piblik la te ajoute sipò pou ekonomize pil fatra nan tab minidump, enfòmasyon eksepsyon C++, ak resous typelib.
  • Miscellanea
    • Amelyore sipò pou pwotokòl echanj kle Diffie-Hellman (DH). Te ajoute kapasite nan konfigirasyon ak resevwa paramèt DH. Aplike moun kap okipe yo pou kreye pè kle piblik ak prive.
    • Yo bay itilizasyon incrĂŠmentielle padding OAEP (Optimal Asymmetric Encryption Padding) ansanm ak algorithm RSA a.
    • DirectPlay API a sipòte sesyon rezo yo.
    • Amelyorasyon nan jesyon eta antre/soti asenkron lè w ap travay nan mòd WoW64 (64-bit) Windows-sou-Windows), ki pèmèt ou kouri 32-bit Windows-aplikasyon sou sistèm Unix 64-bit.
    • Te ajoute sipò pou chaje chofè ODBC pou DBMS konpile pou Windows.
    • Pou platfòm ARM, tout sipò pou RPC/COM, C++ RTTI (Run-Time Type Information) ak eksepsyon C++ aplike.
    • Nan ègzekutabl C a, fonksyon ANSI aplike sipò pou kodaj UTF-8.
    • Kapasite motè MSHTML yo te elaji. Te ajoute sipò pou pwototip ak konstrukteur objè. Yon nouvo koòdone obligatwa objè pou MSHTML te ajoute nan motè JavaScript la. Fonksyon entegre MSHTML yo te konvèti nan objè JavaScript valab. Amelyore koleksyon fatra JavaScript pou kouvri tout kontèks ekzekisyon script nan yon fil. Te ajoute sipò pou objè JavaScript ArrayBuffer ak DataView.
    • Sipò pou analiz estatik lè l sèvi avèk rapò tès Clang ak JUnit yo te ajoute nan sistèm entegrasyon kontinyèl ki baze sou Gitlab la.
    • Bibliyotèk la Capstone 5.0.3 bati nan pake a, atravè ki demonte aplike nan deboge WineDb la.
    • Konpozan mete ajou nan nouvo vèsyon: Vkd3d 1.14, Faudio 24.10, FluidSynth 2.4.0, LDAP 2.5.18, LCMS2 2.16, LibJpeg 9f, LibMPG123 1.32.9, LibMPG1.6.44 4.7.0, LibPng2, Lib2.12.8ml. 1.1.42, LibXslt 1.3.1 ak Zlib XNUMX.

Sous: opennet.ru

Achte hosting serye pou sit ki gen pwoteksyon DDoS, sèvè VPS VDS 🔥 Achte yon hébergement sit entènèt serye ak pwoteksyon DDoS, sèvè VPS VDS | ProHoster