Как стать автором
Обновить

Вышел Wine 8.0

Время на прочтение4 мин
Количество просмотров6.1K

Вышел стабильный релиз Wine 8.0 — открытой реализации Win32 API. В новой версии завершили работу по переводу модулей Wine в формат PE, внедрили Print Processor, поддержку эффектов в Direct2D, новый компилятор шейдеров для языка HLSL в Direct3D, а также улучшили поддержку игровых контроллеров.

Теперь в Wine полноценно работает 5266 программ для Windows, а ещё 4370 программ работают при дополнительных настройках и внешних DLL. 

Основные нововведения в Wine 8.0 включают:

  • модули в формате PE. Это позволяет использовать доступные для Windows отладчики и решает проблемы с поддержкой различных схем защиты от копирования. Решены проблемы с работой 32-разрядных приложений на 64-разрядных хостах и x86-приложений на системах Arm;

  • специальный диспетчер системных вызовов для трансляции обращений из PE в Unix-библиотеки. Это позволит снизить падение производительности при использовании библиотек OpenGL и Vulkan. В Winelib-приложениях можно использовать смешанные сборки Windows/Unix библиотек в формате ELF (.dll.so), но без 32-разрядных библиотек они не будут поддерживать функциональность, доступную через интерфейс системных вызовов NT;

  • прослойку WoW64 (64-bit Windows-on-Windows) для всех Unix-библиотек. Это позволяет 32-разрядным модулям в формате PE обращаться к 64-разрядным Unix-библиотекам;

  • запуск 32-разрядных приложений в новом экспериментальном Windows-подобном режиме WoW64, в котором 32-разрядный код запускается внутри 64-разрядного процесса. Режим включается при сборке Wine с опцией '--enable-archs';

  • преобразование графических драйверов (winex11.drv, winemac.drv, wineandroid.drv) для выполнения на Unix-уровне системных вызовов и обращения к драйверам через библиотеку Win32u;

  • архитектуру обработчиков вывода на печать (Print Processor) для исключения в драйвере принтера прямых вызовов между уровнями PE и Unix;

  • поддержку эффектов в API Direct2D;

  • возможность записи и воспроизведения списков команд в API Direct2D;

  • поддержку спецификации Vulkan 1.3.237 в драйвере для графического API Vulkan;

  • новый компилятор шейдеров для языка HLSL (High-Level Shader Language) на базе библиотеки vkd3d-shader;

  • интерфейс Thread Pump;

  • поддержку новых выражений в эффектах Direct3D 10;

  • поддержку проекции текстур Cubemap во вспомогательной библиотеке для D3DX 9;

  • поддержку фильтров для декодирования звука в формате MPEG-1 на базе фреймворка GStreamer;

  • фильтр для чтения потокового звука и видео в формате ASF;

  • исключение промежуточной библиотеки-прослойки OpenAL32.dll, вместо которой используется родная Windows-библиотека OpenAL32.dll;

  • улучшенное определение типа содержимого в Media Foundation Player;

  • возможность управления скоростью передачи данных;

  • улучшенную поддержку микшера и отрисовщика по умолчанию в Enhanced Video Renderer (EVR);

  • начальную реализацию API Writer Encoding;

  • улучшенную поддержку загрузчика топологий;

  • улучшенную поддержку горячего подключения игровых контроллеров;

  • улучшенную реализацию кода для определения игровых рулей на базе библиотеки SDL;

  • улучшенную поддержку эффекта виброотклика (Force feedback) при использовании игровых рулей;

  • возможность управления левым и правым вибромоторами, использующими спецификацию HID Haptic;

  • новое оформление панели управления джойстиком;

  • поддержку контроллеров Sony DualShock и DualSense через использование бэкенда hidraw;

  • WinRT-модуль Windows.Gaming.Input с реализацией программного интерфейса для доступа к геймпадам, джойстикам и игровым рулям;

  • генерацию корректной БД локалей в формате locale.nls из репозитория Unicode CLDR (Unicode Common Locale Data Repository);

  • алгоритм Windows Sortkey для функции сравнения строк Unicode вместо алгоритма Unicode Collation;

  • поддержку верхних диапазонов кодов (плоскостей) Unicode;

  • возможность использования UTF-8 в качестве ANSI-кодировки;

  • обновление спецификации таблицы символов до Unicode 15.0.0;

  • связывание шрифтов для большинства системных шрифтов, чтобы решить проблему с отсутствием глифов на системах с китайскими, корейскими и японскими локалями;

  • новый откат на запасной шрифт в DirectWrite;

  • реализацию БД ApiSetSchema, которая заменила собой модули api-ms-* и позволила сократить потребление диска и адресного пространства;

  • сохранение на диске файловых атрибутов DOS в совместимом с Samba формате;

  • поддержку протокола OCSP (Online Certificate Status Protocol) для проверки отозванных сертификатов;

  • расширенный спектр возможностей EcmaScript в режиме соответствия стандартам JavaScript;

  • сборщик мусора для JavaScript;

  • средства для людей с ограниченными возможностями в пакете с движком Gecko;

  • поддержку API Web Storage, объекта Performance и дополнительных объектов для обработки событий в MSHTML;

  • перевод встроенных приложений на использование библиотеки Common Controls 6 с поддержкой тем оформления и отрисовки с учётом экранов c высокой плотностью пикселей;

  • новые возможности отладки потоков в отладчике Wine Debugger (winedbg);

  • поддержку типа QWORD в утилитах для работы с реестром (REGEDIT и REG);

  • строку состояния с информацией о позиции курсора и функция Goto Line для перехода на указанный номер строки в Notepad;

  • вывод данных в кодовой странице OEM во встроенной консоли;

  • команду 'query' в утилите sc.exe (Service Control);

  • возможность сборки исполняемых файлов в формате PE для нескольких архитектур (например, '--enable-archs=i386,x86_64');

  • переопределение типов на платформах с 32-разрядным типом long ('long' вместо 'int');

  • возможность генерации библиотек без использования dlltool (через опцию '--without-dlltool' в winebuild);

  • опцию '--data-only' в winegcc для повышения эффективности загрузки и снижения размера библиотек без кода;

  • новые версии встроенных библиотек Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXslt 1.1.37, Zlib 1.2.13;

  • обновление движка Wine Mono с реализацией платформы .NET до выпуска 7.4;

  • поддержку шифрования на базе алгоритма RSA и цифровых подписей RSA-PSS;

  • начальную версию API UI Automation;

  • включение в дерево исходных текстов библиотек LDAP и vkd3d, которые собираются в формате PE;

  • прекращение использования библиотеки OpenAL.

Версия Wine 7.5 вышла в марте 2022 года. В неё внесли 360 изменений и исправили 28 ошибок.

Теги:
Хабы:
+23
Комментарии1

Другие новости

Истории

Работа

Ближайшие события