Apre yon ane nan devlopman ak 26 vèsyon eksperimantal, yo te prezante yon lage ki estab nan aplikasyon an louvri nan Win32 API a - Wine 9.0, ki enkòpore plis pase 7000 chanjman. Reyalizasyon kle nan nouvo vèsyon an gen ladan aplikasyon achitekti WoW64 pou kouri pwogram 32-bit nan yon anviwònman 64-bit, entegrasyon chofè pou sipòte Wayland, sipò pou achitekti ARM64, aplikasyon DirectMusic API ak sipò pou kat entelijan.
Yo konfime 5336 pwogram (5266 yon ane de sa, 5156 dezan de sa, 5049 twa zan de sa) ap fonksyone byen nan Wine. WindowsGen 4397 lòt pwogram (4370 yon ane de sa, 4312 dezan de sa, 4227 twa zan de sa) ki fonksyone byen ak lòt paramèt ak DLL ekstèn. Gen 3943 pwogram (3888 yon ane de sa, 3813 dezan de sa, 3703 twa zan de sa) ki gen ti pwoblèm ki pa entèfere ak fonksyonalite debaz aplikasyon yo.
Inovasyon kle nan Wine 9.0:
- Yo ajoute chofè winewayland.drv la, sa ki pèmèt yo itilize Wine nan anviwònman ki baze sou Wayland san yo pa bezwen itilize konpozan XWayland oswa X11. Devlopman sa a gen pou objektif pou bay yon anviwònman Wayland pi ak sipò lansman. Windows- aplikasyon ki pa bezwen enstale pakè ki gen rapò ak X11, sa ki pèmèt pi bon pèfòmans ak repons nan jwèt yo lè yo elimine kouch ki pa nesesè. Sèvi ak yon anviwònman Wayland pi pou Wine elimine tou pwoblèm sekirite ki enèran nan X11 (pa egzanp, jwèt X11 ki pa fyab yo ka espyone lòt aplikasyon paske pwotokòl X11 la pèmèt aksè a tout evènman antre epi fè sibstitisyon klavye).
Chofè a make kòm eksperimantal ak sou devlopman, men, kanmenm, li deja gen sipò pou anpil karakteristik, tankou jesyon fenèt, k ap travay ak monitè miltip, sipò pou pwodiksyon dekale sou ekran segondè-pixel dansite (wo DPI), k ap travay ak kowòdone relatif lè w ap swiv mouvman sourit ak sipò pou API grafik Vulkan. Pa default, chofè a pa aktif epi pou pèmèt li ou ta dwe ajoute "wayland" nan paramèt rejis la "HKCU\Software\Wine\Drivers" epi asire w ke varyab anviwònman DISPLAY la pa mete: wine reg.exe ajoute HKCU\ \Software\\Wine\\Drivers /v Graphics /d x11,wayland
- Tout modil yo te konvèti nan koòdone apèl sistèm NT, olye ke yo fè apèl dirèk ant kouch PE ak Unix, sa ki make fini anpil ane nan travay konvèti tout DLL yo sèvi ak fòma dosye PE (Portable Executable) ègzekutabl.
- Devlopman kouch WoW64 la (64-bit) te kontinye. Windows-sou-Windows), ki pèmèt ou kouri 32-bit Windows- aplikasyon sou sistèm Unix 64-bit. Tout modil ki gen aksè a bibliyotèk Unix yo itilize tradiktè apèl sistèm WoW64 (thunks), sa ki pèmèt modil 32-bit nan fòma PE jwenn aksè a bibliyotèk Unix 64-bit.
Nouvo mòd lansman WoW64 la amelyore, sa ki pèmèt kòd 32-bit fonksyone nan yon pwosesis 64-bit (nan ansyen mòd WoW64 la, aplikasyon 32-bit yo te fonksyone nan pwosesis Unix 32-bit). Yo ajoute sipò pou itilize nouvo mòd WoW64 la sou platfòm nan. macOSPiske nouvo mòd WoW64 la gen kèk ti pwoblèm, tankou yon mank sipò 16-bit ak yon pèfòmans OpenGL ki redwi akòz mank sipò pou ekstansyon ARB_buffer_storage la, li poko aktive pa default epi li mande pou konpile avèk opsyon "--enable-archs=i386,x86_64" nan script konfigirasyon an.
- Te ajoute kapasite pou egzekite fichye ekzekisyon ki deja egziste yo Windows Sou sistèm ki gen achitekti ARM64 la. Kounye a, yo ka konstwi Wine pou ABI ARM64EC (ARM64 Emulation Compatible), epi yo ka chaje modil ARM64EC yo. Modil sa yo itilize pou senplifye pòtaj aplikasyon ki te ekri okòmansman pou achitekti x86_64 la nan sistèm ARM64 yo lè yo pèmèt ekzekisyon modil kòd x86_64 endividyèl nan anviwònman ARM64 la lè l sèvi avèk yon emilatè. Yo te ajoute sipò pou fòma fichye ARM64X PE a, ki pèmèt yo chaje yon sèl fichye ekzekisyon nan tou de pwosesis x64/Arm64EC ak ARM64 yo. Yo aplike yon koòdone pou emile sistèm x86 32-bit yo, men bibliyotèk emilatè a poko enkli nan distribisyon prensipal Wine la (emilatè ekstèn FEX la ka itilize pou egzekite kòd x86 nan anviwònman ARM64 la).
- Grafik subsystem
- Yo reamenaje chofè PostScript la pou sipòte fichye spool nan fòma a Windows, ki estoke done sou travay enprime yo. Apèl dirèk nan chofè a soti nan anviwònman Unix la eskli.
- Sipò mòd nwa yo te ajoute nan tèm WinRT. Yo te ajoute yon anviwònman nan WineCfg pou pèmèt konsepsyon koòdone nwa.
- Chofè pou Vulkan grafik API a te ajoute sipò pou spesifikasyon Vulkan 1.3.272 (8.0 te sipòte nan Wine 1.3.237).
- Fonksyon bibliyotèk GdiPlus yo te optimize, sa ki pèmèt ogmante pèfòmans grafik.
- Direct3D
- Analize nan yon kouran milti-threaded sispann lè pa gen okenn kòmandman rann ke yo te trete, ki pèmèt diminye konsomasyon enèji nan nivo a nan pwosesis sèl-threaded lè egzekite pwogram ki pa okipe tout lajè kouran an lòd.
- Direct3D 10 gen ladan sipò pou efè adisyonèl.
- Te fè optimize pèfòmans nan kòd WineD3D ak backend lè l sèvi avèk API grafik Vulkan.
- Kòd rann Vulkan ki baze sou API kounye a tcheke ki kapasite aparèy la sipòte epi li di aplikasyon an ki nivo fonksyonalite Direct3D ki disponib.
- Fonksyon D3DXFillTextureTX ak D3DXFillCubeTextureTX yo te aplike.
- Klasik OpenGL ARB shader backend la te ajoute sipò pou defini lonbraj lè l sèvi avèk ekstansyon ARB_fragment_program_shadow.
- D3DXLoadMeshHierarchyFromX ak fonksyon menm jan an te ajoute sipò pou chaje done itilizatè yo lè l sèvi avèk koòdone ID3DXLoadUserData.
- Son ak videyo
- Yo te pwopoze yon premye aplikasyon DirectMusic API. Te ajoute sipò pou koleksyon, enstriman ak echantiyon son nan fòma SoundFont. Te ajoute sipò pou efè Doppler. Tès yo te aplike pou verifye aplikasyon kòrèk lè w ap opere sekansè dmime a ak sentèz MIDI dmsynth la.
- Bibliyotèk FluidSynth la entegre nan API DirectMusic pou itilize.
- Sipò pou chaje polis son (SoundFont - fòma pou sentèz ki baze sou echantiyon yo itilize pou jwe fichye MIDI) nan fòma DLS1 ak DLS2 yo, ansanm ak nan fòma SF2 ki itilize nan Linux.
- Te ajoute kapasite pou jwe kontni MIDI lè l sèvi avèk bibliyotèk dmsynth la, lè l sèvi avèk sentèz lojisyèl FluidSynth ak API DirectSound pou pwodiksyon odyo.
- Te ajoute yon dekodeur pou videyo nan fòma codec videyo Indeo IV50.
- Directshow
- Yo mete konpozan DMO (DirectX Media Object) la ak yon dekodeur fòma WMV an aplikasyon (Windows Videyo Medya).
- Te ajoute yon filtè kaptire odyo (DirectShow Audio Capture Filter).
- Anplis kouran odyo, MPEG-1 Stream Splitter (DirectShow MPEG-1 Stream Splitter) kounye a sipòte kouran videyo ak kouran sèvis.
- Yo te aplike yon filtè pou dekode videyo nan fòma MPEG-1 (DirectShow MPEG-1 Video Decoder).
- Antre aparèy
- DirectInput sipòte kat aksyon, ki pèmèt ou mare bouton sou yon kontwolè jwèt ak aksyon espesifik nan jwèt.
- Entegrasyon Desktop
- Liaison yo te ekspòte nan anviwònman itilizatè prensipal la, sa ki pèmèt aplikasyon ki kouri anba Wine yo dwe rele kòm moun kap okipe pwotokòl lè yo louvri yon URL (pa egzanp, lanse spotify.exe lè ouvè lyen tankou "spotify:user:spotify:playlist:848218482355482821").
- Enplemante ekstraksyon done EDID (Done Idantifikasyon Display Ekstansyon) ak enfòmasyon sou paramèt monitè ki konekte a, tankou non ak modèl aparèy la.
- Li posib pou fèmen yon fenèt Desktop deplwaye nan mòd ekran konplè lè l sèvi avèk bouton "Sòti Desktop" nan meni "Kòmanse".
- Entènasyonalizasyon
- Yo elaji sipò pou IME (Editè Metòd Antre). Yo fè travay pou asire konpatibilite ak vèsyon natif natal yo. Windows Aplikasyon IME ak amelyorasyon entegrasyon ak Linux EMI
- Yo bay jenerasyon baz done lokal yo nan fòma locale.nls ki soti nan baz done Unicode CLDR (Unicode Common Locale Data Repository) vèsyon 44 Sipò pou lokal adisyonèl bew-ID, blo-BJ, csw-CA, ie-EE, mic-CA. , prg-PL te ajoute , skr-PK, tyv-RU, vmw-MZ, xnr-IN ak za-CN.
- Koòdone a te tradui nan jòjyen. Yo bay tradiksyon konplè pou 16 lang, ak tradiksyon pasyèl pou 31 lang.
- Tablo karaktè Unicode yo te mete ajou nan vèsyon estanda 15.1.0. Baz done zòn lè a te mete ajou.
- Nwayo (entèfas nwayo Windows)
- Kòm vèsyon ki pibliye a Windows defini pa default Windows 10.
- Pou dosye ègzèkutabl nan fòma PE a, sipò pou randomizasyon espas adrès (ASLR) aplike, men adrès yo pou chaje kòd nan memwa yo poko konplètman owaza.
- Sipò pou yon pil fragmentÊ fèb (LFH, Low Fragmentation Heap) yo te aplike, ki te ogmante pèfòmans nan operasyon alokasyon memwa.
- Sipò pou rezèvasyon memwa (placeholder) te ajoute nan mekanis alokasyon memwa vityèl, sa ki pèmèt yon aplikasyon rezève yon zòn espesifik nan memwa vityèl pou itilize nan lavni.
- Charger 64-bit (loader ak preloader) nan dosye ègzèkutabl ak bibliyotèk yo konpile nan fòma PIE (Pozisyon-Independent Executables) pou libere yon pati nan espas adrès 32-bit la.
- Yo bay dewoulman pile kòrèk pou apèl sistèm NT ak apèl itilizatè yo.
- Karakteristik rezo a
- Motè MSHTML a sipòte mekanis koleksyon fatra "Koleksyon sik la".
- MSHTML te ajoute sipò pou pwosesis synchrone demann XMLHttpRequest.
- jscript.dll ajoute sipò pou yon objè WeakMap pou travay avèk yon koleksyon pè kle/valè kote kle a se yon objè ki ka gen yon valè abitrè tache ak li. Aplike metòd WeakMap.get(), WeakMap.delete(), WeakMap.clear() ak WeakMap.has().
- Motè navigatè Gecko a te mete ajou nan vèsyon 2.47.4.
- Sipò pou notifikasyon sou chanjman nan eta a nan koòdone rezo a te aplike.
- Kriptografi ak sekirite
- Sipò pou kat entelijan yo te ajoute nan bibliyotèk Winscard.dll, aplike nan bibliyotèk sistèm PCSClite.
- BCrypt te ajoute sipò pou pwotokòl echanj kle Diffie-Hellman.
- Pake Negosyasyon an te aplike, bay yon kouch pou itilize entèfas SSPI (Security Support Provider Interface) pou jwenn aksè nan founisè SSP (Security Support Provider).
- Aplikasyon entegre
- Wine Debugger la (winedbg) itilize bibliyotèk Zydis pou demonte enstriksyon machin X86.
- Yo mete ajou koòdone WineCfg la pou sipòte vèsyon ki pi ansyen sou platfòm 64-bit yo. Windows (anvan XP), ki pèmèt ou egzekite aplikasyon ansyen yo lè l sèvi avèk mòd WoW64.
- Tout aplikasyon grafik entegre kounye a montre enfòmasyon erè nan yon dyalòg separe olye pou yo montre yo nan konsole a.
- Pwogram systeminfo a pèmèt ou wè enfòmasyon ki soti nan baz done WMI a (Windows Enstriman Jesyon).
- Te ajoute aplikasyon klist pou montre tikè Kerberos.
- Aplikasyon taskkill la aplike kapasite pou mete fen nan pwosesis timoun yo ak fòs.
- Te ajoute opsyon "/machin" nan sèvis piblik la kòmanse pou chwazi achitekti yo itilize lè w ap kouri ègzèkutabl ibrid ki sipòte x86 ak ARM.
- Pifò nan fonksyonalite pwogram lis travay la te aplike.
- Te ajoute yon aplikasyon debaz aplikasyon findstr.
- Zouti Devlopman
- Itilite WineDump la gen kapasite pou montre sa ki nan dosye rejis yo. Windows (Fòma REGF), epitou li montre done pou tout achitekti (x86/ARM64) ki sipòte nan dosye PE ibrid yo.
- Konpilateur IDL la te ajoute sipò pou atribi "composable", "default_overload", "deprecated" ak "protected".
- Retire libwine.so, ki te obsolète nan Wine 6.0 e ki depi lontan pa te itilize nan Wine. Pwogram nan fòma ELF bati nan ansyen vèsyon Wine (5.0 ak pi gran) ak libwine.so mande pou rebati pou kouri nan Wine 9.0.
- Bibliyotèk entegre ak depandans ekstèn
- Bibliyotèk FluidSynth 2.3.3, Musl 1.2.3 (fonksyon matematik sèlman) ak Zydis 4.0.0 yo entegre nan pake a.
- Konpozan Vkd3d 1.10, Faudio 23.12, OpenLDAP 2.5.16, LCMS2 2.15, LibMPG123 1.32.2, LibPng 1.6.40, LibTiff 4.6.0, LibXml2 2.11.5 yo te aktyalize LibXml1.1.38 1.3 ak 8.1.0 lib . Motè Wine Mono a ak aplikasyon platfòm .NET yo te mete ajou pou lage XNUMX.
- Chofè winewayland.drv sèvi ak bibliyotèk kliyan Wayland kòm depandans ekstèn, ansanm ak bibliyotèk xkbcommon ak xkbregistry.
- Pou sipòte kat entelijan yo, yo itilize bibliyotèk PCSClite ekstèn lan (nan macOS â PCSC).
- Konstwi fichye PE sou platfòm ki pa i386 kounye a mande pou yon konpilatè kwa ak sipò pou direktiv ".seh" pou jere eksepsyon yo.
Sous: opennet.ru
