Wine 7.0 туруктуу релиз

Бир жылдык иштеп чыгуудан жана 30 эксперименталдык версиядан кийин Win32 API ачык ишке ашыруунун туруктуу релизи көрсөтүлдү - Wine 7.0, ал 9100дөн ашык өзгөртүүлөрдү камтыган. Жаңы версиянын негизги жетишкендиктери болуп Wine модулдарынын көбүн PE форматына которуу, темаларды колдоо, HID интерфейси бар джойстиктер жана киргизүү түзүлүштөрү үчүн стектин кеңейиши жана 64 биттик программаларды иштетүү үчүн WoW32 архитектурасын ишке ашыруу кирет. 64 биттик чөйрө.

Wine Windows үчүн 5156 (бир жыл мурун 5049) программанын толук иштешин тастыктады, дагы 4312 (бир жыл мурун 4227) программалар кошумча орнотуулар жана тышкы DLLлер менен кемчиликсиз иштейт. 3813 3703 программада (XNUMX XNUMX жыл мурун) тиркемелердин негизги функцияларын колдонууга тоскоол болбогон майда операциялык көйгөйлөр бар.

Wine 7.0догу негизги инновациялар:

  • PE форматындагы модулдар
    • Дээрлик бардык DLL файлдары ELFтин ордуна PE (Portable Executable, Windowsта колдонулган) аткарылуучу файл форматын колдонууга айландырылган. PE колдонуу дисктеги жана эс тутумдук модулдардын идентификациясын текшерген ар кандай көчүрмөлөрдү коргоо схемаларын колдоо менен көйгөйлөрдү чечет.
    • PE модулдарын Unix китепканалары менен стандарттуу NT ядро ​​тутумунун чалуусунун жардамы менен өз ара аракеттенүү мүмкүнчүлүгү ишке ашырылган, бул Windows мүчүлүштүктөрдү оңдоочулардан Unix кодуна кирүү мүмкүнчүлүгүн жашырууга жана жипти каттоону көзөмөлдөөгө мүмкүндүк берет.
    • Камтылган DLL файлдары азыр дискте тиешелүү PE файлы болгондо гана жүктөлөт, ал чыныгы китепкана же stub экендигине карабастан. Бул өзгөртүү колдонмого ар дайым PE файлдарына туура байланышты көрүүгө мүмкүндүк берет. Бул жүрүм-турумду өчүрүү үчүн, сиз WINEBOOTSTRAPMODE чөйрө өзгөрмөсүн колдонсоңуз болот.
  • WoW64
    • WoW64 архитектурасы (64-бит Windows-on-Windows) ишке ашырылган, бул 32-биттик Windows тиркемелерин 64-бит Unix процесстеринде иштетүүгө мүмкүндүк берет. Колдоо 32-биттик NT тутумунун чалууларын NTDLLге 64-биттик чалууларга которгон катмарды туташтыруу аркылуу ишке ашырылат.
    • WoW64 катмарлары Unix китепканаларынын көбү үчүн даярдалган жана 32 биттик PE модулдарына 64 биттик Unix китепканаларына кирүү мүмкүнчүлүгүн берет. Бардык модулдар PE форматына которулгандан кийин, 32 биттик Unix китепканаларын орнотпостон 32 биттик Windows тиркемелерин иштетүү мүмкүн болот.
  • Темалар
    • Тема колдоо ишке ашырылды. Дизайн темалары "Light", "Blue" жана "Classic Blue" камтылган, аларды WineCfg конфигуратору аркылуу тандоого болот.
    • Темалар аркылуу бардык интерфейс башкаруу элементтеринин көрүнүшүн өзгөчөлөштүрүү мүмкүнчүлүгү кошулду. Дизайн темасын өзгөрткөндөн кийин элементтердин көрүнүшү автоматтык түрдө жаңыртылып турат.
    • Теманы колдоо бардык камтылган Wine колдонмолоруна кошулду. Тиркемелер жогорку пикселдик тыгыздыктагы (High DPI) экрандарга ылайыкташтырылган.
  • Графикалык подсистема
    • Жаңы Win32u китепканасы кошулду, ал GDI32 жана USER32 китепканаларынын графикалык процесстерге жана ядро ​​деңгээлинде терезелерди башкарууга тиешелүү бөлүктөрүн камтыйт. Келечекте winex32.drv жана winemac.drv сыяктуу драйвер компоненттерин Win11uга көчүрүү иштери башталат.
    • Vulkan драйвери Vulkan графикасынын API спецификациясын 1.2.201 колдойт.
    • Direct2D API аркылуу штрихтелген геометриялык объектилерди чыгаруу үчүн колдоо көрсөтүлдү, бул чыкылдатуунун тийгендигин текшерүү мүмкүнчүлүгү менен (хит-тест).
    • Direct2D API ID2D1Effect интерфейсин колдонуу менен колдонулган визуалдык эффекттерге алгачкы колдоо көрсөтөт.
    • Direct2D API ID2D1MultiThread интерфейсине колдоо кошту, ал көп агымдуу тиркемелерде ресурстарга эксклюзивдүү кирүүнү уюштуруу үчүн колдонулат.
    • WindowsCodecs китепканалар топтому WMP (Windows Media Фото) форматындагы сүрөттөрдү чечмелөө жана DDS (DirectDraw Surface) форматындагы сүрөттөрдү коддоо үчүн колдоо көрсөтөт. Биз мындан ары Windows'до колдоого алынбаган ICNS форматындагы сүрөттөрдү коддоону колдобойбуз (macOS үчүн).
  • Direct3D
    • Жаңы рендеринг кыймылдаткычы бир топ жакшыртылган, Direct3D чалууларын Vulkan графикалык API'ге которуу. Көпчүлүк учурларда, Vulkan негизделген кыймылдаткычта Direct3D 10 жана 11 колдоо деңгээли эски OpenGL негизделген кыймылдаткыч менен теңдештирилген. Vulkan рендеринг кыймылдаткычын иштетүү үчүн, Direct3D реестр өзгөрмө "renderer" "vulkan" деп коюңуз.
    • Direct3D 10 жана 11дин көптөгөн функциялары ишке ашырылган, анын ичинде кийинкиге калтырылган контексттер, аппараттын контекстинде иштеген мамлекеттик объекттер, буферлердеги туруктуу офсеттер, жараксыз текстура көрүнүштөрүн тазалоо, типсиз форматтардагы ресурстардын ортосунда маалыматтарды көчүрүү (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_32_TYPELESS, DXGI_FORMAT_32LESS_32 ж.б.), .
    • Direct3D тиркемесин толук экран режиминде көрсөтүү үчүн мониторду тандоого мүмкүндүк берген көп монитордун конфигурацияларына колдоо кошулду.
    • DXGI API экрандын жарыктыгын өзгөртүү үчүн Direct3D 10 жана 11 негизиндеги тиркемелер тарабынан колдонулушу мүмкүн болгон экран гаммасын оңдоону камсыз кылат. Виртуалдык фрейм буферлеринин эсептегичтерин издөө иштетилген (SwapChain).
    • Direct3D 12 версия 1.1 тамыр кол үчүн колдоо кошот.
    • Vulkan API аркылуу көрсөтүү кодунда, система VK_EXT_host_query_reset кеңейтүүсүн колдогондо, сурамдарды иштетүүнүн натыйжалуулугу жакшырды.
    • Эгерде OpenGL же Vulkan дисплей үчүн колдонулбаса, мисалы, CEF (Chromium Embedded Framework) негизине негизделген программаларда, мисалы, ар кандай процесстерден терезеге чыгарууда GDI аркылуу виртуалдык фреймбуферлерди (SwapChain) чыгаруу мүмкүнчүлүгү кошулду.
    • GLSL шейдеринин бетин колдонууда, шейдер көрсөтмөлөрү үчүн "так" өзгөрткүч камсыз кылынат.
    • DirectDraw API "RGB", "MMX" жана "Рампа" сыяктуу программалык түзүлүштөрдү колдонуу менен тутумдун эс тутумуна 3D рендерингди колдоону кошот.
    • Direct3D графикалык карта базасына AMD Radeon RX 5500M, AMD Radeon RX 6800/6800 XT/6900 XT, AMD Van Gogh, Intel UHD Graphics 630 жана NVIDIA GT 1030 карталары кошулду.
    • "UseGLSL" ачкычы HKEY_CURRENT_USER\Software\Wine\Direct3D реестринен алынып салынды, анын ордуна Wine 5.0ден баштап "shader_backend" колдонушуңуз керек.
    • Direct3D 12ди колдоо үчүн сизге азыр vkd3d китепканасынын жок дегенде 1.2 версиясы керек.
  • D3DX
    • D3DX 10 ишке ашыруу визуалдык эффекттерди колдоону жакшыртты жана Windows Media Фото сүрөт форматын (JPEG XR) колдоону кошту.
    • D3DX10CreateTextureFromMemory() сыяктуу D3DX10до каралган текстура түзүү функциялары кошулду.
    • ID3DX10Sprite жана ID3DX10Font программалык интерфейстери жарым-жартылай ишке ашырылган.
  • Үн жана видео
    • DirectShow үчүн GStreamer кошумчалары жана Media Foundation алкактары бир жалпы WineGStreamer серверине бириктирилген, бул жаңы мазмунду чечмелөө API'лерин иштеп чыгууну жөнөкөйлөтүшү керек.
    • WineGStreamer серверинин негизинде Windows Media объекттери синхрондуу жана асинхрондуу окуу үчүн ишке ашырылат.
    • Медиа Фонддун негизин ишке ашыруу дагы жакшыртылды, IMFPMediaPlayer функционалдуулугу жана үлгү бөлүштүргүч үчүн колдоо кошулду жана EVR жана SAR көрсөтүү буферлери үчүн колдоо жакшыртылды.
    • QuickTime форматы үчүн декодер менен камсыз кылган wineqtdecoder китепканасы алынып салынды (баардык кодектер азыр GStreamerди колдонот).
  • киргизүү түзмөктөрүн
    • HID (Адам интерфейси түзмөктөрү) протоколун колдогон киргизүү түзүлүштөрү үчүн стек HID дескрипторлорун талдоо, HID билдирүүлөрүн иштетүү жана мини-HID драйверлерин камсыздоо сыяктуу мүмкүнчүлүктөрдү камсыз кылуу менен бир топ жакшыртылган.
    • winebus.sys драйверинин арткы бөлүгүндө түзмөктүн сүрөттөмөлөрүн HID билдирүүлөрүнө которуу жакшыртылды.
    • HID протоколун колдогон джойстиктерге жаңы DirectInput сервери кошулду. Джойстиктерде пикир эффекттерин колдонуу мүмкүнчүлүгү ишке ашырылган. Жакшыртылган джойстик башкаруу панели. XInput шайкеш түзмөктөр менен оптималдаштырылган өз ара аракеттенүү. WinMMде джойстикти колдоо Linux'та evdev жана macOS IOHIDде IOHIDди колдонуунун ордуна DInput'ка жылдырылды. Эски джойстик драйвери winejoystick.drv алынып салынды.
    • DInput модулуна жаңы тесттер кошулду, алар виртуалдык HID түзүлүштөрүн колдонууга негизделген жана физикалык түзүлүштү талап кылбайт.
  • Текст жана шрифттер
    • DirectWrite'ге Font Set объекти кошулду.
    • RichEdit TextHost интерфейсин туура ишке ашырат.
  • Ядро (Windows ядро ​​интерфейстери)
    • Шарапта аныкталбаган аткарылуучу файлды (мисалы, "wine foo.msi") иштеткенде, азыр start.exe деп аталат, ал файлдын түрү менен байланышкан иштетүүчүлөрдү чакырат.
    • Linuxтагы футекстерге окшош NtAlertThreadByThreadId жана NtWaitForAlertByThreadId синхрондоштуруу механизмдерине колдоо кошулду.
    • Ядро функцияларын оңдоо үчүн колдонулган NT мүчүлүштүктөрдү оңдоо объектилери үчүн кошумча колдоо.
    • Өндүрүш маалыматтарын сактоо үчүн динамикалык реестр ачкычтары үчүн колдоо кошулду.
  • C Runtime
    • C иштөө убактысы негизинен Musl китепканасынан алынган математикалык функциялардын толук топтомун ишке ашырат.
    • Бардык CPU платформалары калкыма чекит функциялары үчүн туура колдоо көрсөтөт.
  • тармактык мүмкүнчүлүктөр
    • Азыр HTML документтерин иштетүү үчүн демейки боюнча колдонулган Internet Explorer 11 (IE11) үчүн жакшыртылган шайкештик режими.
    • mshtml китепканасы ES6 JavaScript режимин (ECMAScript 2015) ишке ашырат, ал let туюнтмасы жана Карта объектиси сыяктуу функцияларды колдойт.
    • Gecko кыймылдаткычына толуктоолор менен MSI пакеттерин Wine жумушчу каталогуна орнотуу азыр Шарап жаңыртуу учурунда эмес, зарыл болгондо жасалат.
    • DTLS протоколуна колдоо кошулду.
    • NSI (Network Store Interface) кызматы ишке ашырылган, компьютердеги маршруттук жана тармактык интерфейстер жөнүндө маалыматты сактоо жана башка кызматтарга өткөрүп берүү.
    • Setsockopt жана getsockopt сыяктуу WinSock API иштеткичтери Windows архитектурасына шайкеш келүү үчүн NTDLL жана afd.sys драйверине жылдырылды.
    • Шараптын өзүнүн тармактык маалымат базасы файлдары, мисалы, /etc/protocols жана /etc/networks, азыр окшош Unix маалымат базаларына кирүүнүн ордуна Wine жумушчу каталогуна орнотулган.
  • Альтернативалык платформалар
    • M1 ARM чиптеринин (Apple Silicon) негизинде Apple жабдууларына колдоо кошулду.
    • MacOSдо BCrypt жана Secur32 функцияларын колдоо үчүн эми GnuTLS китепканасын орнотуу талап кылынат.
    • ARM платформалары үчүн 32 биттик аткарылуучу файлдар азыр Windows сыяктуу Thumb-2 режиминде курулган. Мындай файлдарды жүктөө үчүн алдын ала жүктөгүч колдонулат.
    • 32 биттик ARM платформалары үчүн өзгөчө кырдаалдарды чечүүнү колдоо ишке ашырылган.
    • FreeBSD үчүн, эстутум абалы жана батареянын заряд деңгээли сыяктуу төмөнкү деңгээлдеги тутум маалыматы үчүн колдоого алынган сурамдардын саны кеңейтилген.
  • Камтылган тиркемелер жана иштеп чыгуу куралдары
    • Reg.exe утилитасы 32 жана 64 биттик реестр көрүнүштөрүн колдоону кошту. Реестр ачкычтарын көчүрүү үчүн кошумча колдоо.
    • WineDump утилитасы Windows метаберилиштерин демпингге жана CodeView жазуулары жөнүндө толук маалыматты көрсөтүүгө колдоо кошту.
    • Шарап мүчүлүштүктөрдү оңдоочу (winedbg) 32 биттик мүчүлүштүктөрдү оңдоочудан 64 биттик процесстерди оңдоо мүмкүнчүлүгүн берет.
    • PE файлдарына орнотулган китепканаларды жүктөө мүмкүнчүлүгү IDL компиляторуна (widl) кошулду, WinRT спецификалык атрибуттары жана конструкциялары колдоо көрсөтүлдү жана платформага тиешелүү китепкана издөөсү ишке ашырылды.
  • Чогултуу системасы
    • Архитектурага тиешелүү каталогдордо китепканалар эми архитектураны жана аткарылуучу түрүн чагылдырган аталыштар менен сакталат, мисалы, PE форматы үчүн "i386-терезелер" жана unix китепканалары үчүн "x86_64-unix" бир Шарапта түрдүү архитектураларды колдоого мүмкүндүк берет. орнотуу жана Winelib кайчылаш компиляциясын камсыз кылуу.
    • Түпкү DLL'лерди колдонууга өтүүнү көзөмөлдөгөн PE файлдарынын баштарында параметрди коюу үчүн winebuild'ге "--prefer-native option" желекчеси кошулган (DllMainде DLL_WINE_PREATTACH иштетүү токтотулган).
    • Шарап китепканаларын курууда демейки боюнча колдонулуучу Dwarf мүчүлүштүктөрдү аныктоо маалымат форматынын 4-версиясына колдоо кошулду.
    • Аткарылуучу файлдарда уникалдуу куруу идентификаторлорун сактоо үчүн '—enable-build-id' куруу опциясы кошулду.
    • MSVC шайкештик режиминде Clang компиляторун колдонуу үчүн колдоо кошулду.
  • Разное
    • Колдонуучунун кабыгындагы (Windows Shell) типтүү каталогдордун аттары Windows Vistaдан баштап колдонулган схемага берилет, б.а. "Менин документтерим" дегендин ордуна "Документтер" каталогу түзүлүп, маалыматтардын көбү "AppData" каталогуна сакталат.
    • OpenCL 1.2 спецификациясын колдоо OpenCL китепкана катмарына кошулду.
    • WinSpool драйвери басып чыгарууда ар кандай барак өлчөмдөрүн колдоону кошту.
    • MSDASQL үчүн баштапкы колдоо кошулду, ODBC драйверлери үчүн Microsoft OLE DB провайдери.
    • .NET платформасын ишке ашыруу менен Wine Mono кыймылдаткычы 7.0.0 чыгаруу үчүн жаңыртылган.
    • Юникод маалыматтары Юникод 14 спецификациясына жаңыртылган.
    • Булак дарагы Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt жана Zlib китепканаларын камтыйт, алар PE форматында түзүлгөн жана Unix форматындагы версияны талап кылбайт. Ошол эле учурда, бул китепканаларды да орнотулган PE параметрлеринин ордуна тышкы жыйындарды колдонуу үчүн системадан импорттоого болот.

Source: opennet.ru

Комментарий кошуу