Baada ya mwaka wa maendeleo na matoleo 29 ya majaribio, kutolewa kwa utulivu wa utekelezaji wazi wa Win32 API - Wine 10.0, ambayo ilijumuisha mabadiliko zaidi ya 6000, iliwasilishwa. Mafanikio muhimu katika toleo jipya ni pamoja na usaidizi kamili wa usanifu wa ARM64EC, kuongeza kwenye skrini zilizo na msongamano wa saizi ya juu, ujumuishaji wa kiendeshaji cha Wayland kwa chaguo-msingi, utekelezaji wa paneli za kubinafsisha skrini na kijiti cha kufurahisha, mbadala mbadala wa media titika kulingana na FFmpeg, Bluetooth. dereva, usaidizi wa Vulkan 1.4, uwezo wa kuiga kubadilisha modi za video.
В Wine подтверждена полноценная работа 5372 программ для Windows (год назад 5336, два года назад 5266, три года назад 5156), ещё 4435 программ (год назад 4397, два года назад 4370, три года назад 4312) прекрасно работают при дополнительных настройках и внешних DLL. У 4020 программ (год назад 3943, два года назад 3888, три года назад 3813) наблюдаются небольшие проблемы в работе, которые не мешают использованию основных функций приложений.
Ubunifu muhimu katika Mvinyo 10.0:
- ARM64
- Usaidizi kamili umetolewa kwa usanifu wa ARM64EC (ARM64 Emulation Compatible), kiwango cha usaidizi katika Wine ambacho kimefikia usawa na usanifu wa ARM64. Usanifu wa ARM64EC umeundwa kurahisisha uhamishaji wa programu zilizoandikwa hapo awali kwa mifumo ya x64_86 hadi mifumo ya ARM64, na inaruhusu moduli za msimbo za x64_86 kufanya kazi katika mazingira ya ARM64 kwa kutumia kiigaji.
- Usaidizi kamili umetekelezwa kwa umbizo la faili la ARM64X PE, ambalo hukuruhusu kuchanganya msimbo wa usanifu wa ARM64EC na ARM64 katika faili moja inayoweza kutekelezwa. Ili kuunda Mvinyo katika umbizo la ARM64X, unahitaji kusakinisha LLVM kutoka Git (utendaji muhimu utajumuishwa katika toleo la LLVM 20) na unapoendesha hati ya "configure", bainisha chaguo la "-enable-archs=arm64ec,aarch64" .
- Kiolesura cha kuiga mifumo ya 64-bit x86 kimetekelezwa. Unapotumia ARM64EC, Mvinyo yenyewe huendesha kama ilivyo, na uigaji unatumika tu kwa msimbo wa programu ya x86-64. Maktaba iliyo na emulator bado haijajumuishwa kwenye kifurushi kikuu cha Mvinyo, lakini ili kuendesha msimbo wa x86-64 katika mazingira ya ARM64, unaweza kutumia emulator ya nje ya FEX iliyojengwa kwa usaidizi wa ARM64EC.
- Для поддержки ARM64 необходимо использование в системе страниц памяти размером 4КБ, как того требует ABI Windows (запуск в окружениях с ядрами Linux, использующими страницы памяти 16K или 64K пока не поддерживается).
- Mfumo mdogo wa michoro
- Imetekeleza uwekaji vipimo sahihi zaidi kwenye skrini zilizo na msongamano wa saizi ya juu (High-DPI). Usaidizi wa hali ya Uelewa wa DPI umetolewa ili kupanga onyesho la programu kwenye skrini zilizo na msongamano wa saizi ya juu, kwa kuzingatia ikiwa programu inasaidia kukabiliana na mabadiliko ya DPI au la (programu ambazo hazizingatii DPI hupimwa kiotomatiki). Chaguo zilizoongezwa ili kubatilisha usaidizi wa High-DPI kwa programu mahususi au viambishi awali vya Mvinyo.
- Usaidizi wa vipimo vya Vulkan 1.4 umeongezwa kwa kiendeshi kwa API ya michoro ya Vulkan (Vulkan 9.0 iliauniwa katika Wine 1.3.272). Usaidizi ulioongezwa kwa viendelezi vya Vulkan kwa usimbaji na usimbaji wa video.
- Wakati wa kutumia mazingira ya nyuma ya X11, uwezo wa kutoa madirisha ya watoto wa Vulkan kwa programu zinazotumia madirisha kama hayo kuonyesha maudhui ya 3D umetekelezwa (hapo awali, kipengele kama hicho kilipatikana kwa OpenGL pekee).
- Usaidizi wa utaratibu wa kuunganisha fonti umeongezwa kwenye maktaba ya GdiPlus, ambayo hukuruhusu kutumia fonti kadhaa wakati wa kuonyesha maandishi ikiwa hakuna fonti zinazofunika herufi zote zinazopatikana kwenye maandishi.
- Wayland
- В конфигурации по умолчанию активирован драйвер winewayland.drv, позволяющий использовать Wine в окружениях на базе протокола Wayland без применения XWayland и компонентов X11. Wine запускает приложения по умолчанию на Wayland напрямую только если XWayland недоступен, в противном случае запуск с использованием XWayland остаётся приоритетным. Для принудительного включения Wayland можно использовать переменную окружения DISPLAY, либо добавить ключ в реестр, создав файл file.reg: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] «Graphics»=»wayland» и применив его командой: $ WINEPREFIX=/путь/до/префикса wine regedit /путь/до/file.reg
- Usaidizi ulioongezwa kwa OpenGL na vihifadhi pikseli (pBuffer) kwa kiendesha winewayland.drv.
- Matatizo yaliyotatuliwa kwa kuweka dirisha ibukizi katika mazingira yanayotegemea Wayland.
- Unapotumia Wayland, utumiaji wa kubofya kiotomatiki unaposhikilia vitufe unatekelezwa.
- Ujumuishaji wa eneo-kazi
- Imeongeza mbinu ya majaribio ya uigaji ya "kuweka modi" ambayo hukuruhusu kuiga kubadilisha modi za video bila kubadilisha mipangilio ya skrini. Mwonekano wa kubadilisha azimio la skrini bila kubadili hali ya video huundwa kwa kupanua na kuongeza madirisha.
- Programu mpya ya Paneli ya Kudhibiti ya Eneo-kazi (desk.cpl) imeongezwa kwa utekelezaji wa kiolesura cha kudhibiti mipangilio ya onyesho (kwa mfano, unaweza kubadilisha azimio pepe la eneo-kazi au kusanidi vigezo vya onyesho vilivyoigwa).
- Imeongeza uwezo wa kuweka upya mipangilio ya skrini kwa maadili chaguo-msingi ikiwa haiwezekani kurejesha hali baada ya ajali ya mchakato.
- Добавлена поддержка отключения показа пиктограмм в системном лотке (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoTrayItemsDisplay=1»).
- Добавлена поддержка отключения оболочек (Shell launcher) в режиме десктопа (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoDesktop=1»).
- Direct3D
- Utekelezaji kwa kutumia OpenGL sasa unahitaji usaidizi wa GLSL 1.20, pamoja na EXT_framebuffer_object na ARB_texture_non_power_of_two viendelezi. Usaidizi wa mandharinyuma ya zamani ya ARB shader na mpangilio wa OffscreenRenderingMode umekatishwa.
- Kwa Direct3D 9 na zaidi, bomba la michoro ya utendakazi lisilobadilika limeongezwa (Direct3D ya zamani ilitoa utendakazi wa michoro uliobainishwa tu ambao haungeweza kubadilishwa), kutekelezwa kwa kutumia lugha ya HLSL ya shader na kuruhusu uigaji thabiti wa utendakazi wakati wa kutekeleza kupitia Vulkan au OpenGL API.
- Utoaji na Vulkan hutumia viendelezi vya Vulkan kubadilisha kwa nguvu hali ya bomba la michoro, kupunguza kudumaa katika michezo.
- Aliongeza mbadala mbadala wa glsl-vkd3d kwa vivuli vya GLSL, kwa kutumia vkd3d-shader.
- Ilitoa usaidizi wa awali wa kuunda athari za Direct3D kwa kutumia vkd3d-shader.
- Maktaba ya D3DX9 hutekeleza uwezo wa kutengeneza maandishi ya MIP (MipMap) wakati wa kupakia maandishi ya ujazo. Usaidizi ulioongezwa kwa umbizo la uwakilishi wa rangi ya 64bpp RGBA na 48bpp RGB katika picha za PNG, pamoja na fomati za X8L8V8U8, A2W10V10U10, A8P8, V16U16 na Q16W16V16U16.
- Sauti na video
- Kama njia mbadala ya msingi wa GStreamer, urejeshaji mpya wa media titika umetekelezwa, kwa kuzingatia matumizi ya FFmpeg na unafaa kwa kuendesha mfumo wa Media Foundation. Ili kuwezesha mazingira mbadala, unapaswa kutaja "DisableGstByteStreamHandler=1" katika sehemu ya usajili "HKCU\Software\Wine\MediaFoundation".
- Utekelezaji wa API ya Wakfu wa Vyombo vya Habari umeboreshwa ili kushughulikia vyema programu zinazotegemea vipengele vya demultiplexing na decoding.
- API ya DirectMusic imeongeza usaidizi wa kupakia faili za MIDI.
- Vifaa vya kuingiza
- Imeongeza toleo la awali la kiendeshi cha Bluetooth.
- Imeongeza programu ya Paneli ya Kudhibiti ya Joystick (joy.cpl) yenye utekelezaji wa mipangilio ya kijiti cha kufurahisha.
- Внесены улучшения, связанные с устройствами управления указателем (тачпады, мыши), использующими протокол HID (Human Interface Device). Добавлен драйвер mouhid.sys для HID-устройств. Реализован корректный разбор составных устройств ввода и обеспечена передача информации о них в Windows-приложения, как о раздельных устройствах.
- Kwa mandhari ya nyuma ya X11, uwezo wa kutumia skrini za kugusa umeongezwa na uwezo wa kutumia hali ya kugusa nyingi kupitia kuchakata ujumbe wa WM_POINTER* (WM_POINTERENTER, WM_POINTERLEAVE, n.k.) umetekelezwa.
- Uwekaji uliotekelezwa wa baadhi ya miundo ya ndani ya maktaba ya mtumiaji32 katika kumbukumbu iliyoshirikiwa, ambayo iliongeza utendakazi na kupunguza mzigo kwenye Seva ya Mvinyo.
- Winex11 iliongeza usaidizi wa kuchakata matukio ya XInput2 kuhusiana na madirisha ya mtu binafsi.
- Usaidizi sahihi uliotekelezwa kwa kibodi na mpangilio wa Dvorak.
- Kernel (miingiliano ya kernel Windows)
- Usaidizi ulioongezwa wa upanuzi wa upendeleo wa mchakato (mchakato unaoendeshwa awali kama mtumiaji wa kawaida unaweza kupewa mapendeleo ya msimamizi). Wakati wa kuunda michakato ya seva (seva ya hatua ya msi), pamoja na michakato inayoita vitendaji vya RtlCreateUserProcess() na CreateProcessInternal(), tokeni ya msimamizi mdogo huwashwa kwa chaguomsingi.
- Wakati wa kupata taarifa kuhusu lebo za diski, wakati wowote iwezekanavyo, kufikia huduma za mfumo kupitia DBus sasa hutumiwa, badala ya kujaribu kufikia kifaa moja kwa moja.
- Однонаправленный механизм межпроцессного взаимодействия (IPC) Mailslots теперь реализован непосредственно в Wine server, что позволило добиться полной поддержки семантики Windows.
- Imetekelezwa kusubiri matukio ya serial ya bandari katika hali ya asynchronous.
- Imeongeza usaidizi kamili wa viendelezi vya kichakataji cha XSTATE katika miktadha ya nyuzi, ikiruhusu matumizi ya viendelezi vipya vya vekta kama vile AVX-512.
- Programu Zilizopachikwa
- Injini ya usindikaji wa data ya pembejeo inayotumiwa katika mkalimani wa amri ya cmd.exe imeandikwa upya. Usaidizi ulioongezwa kwa shughuli za "||" kwa cmd.exe Na "&&".
- Huduma ya findstr imeongeza usaidizi kwa misemo ya kawaida na utafutaji usiojali kesi.
- Uwezo wa kusajili moduli za ARM32EC umeongezwa kwa huduma za regsvr32 na rundll64.
- Huduma zilizoongezwa: panga kwa kupanga data ya ingizo, fc kwa kulinganisha faili na mahali pa kutafuta faili.
- Programu ya wmic hutekelezea hali ya mwingiliano ya uendeshaji.
- Kivinjari kimeongeza usaidizi wa hiari kwa menyu ya kuanza na upau wa vidhibiti. Uzinduzi umewashwa wa explorer.exe na haki za ufikiaji zilizopunguzwa.
- Zana za Maendeleo
- Imeongeza chaguo la "-marm64x" kwa ujenzi wa mvinyo ili kutoa maktaba mseto za ARM64X.
- Imeongeza chaguo la "-marm64x" kwa winegcc ili kuruhusu ujenzi wa ARM64X.
- Faili zinazozalishwa kwa kutumia Lugha ya Ufafanuzi wa Kiolesura (IDL) hutumia vipengee ambavyo vinaauni utekelezaji kikamilifu katika hali ya kufasiriwa.
- Usaidizi wa kutengeneza maktaba za aina (TypeLib) katika umbizo la zamani (SLTG) umeongezwa kwa mkusanyaji wa IDL (Lugha ya Ufafanuzi wa Kiolesura).
- Huduma ya dampo la divai imeongeza usaidizi wa kuhifadhi utupaji taka wa meza ndogo, maelezo ya ubaguzi wa C++, na rasilimali za typelib.
- Miscellanea
- Usaidizi ulioboreshwa wa itifaki ya kubadilishana vitufe vya Diffie-Hellman (DH). Imeongeza uwezo wa kusanidi na kupokea vigezo vya DH. Vidhibiti vilivyotekelezwa vya kuunda jozi za funguo za umma na za kibinafsi.
- Utumiaji wa pedi za ziada za OAEP (Usimbo Bora wa Asymmetric Fiche) pamoja na algoriti ya RSA imetolewa.
- DirectPlay API inasaidia vipindi vya mtandao.
- Ushughulikiaji ulioboreshwa wa hali za ingizo/matokeo zisizolingana wakati wa kufanya kazi katika hali ya WoW64 (biti 64) Windows-kwa-Windows), ambayo hukuruhusu kuendesha biti 32 Windows-programu kwenye mifumo ya Unix ya biti 64.
- Добавлена поддержка загрузки ODBC-драйверов к СУБД, собранных для Windows.
- Kwa jukwaa la ARM, usaidizi kamili wa RPC/COM, C++ RTTI (Maelezo ya Aina ya Muda wa Run-Time) na vighairi vya C++ vinatekelezwa.
- Katika muda wa utekelezaji wa C, chaguo za kukokotoa za ANSI hutekeleza usaidizi wa usimbaji wa UTF-8.
- Uwezo wa injini ya MSHTML umepanuliwa. Usaidizi ulioongezwa kwa prototypes na waundaji wa kitu. Kiolesura kipya cha kuunganisha kipengee cha MSHTML kimeongezwa kwenye injini ya JavaScript. Vitendaji vilivyojengewa ndani vya MSHTML vimebadilishwa hadi vipengee halali vya JavaScript. Ukusanyaji wa takataka wa JavaScript ulioboreshwa ili kufunika miktadha yote ya utekelezaji wa hati kwenye mazungumzo. Usaidizi ulioongezwa kwa vipengee vya ArrayBuffer na DataView JavaScript.
- Usaidizi wa uchanganuzi tuli kwa kutumia ripoti za majaribio za Clang na JUnit umeongezwa kwa mfumo wa ujumuishaji endelevu wa msingi wa Gitlab.
- Maktaba ya Capstone 5.0.3 imejengwa ndani ya kifurushi, kwa njia ambayo disassembly inatekelezwa katika debugger ya WineDb.
- Vipengee vilivyosasishwa hadi matoleo mapya: Vkd3d 1.14, Faudio 24.10, FluidSynth 2.4.0, LDAP 2.5.18, LCMS2 2.16, LibJpeg 9f, LibMPG123 1.32.9, LibPng, LibPng 1.6.44ml4.7.0. 2, LibXslt 2.12.8 na Zlib 1.1.42.
Chanzo: opennet.ru
