Стабільны рэліз Wine 10.0

Пасля года распрацоўкі і 29 эксперыментальных версій прадстаўлены стабільны рэліз адкрытай рэалізацыі Win32 API – Wine 10.0, які ўвабраў у сябе больш за 6000 змен. З ключавых дасягненняў у новай версіі вылучаецца поўная падтрымка архітэктуры ARM64EC, маштабаванне на экранах з высокай шчыльнасцю пікселяў, уключэнне па змаўчанні драйвера Wayland, рэалізацыя панэляў для налады экрана і джойсціка, альтэрнатыўны мультымедыйны бэкенд на базе FFmpeg, драйвер Bluetooth, падзор Bluetooth, драйвер Bluetooth, пераключэнні відэарэжымаў.

У Wine пацверджана паўнавартасная праца 5372 праграм для Windows (год таму 5336, два гады таму 5266, тры гады таму 5156), яшчэ 4435 праграм (год таму 4397, два гады таму 4370, тры гады таму 4312) выдатна працуюць пры дадатковых наладах і знешніх DLL. У 4020 праграм (год таму 3943, два гады таму 3888, тры гады таму 3813) назіраюцца невялікія праблемы ў працы, якія не перашкаджаюць выкарыстанню асноўных функцый прыкладанняў.

Ключавыя навіны Wine 10.0:

  • ARM64
    • Забяспечана поўная падтрымка архітэктуры ARM64EC (ARM64 Emulation Compatible), узровень падтрымкі ў Wine якой дасягнуў парытэту з архітэктурай ARM64. Архітэктура ARM64EC распрацавана для спрашчэння партавання на сістэмы ARM64 прыкладанняў, першапачаткова напісаных для сістэм x86_64, і дазваляе выконваць у асяроддзі ARM64 асобныя модулі з кодам x86_64 пры дапамозе эмулятара.
    • Рэалізавана поўная падтрымка фармату PE-файлаў ARM64X, які дазваляе сумяшчаць у адным выкананым файле код для архітэктур ARM64EC і ARM64. Для зборкі Wine у ​​фармаце ARM64X неабходна ўсталяваць LLVM з Git (неабходная функцыянальнасць увойдзе ў склад рэлізу LLVM 20) і пры запуску скрыпту "configure" паказаць опцыю "-enable-archs=arm64ec,aarch64".
    • Рэалізаваны інтэрфейс для эмуляцыі 64-разрадных сістэм x86. Пры выкарыстанні ARM64EC сам Wine выконваецца як ёсць, а эмуляцыя ўжываецца толькі для кода прыкладанняў x86-64. Бібліятэка з эмулятарам пакуль не ўключана ў асноўны склад Wine, але для запуску кода x86-64 у асяроддзі ARM64 можна выкарыстоўваць вонкавы эмулятар FEX, сабраны з падтрымкай ARM64EC.
    • Для падтрымкі ARM64 неабходна выкарыстанне ў сістэме старонак памяці памерам 4КБ, як таго патрабуе ABI Windows (запуск у асяроддзі з ядрамі Linux, якія выкарыстоўваюць старонкі памяці 16K або 64K пакуль не падтрымліваецца).
  • Графічная падсістэма
    • Рэалізавана больш дакладнае маштабаванне на экранах з высокай шчыльнасцю пікселяў (High-DPI). Забяспечана падтрымка рэжыму DPI Awareness для арганізацыі адлюстравання прыкладанняў на экранах з высокай шчыльнасцю пікселяў, з улікам таго падтрымлівае дадатак адаптацыю да змены DPI ці не (прыкладанні, якія не ўлічваюць DPI, маштабуюцца аўтаматычна). Дададзеныя опцыі для перавызначэння падтрымкі High-DPI у прывязцы да асобных прыкладанняў або прэфіксам Wine.
    • У драйвер для графічнага API Vulkan дададзена падтрымка спецыфікацыі Vulkan 1.4 (у Wine 9.0 падтрымліваўся Vulkan 1.3.272). Дададзена падтрымка пашырэнняў Vulkan для кадавання і дэкадавання відэа.
    • Пры выкарыстанні бэкенда X11 рэалізавана магчымасць адмалёўкі даччыных вокнаў Vulkan для прыкладанняў, якія выкарыстоўваюць падобныя вокны для вываду 3D-кантэнту (раней падобная магчымасць была даступная толькі для OpenGL).
    • У бібліятэку GdiPlus дададзена падтрымка механізму звязвання шрыфтоў («Font Linking»), які дазваляе пры адлюстраванні тэксту задзейнічаць некалькі шрыфтоў, калі адсутнічаюць шрыфты паасобку якія ахопліваюць усе сустракаемыя ў тэксце знакі.
  • 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
    • У драйвер winewayland.drv дададзена падтрымка OpenGL і піксельных буфераў (pBuffer).
    • Вырашаны праблемы з пазіцыянаваннем усплываючых вокнаў у асяроддзі на базе Wayland.
    • Пры выкарыстанні Wayland рэалізавана падтрымка аўтапаўтору націску пры ўтрыманні клавіш.
  • Інтэграцыя з працоўным сталом
    • Дададзены эксперыментальны механізм эмуляцыі "modesetting", які дазваляе эмуляваць пераключэнне відэарэжымаў без фактычнай змены налад экрана. Бачнасць змены дазволу экрана без пераключэння відэарэжыму ствараецца праз пашырэнне і маштабаванне вокнаў.
    • Дададзены новы аплет Desktop Control Panel (desk.cpl) з рэалізацыяй інтэрфейсу кіравання наладамі дысплея (напрыклад, можна змяняць віртуальнае дазвол дэсктопа або наладжваць эмуляваныя параметры дысплея).
    • Дададзена магчымасць скіду налад экрана ў значэнні па змаўчанні ў выпадку немагчымасці аднавіць стан пасля аварыйнага завяршэння працэсу.
    • Дададзена падтрымка адключэння паказу піктаграм у сістэмным латку (у «HKLMSoftwareMicrosoftWindows\CurrentVersion\Policies\Explorer" варта пазначыць "NoTrayItemsDisplay=1").
    • Дададзена падтрымка адключэння абалонак (Shell launcher) у рэжыме дэсктопа (у «HKLMSoftwareMicrosoftWindows\CurrentVersion\Policies\Explorer" варта пазначыць "NoDesktop=1").
  • Direct3D
    • Для адмалёўкі з выкарыстаннем OpenGL зараз патрабуецца падтрымка GLSL 1.20, а таксама пашырэнняў EXT_framebuffer_object і ARB_texture_non_power_of_two. Падтрымка старога бэкенда ARB shader і налады OffscreenRenderingMode спынена.
    • Для Direct3D 9 і больш старых версій дададзены графічны канвеер фіксаваных функцый (у старых Direct3D даваліся толькі наканаваныя графічныя аперацыі, якія нельга было змяняць), рэалізаваны пры дапамозе мовы шэйдараў HLSL і які дазваляе эмуляваць фіксаваныя функцыі пры адмалёўцы праз API Vulkan або OpenGL.
    • Пры адмалёўцы з выкарыстаннем Vulkan задзейнічаны Vulkan-пашырэнні для дынамічнай змены стану графічнага канвеера, якія дазваляюць скараціць падвісанні ў гульнях.
    • Дададзены альтэрнатыўны бэкенд glsl-vkd3d для шэйдараў GLSL, які выкарыстоўвае vkd3d-shader.
    • Прадастаўлена пачатковая падтрымка кампіляцыі эфектаў Direct3D, выкарыстоўваючы vkd3d-shader.
    • У бібліятэцы D3DX9 рэалізавана магчымасць генерацыі MIP-тэкстур (MipMap) пры загрузцы аб'ёмных тэкстур. Q64W48V8U8.
  • Гук і відэа
    • У якасці альтэрнатывы бэкенду на базе GStreamer рэалізаваны новы мультымедыйны бэкенд, заснаваны на выкарыстанні FFmpeg і прыдатны для забеспячэння працы фрэймворка Media Foundation. Для ўключэння альтэрнатыўнага бэкэнда ў секцыі рэестра "HKCU Software Wine MediaFoundation" варта паказаць "DisableGstByteStreamHandler = 1".
    • Палепшана рэалізацыя API Media Foundation, якая зараз лепш спалучаецца з прыкладаннямі, якія залежаць ад кампанентаў дэмультыплексавання і дэкадаванні.
    • У API DirectMusic дададзена падтрымка загрузкі файлаў MIDI.
  • прылады ўводу
    • Дададзена пачатковая версія драйвера Bluetooth.
    • Дададзены аплет Joystick Control Panel (joy.cpl) з рэалізацыяй налад для джойсціка.
    • Унесены паляпшэнні, звязаныя з прыладамі кіравання паказальнікам (тачпады, мышы), выкарыстоўвалымі пратакол HID (Human Interface Device). Дададзены драйвер mouhid.sys для HID-прылад. Рэалізаваны карэктны разбор састаўных прылад уводу і забяспечана перадача інфармацыі аб іх у Windows-прыкладанні, як аб паасобных прыладах.
    • Для бэкенда X11 дададзеная падтрымка сэнсарных экранаў і рэалізаваная магчымасць выкарыстання рэжыму мультытач праз апрацоўку паведамленняў WM_POINTER* (WM_POINTERENTER, WM_POINTERLEAVE і да т.п.).
    • Рэалізавана размяшчэнне некаторых унутраных структур бібліятэкі user32 у падзялянай памяці, што падвысіла прадукцыйнасць і знізіла нагрузку на Wine Server.
    • У winex11 дададзеная падтрымка апрацоўкі падзей XInput2 у прывязцы да асобных вокнаў.
    • Рэалізавана карэктная падтрымка клавіятур з раскладкай Dvorak.
  • Ядро (інтэрфейсы ядра Windows)
    • Дададзена падтрымка павышэння прывілеяў працэсаў (працэсу, першапачаткова запушчанаму пад звычайным карыстальнікам, могуць быць прадастаўлены прывілеі адміністратара). Пры стварэнні серверных працэсаў (msi action server), а таксама працэсаў, якія выклікаюць функцыі RtlCreateUserProcess() і CreateProcessInternal(), па змаўчанні задзейнічаны абмежаваны токен адміністратара.
    • Пры атрыманні інфармацыі аб пазнаках дыскаў па магчымасці зараз выкарыстоўваецца зварот да сістэмных сэрвісаў праз DBus, замест спробы прамога доступу да прылады.
    • Аднанакіраваны механізм міжпрацэснага ўзаемадзеяння (IPC) Mailslots цяпер рэалізаваны непасрэдна ў Wine server, што дазволіла дабіцца поўнай падтрымкі семантыкі. Windows.
    • Рэалізавана чаканне падзей паслядоўнага порта ў асінхронным рэжыме.
    • Дададзена поўная падтрымка працэсарных пашырэнняў XSTATE у кантэкстах струменя, што дазволіла выкарыстаць новыя вектарныя пашырэнні, такія як AVX-512.
  • Убудаваныя прыкладанні
    • Перапісаны рухавічок апрацоўкі ўваходных дадзеных, які выкарыстоўваецца ў камандным інтэрпрэтатары cmd.exe. У cmd.exe дададзена падтрымка аперацый «||» і "&&".
    • Ва ўтыліту findstr дададзена падтрымка рэгулярных выразаў і пошуку без уліку рэгістра сімвалаў.
    • Ва ўтыліты regsvr32 і rundll32 дададзена магчымасць рэгістрацыі модуляў ARM64EC.
    • Дададзены ўтыліты: sort для сартавання ўваходных дадзеных, fc для параўнання файлаў і where для пошуку файлаў.
    • У дадатку wmic рэалізаваны інтэрактыўны рэжым працы.
    • У Explorer дададзена апцыянальная падтрымка стартавага меню і панэлі прылад. Забяспечаны запуск explorer.exe з урэзанымі правамі доступу.
  • Інструменты для распрацоўкі
    • У winebuild дададзена опцыя "-marm64x" для генерацыі гібрыдных бібліятэк ARM64X.
    • У winegcc дададзена опцыя "-marm64x", якая забяспечвае зборку для ARM64X.
    • У файлах, якія генерыруюцца з выкарыстаннем мовы апісання інтэрфейсу IDL (Interface Definition Language), задзейнічаны кампаненты, якія цалкам падтрымліваюць выкананне ў рэжыме інтэрпрэтацыі.
    • У кампілятар мовы апісання інтэрфейсу IDL (Interface Definition Language) дададзена падтрымка генерацыі бібліятэк тыпаў (TypeLib) у старым фармаце (SLTG).
    • Ва ўтыліту winedump дададзена падтрымка захавання дампаў табліц minidump, інфармацыі аб выключэннях C++ і рэсурсаў typelib.
  • Рознае
    • Палепшана падтрымка пратакола абмену ключамі Дыфі-Хеллмана (DH). Дададзена магчымасць настройкі і атрымання параметраў DH. Рэалізаваны апрацоўшчыкі для стварэння пар з адкрытага і закрытага ключоў.
    • Забяспечана выкарыстанне дадатковага запаўнення OAEP (Optimal Asymmetric Encryption Padding) разам з алгарытмам RSA.
    • У API DirectPlay рэалізавана падтрымка сеткавых сеансаў.
    • Наладжана апрацоўка станаў асінхроннага ўводу/высновы пры працы ў рэжыме WoW64 (64-bit Windows-на-Windows), які дазваляе выконваць 32-разрадныя Windows-прыкладанні ў 64-разрадных Unix-сістэмах.
    • Дададзена падтрымка загрузкі ODBC-драйвераў да СКБД, сабраных для Windows.
    • Для платформы ARM рэалізавана поўная падтрымка RPC / COM, C ++ RTTI (Run-Time Type Information) і выключэнняў C ++.
    • У C runtime у ANSI-функцыях рэалізаваная падтрымка кадоўкі UTF-8.
    • Пашыраны магчымасці рухавічка MSHTML. Дададзена падтрымка прататыпаў і канструктараў аб'ектаў. У JavaScript-рухавічок дададзены новы інтэрфейс звязвання аб'ектаў для MSHTML. Убудаваныя функцыі MSHTML пераўтвораны ў карэктныя аб'екты JavaScript. Палепшаны зборшчык смецця для JavaScript, які зараз ахоплівае ўсе кантэксты выканання скрыпту ў патоку. Дададзена падтрымка JavaScript-аб'ектаў ArrayBuffer і DataView.
    • У сістэму бесперапыннай інтэграцыі на базе Gitlab дададзена падтрымка статычнага аналізу з выкарыстаннем Clang і справаздач аб праходжанні тэстаў JUnit.
    • У склад убудавана бібліятэка Capstone 5.0.3, праз якую рэалізавана дызасэмбляванне ў адладчыку WineDb.
    • Абноўлены да новых версій кампаненты: Vkd3d 1.14, Faudio 24.10, FluidSynth 2.4.0, LDAP 2.5.18, LCMS2 2.16, LibJpeg 9f, LibMPG123 1.32.9, LibPng 1.6.44. LibXml4.7.0 2, LibXslt 2.12.8 і Zlib 1.1.42.

Крыніца: opennet.ru

Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы 🔥 Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы | ProHoster