Wine 7.0 тұрақты шығарылымы

Бір жылдық әзірлемеден және 30 эксперименттік нұсқадан кейін Win32 API ашық іске асырудың тұрақты шығарылымы ұсынылды - 7.0-ден астам өзгерістерді қамтитын Wine 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 файлы болған жағдайда ғана жүктеледі, оның нақты кітапхана немесе түптеу екеніне қарамастан. Бұл өзгерту қолданбаға әрқашан PE файлдарына дұрыс байланыстыруды көруге мүмкіндік береді. Бұл әрекетті өшіру үшін WINEBOOTSTRAPMODE ортасының айнымалы мәнін пайдалануға болады.
  • WoW64
    • 64 биттік Unix процестерінде 64 биттік Windows қолданбаларын іске қосуға мүмкіндік беретін WoW32 архитектурасы (Windows жүйесінде 64 биттік Windows) енгізілді. Қолдау 32-биттік NT жүйелік шақыруларын 64-биттік қоңырауларға NTDLL-ге аударатын қабаттың қосылуы арқылы жүзеге асырылады.
    • WoW64 қабаттары Unix кітапханаларының көпшілігі үшін дайындалған және 32-биттік PE модульдеріне 64-биттік Unix кітапханаларына кіруге мүмкіндік береді. Барлық модульдер PE пішіміне түрлендірілгеннен кейін 32 биттік Unix кітапханаларын орнатпай 32 биттік Windows қолданбаларын іске қосу мүмкін болады.
  • Тақырыптар
    • Тақырыпты қолдау жүзеге асырылды. WineCfg конфигураторы арқылы таңдауға болатын «Ашық», «Көк» және «Классикалық көк» дизайн тақырыптары қамтылған.
    • Тақырыптар арқылы барлық интерфейсті басқару элементтерінің көрінісін теңшеу мүмкіндігі қосылды. Элементтердің сыртқы түрі дизайн тақырыбын өзгерткеннен кейін автоматты түрде жаңартылады.
    • Барлық кірістірілген Wine қолданбаларына тақырыпты қолдау қосылды. Қолданбалар жоғары пиксель тығыздығы (жоғары DPI) экрандарға бейімделген.
  • Графикалық ішкі жүйе
    • Жаңа Win32u кітапханасы қосылды, ол GDI32 және USER32 кітапханаларының графикалық өңдеуге және ядро ​​деңгейіндегі терезелерді басқаруға қатысты бөліктерін қамтиды. Болашақта winex32.drv және winemac.drv сияқты драйвер компоненттерін Win11u жүйесіне көшіру жұмыстары басталады.
    • Vulkan драйвері Vulkan graphics API спецификациясын 1.2.201 қолдайды.
    • Direct2D API арқылы штрихталған геометриялық нысандарды шығаруға қолдау көрсетіледі, оның соғуын тексеру мүмкіндігі бар (хит-тест).
    • Direct2D API ID2D1Effect интерфейсі арқылы қолданылатын көрнекі әсерлерге бастапқы қолдауды қамтамасыз етеді.
    • Direct2D API ID2D1MultiThread интерфейсіне қолдауды қосты, ол көп ағынды қолданбалардағы ресурстарға эксклюзивті қатынасты ұйымдастыру үшін пайдаланылады.
    • WindowsCodecs кітапханалар жинағы WMP (Windows Media Photo) пішіміндегі кескіндерді декодтауды және 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_32TYPE32, т.б.), .
    • 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 Photo кескін пішіміне (JPEG XR) қолдауды қосты.
    • D3DX10CreateTextureFromMemory() сияқты D3DX10 ішінде берілген текстураны жасау функциялары қосылды.
    • ID3DX10Sprite және ID3DX10Font бағдарламалық интерфейстері ішінара жүзеге асырылды.
  • Дыбыс және бейне
    • DirectShow және Media Foundation негізіне арналған GStreamer қондырмалары бір жалпы WineGStreamer серверіне біріктірілген, бұл жаңа мазмұнды декодтау API интерфейстерін әзірлеуді жеңілдетуі керек.
    • WineGStreamer серверіне негізделген Windows Media нысандары синхронды және асинхронды оқу үшін жүзеге асырылады.
    • Media Foundation құрылымын енгізу одан әрі жетілдірілді, 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 бағдарламасына қаріп орнату нысаны қосылды.
    • RichEdit TextHost интерфейсін дұрыс жүзеге асырады.
  • Ядро (Windows ядросының интерфейстері)
    • Шарапта анықталмаған орындалатын файлды («wine foo.msi» сияқты) іске қосқан кезде, файл түрімен байланысты өңдеушілерді шақыратын start.exe енді шақырылады.
    • Linux жүйесіндегі футекстерге ұқсас NtAlertThreadByThreadId және NtWaitForAlertByThreadId синхрондау механизмдеріне қолдау қосылды.
    • Ядро функцияларын жөндеу үшін пайдаланылатын NT жөндеу нысандарына қолдау қосылды.
    • Өнімділік деректерін сақтау үшін динамикалық тізбе кілттеріне қолдау қосылды.
  • C Орындалу уақыты
    • C орындалу уақыты негізінен Musl кітапханасынан тасымалданатын математикалық функциялардың толық жиынтығын жүзеге асырады.
    • Барлық процессор платформалары өзгермелі нүкте функцияларына дұрыс қолдау көрсетеді.
  • Желілік мүмкіндіктер
    • Қазір HTML құжаттарын өңдеу үшін әдепкі бойынша пайдаланылатын Internet Explorer 11 (IE11) үшін жақсартылған үйлесімділік режимі.
    • mshtml кітапханасы let өрнегі және Map нысаны сияқты мүмкіндіктерге қолдау көрсететін ES6 JavaScript режимін (ECMAScript 2015) жүзеге асырады.
    • Gecko қозғалтқышына толықтырулары бар MSI бумаларын Wine жұмыс каталогына орнату енді Wine жаңартуы кезінде емес, қажет болғанда орындалады.
    • DTLS протоколына қолдау қосылды.
    • Компьютердегі маршруттау және желілік интерфейстер туралы ақпаратты басқа қызметтерге сақтайтын және беретін NSI (Network Store Interface) қызметі енгізілді.
    • setsockopt және getsockopt сияқты WinSock API өңдегіштері Windows архитектурасына сәйкес болу үшін NTDLL және afd.sys драйверіне жылжытылды.
    • Wine компаниясының жеке желілік дерекқор файлдары, мысалы, /etc/protocols және /etc/networks, қазір ұқсас Unix дерекқорларына кірудің орнына Wine жұмыс каталогында орнатылған.
  • Балама платформалар
    • M1 ARM чиптеріне негізделген Apple жабдығына қолдау қосылды (Apple Silicon).
    • 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-windows» және unix кітапханалары үшін «x86_64-unix» бір Шарапта әртүрлі архитектураларды қолдауға мүмкіндік береді. орнату және Winelib кросс-компиляциясын қамтамасыз ету.
    • Түпнұсқа DLL файлдарын пайдалануға көшуді басқаратын PE файлдарының тақырыптарында опцияны орнату үшін winebuild жүйесіне "--prefer-native опциясы" жалауы қосылды (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 спецификациясына жаңартылды.
    • Бастапқы ағаш PE пішімінде құрастырылған және Unix пішіміндегі нұсқаны қажет етпейтін Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt және Zlib кітапханаларын қамтиды. Сонымен қатар, кірістірілген PE опцияларының орнына сыртқы жинақтарды пайдалану үшін бұл кітапханаларды жүйеден импорттауға болады.

Ақпарат көзі: opennet.ru

пікір қалдыру