[ON] Стабильный релиз Wine 8.0

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6004
ОС: gnu/linux

[ON] Стабильный релиз Wine 8.0

Сообщение rssbot »

После года разработки и 28 экспериментальных версий представлен стабильный релиз открытой реализации Win32 API - Wine 8.0, который вобрал в себя более 8600 изменений. Из ключевых достижений в новой версии выделяется завершение работы по переводу модулей Wine в формат PE, продолжение реализации архитектуры WoW64 для запуска 32-разрядных программ в 64-разрядном окружении, включение светлой темы оформления, реализация Print Processor, поддержка эффектов в Direct2D, новый компилятор шейдеров для языка HLSL в Direct3D, значительное улучшение поддержки игровых контроллеров, поддержка протокола OCSP.



В Wine подтверждена полноценная работа 5266 (год назад 5156, два года назад 5049) программ для Windows, ещё 4370 (год назад 4312, два года назад 4227) программ прекрасно работают при дополнительных настройках и внешних DLL. У 3888 программ (года назад 3813, два года назад 3703) наблюдаются небольшие проблемы в работе, которые не мешают использованию основных функций приложений.



Ключевые новшества Wine 8.0:
  • Модули в формате PE
    • После четырёх лет работы полностью завершён перевод всех DLL-библиотек на использование формата исполняемых файлов PE (Portable Executable, применяется в Windows). Применение PE позволяет использовать доступные для Windows отладчики и решает проблемы с поддержкой различных схем защиты от копирования, осуществляющих сверку идентичности системных модулей на диске и в памяти. Также решены проблемы с работой 32-разрядных приложений на 64-разрядных хостах и x86-приложений на системах ARM. Из остающихся задач, которые планируют решить в последующих экспериментальных выпусках Wine 8.x, отмечается перевод модулей на интерфейс системных вызовов NT вместо осуществления прямых вызовов между уровнями PE и Unix.
    • Реализован специальный диспетчер системных вызовов, используемый для трансляции обращений из PE в Unix-библиотеки с целью снижения накладных расходов при выполнении полного системного вызова NT. Например, выполненная оптимизация дала возможность снизить падение производительности при использовании библиотек OpenGL и Vulkan.
    • В Winelib-приложениях сохранена возможность использования смешанных сборок Windows/Unix библиотек в формате ELF (.dll.so), но подобные приложения без 32-разрядных библиотек не будут поддерживать функциональность, доступную через интерфейс системных вызовов NT, такую как WoW64.
  • WoW64
    • Для всех Unix-библиотек предоставлены прослойки WoW64 (64-bit Windows-on-Windows), позволяющие 32-разрядным модулям в формате PE обращаться к 64-разрядным Unix-библиотекам, что после избавления от прямых вызовов PE/Unix даст возможность выполнения 32-разрядных Windows-приложений без установки 32-разрядных Unix-библиотек.
    • При отсутствии 32-разрядного загрузчика Wine обеспечен запуск 32-разрядных приложений в новом экспериментальном Windows-подобном режиме WoW64, в котором 32-разрядный код запускается внутри 64-разрядного процесса. Режим включается при сборке Wine с опцией '--enable-archs', но его разработка не завершена и он пока не рекомендуется для общего использования. Поскольку в случае ошибок конфигурации возможно его непреднамеренное включение, приложения, запущенные в этом режиме, выводят предупреждение "запуск в экспериментальном режиме wow64".
  • Графическая подсистема
    • В конфигурации по умолчанию применена светлая тема оформления ("Light"). Сменить тему можно при помощи утилиты WineCfg.
      Изображение
    • Графические драйверы (winex11.drv, winemac.drv, wineandroid.drv) преобразованы для выполнения на Unix-уровне системных вызовов и обращения к драйверам через библиотеку Win32u.
      Изображение
    • Реализована архитектура обработчиков вывода на печать (Print Processor), применяемая для исключения в драйвере принтера прямых вызовов между уровнями PE и Unix.
    • В API Direct2D реализована поддержка эффектов.
    • В API Direct2D добавлена возможность записи и воспроизведения списков команд.
    • В драйвере для графического API Vulkan добавлена поддержка спецификации Vulkan 1.3.237 (в Wine 7 поддерживался Vulkan 1.2).
  • Direct3D
    • Добавлен новый компилятор шейдеров для языка HLSL (High-Level Shader Language), реализованный на базе библиотеки vkd3d-shader. Также на базе vkd3d-shader подготовлены дизассемблер HLSL и препроцессор HLSL.
    • Реализован интерфейс Thread Pump, появившийся в D3DX 10.
    • В эффектах Direct3D 10 добавлена поддержка многих новых выражений.
    • Во вспомогательной библиотеке для D3DX 9 реализована поддержка проекции текстур Cubemap.
  • Звук и видео
    • На базе фреймворка GStreamer реализована поддержка фильтров для декодирования звука
      в формате MPEG-1.
    • Добавлен фильтр для чтения потокового звука и видео в формате ASF (Advanced Systems Format).
    • Удалена промежуточная библиотека-прослойка OpenAL32.dll, вместо которой теперь используется родная Windows-библиотека OpenAL32.dll, поставляемая с приложениями.
    • В Media Foundation Player улучшена определение типа содержимого.
    • Реализована возможность управления скоростью передачи данных (Rate control).
    • Улучшена поддержка микшера и отрисовщика (presenter), предлагаемых по умолчанию в Enhanced Video Renderer (EVR).
    • Добавлена начальная реализация API Writer Encoding.
    • Улучшена поддержка загрузчика топологий.
  • Устройства ввода
    • Значительно улучшена поддержка горячего подключения игровых контроллеров.
    • Предложена улучшенная реализация кода для определения игровых рулей, построенная на базе библиотеки SDL.
    • Улучшена поддержка эффекта виброотклика (Force feedback) при использовании игровых рулей.
    • Реализована возможность управления левым и правым вибромоторами, использующими спецификацию HID Haptic.
    • Изменено оформление панели управления джойстиком.
    • Через использование бэкенда hidraw обеспечена поддержка контроллеров Sony DualShock и DualSense.
    • Предложен WinRT-модуль Windows.Gaming.Input с реализацией программного интерфейса для доступа к геймпадам, джойстикам и игровым рулям. Для нового API среди прочего реализована поддержка уведомления о горячем подключении устройств, тактильных и вибро эффектов.
  • Интернационализация
    • Обеспечена генерация корректной БД локалей в формате locale.nls из репозитория Unicode CLDR (Unicode Common Locale Data Repository).
    • Функции сравнения строк Unicode переведены на использование БД и алгоритма Windows Sortkey вместо алгоритма Unicode Collation, что приблизило поведение к Windows.
    • В большинстве функций добавлена поддержка верхних диапазонов кодов (плоскостей) Unicode.
    • Предоставлена возможность использования UTF-8 в качестве ANSI-кодировки.
    • Таблицы символов обновлены до спецификации Unicode 15.0.0.
  • Текст и шрифты
    • Для большинства системных шрифтов включено связывание шрифтов, позволившее решить проблему с отсутствием глифов на системах с китайскими, корейскими и японскими локалями.
    • Переработан откат на запасной шрифт в DirectWrite.
  • Ядро (интерфейсы ядра Windows)
    • Реализована БД ApiSetSchema, которая заменила собой модули api-ms-* и позволила сократить потребление диска и адресного пространства.
    • Обеспечено сохранение на диске файловых атрибутов DOS в совместимом с Samba формате, используя для этого расширенные атрибуты ФС.
  • Сетевые возможности
    • Добавлена поддержка протокола OCSP (Online Certificate Status Protocol), применяемого для проверки отозванных сертификатов.
    • Расширен спектр возможностей EcmaScript, доступных в режиме соответствия стандартам JavaScript.
    • Реализован сборщик мусора для JavaScript.
    • В пакете с движком Gecko включены средства для людей с ограниченными возможностями.
    • В MSHTML добавлена поддержка API Web Storage, объекта Performance и дополнительных объектов для обработки событий.
  • Встроенные приложения
    • Все встроенные приложения переведены на использование библиотеки Common Controls 6, с поддержкой тем оформления и отрисовки с учётом экранов c высокой плотностью пикселей.
    • Расширены возможности отладки потоков в отладчике Wine Debugger (winedbg).
    • В утилитах для работы с реестром (REGEDIT и REG) добавлена поддержка типа QWORD.
    • В Notepad добавлена строка состояния с информацией о позиции курсора и функция Goto Line для перехода на указанный номер строки
    • Во встроенной консоли обеспечен вывод данных в кодовой странице OEM.
    • В утилиту sc.exe (Service Control) добавлена команда 'query'.
  • Система сборки
    • Предоставлена возможность сборки исполняемых файлов в формате PE для нескольких архитектур (например, '--enable-archs=i386,x86_64').
    • На всех платформах с 32-разрядным типом long типы данных, определённые в Windows как long, в Wine теперь переопределены как 'long' вместо 'int'. В Winelib данное поведение можно отключить через определение WINE_NO_LONG_TYPES.
    • Добавлена возможность генерации библиотек без использования dlltool (включается через задание опции '--without-dlltool' в winebuild).
    • Для повышения эффективности загрузки и снижения размера библиотек, не содержащих код и включающих только ресурсы, в winegcc реализована опция '--data-only'.
  • Разное
    • Обновлены версии встроенных библиотек 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, что избавило от необходимости поставки Unix-сборок данных библиотек.
    • Прекращено использование библиотеки OpenAL.


Источник: https://www.opennet.ru/opennews/art.shtml?num=58539
(opennet.ru, основная лента)
Последний раз редактировалось rssbot 25.01.2023 08:17, всего редактировалось 2 раза.
Причина: Updated upstream
Спасибо сказали: