категории | RSS

Релиз Wine 10.0

21 января 2025 года вышла новая стабильная версия открытой реализации программного интерфейса Windows Win32 API для ОС Linux Wine 10.0. С прошлогоднего релиза Wine 9.0 в проект внесено около 6 тыс. изменений от 1950 контрибуторов, включая полную поддержку архитектуры ARM64EC, улучшенное масштабирование на экранах с высокой плотностью пикселей (HiDPI), включение по умолчанию драйвера Wayland, реализацию панелей для настройки экрана и джойстика, альтернативный мультимедийный бэкенд на базе FFmpeg, начальный драйвер Bluetooth, обновленный DXVK и улучшения в поддержки Direct3D, поддержку Vulkan 1.4, возможность эмуляции переключения видеорежимов.

В проекте Wine подтверждена полноценная работа 5372 программ для Windows (год назад 5336), а также 4435 приложений (год назад 4397) стабильно работают при дополнительных настройках и внешних dll. Также у 4020 программных продуктов (год назад 3943) наблюдаются небольшие проблемы в работе, которые не мешают использованию их основных функций.

По информации OpenNET, основные изменения и доработки в Wine 10.0:

реализован интерфейс для эмуляции 64-разрядных систем x86. При использовании ARM64EC сам Wine выполняется как есть, а эмуляция применяется только для кода приложений x86–64. Библиотека с эмулятором пока не включена в основной состав Wine, но для запуска кода x86–64 в окружении ARM64 можно использовать внешний эмулятор FEX, собранный с поддержкой ARM64EC;

для поддержки ARM64 необходимо использование в системе страниц памяти размером 4КБ, как того требует ABI Windows (запуск в окружениях с ядрами Linux, использующими страницы памяти 16K или 64K пока не поддерживается);

в драйвер для графического API Vulkan добавлена поддержка спецификации Vulkan 1.4 (в Wine 9.0 поддерживался Vulkan 1.3.272). Добавлена поддержка расширений Vulkan для кодирования и декодирования видео;

при использовании бэкенда X11 реализована возможность отрисовки дочерних окон Vulkan для приложений, использующих подобные окна для вывода 3D‑контента (ранее подобная возможность была доступна только для OpenGL);

в библиотеку GdiPlus добавлена поддержка механизма связывания шрифтов («Font Linking»), позволяющего при отображении текста задействовать несколько шрифтов, если отсутствуют шрифты по отдельности охватывающие все встречающиеся в тексте символы;

добавлен экспериментальный механизм эмуляции modesetting, позволяющий эмулировать переключение видеорежимов без фактического изменения настроек экрана. Видимость изменения разрешения экрана без переключения видеорежима создаётся через расширение и масштабирование окон;

добавлен новый апплет Desktop Control Panel (desk.cpl) с реализацией интерфейса управления настройками дисплея (например, можно изменять виртуальное разрешение десктопа или настраивать эмулируемые параметры дисплея);

добавлена возможность сброса настроек экрана в значения по умолчанию в случае невозможности восстановить состояние после аварийного завершения процесса;

для Direct3D 9 и более старых версий добавлен графический конвейер фиксированных функций (в старых Direct3D предоставлялись только предопределённые графические операции, которые нельзя было изменять), реализованный при помощи языка шейдеров HLSL и позволяющий эмулировать фиксированные функции при отрисовке через API Vulkan или OpenGL;

при отрисовке с использованием Vulkan задействованы Vulkan‑расширения для динамического изменения состояния графического конвейера, позволяющие сократить подвисания в играх;

добавлен альтернативный бэкенд glsl‑vkd3d для шейдеров GLSL, использующий vkd3d‑shader;

предоставлена начальная поддержка компиляции эффектов Direct3D, используя vkd3d‑shader;

в библиотеке D3DX9 реализована возможность генерации MIP‑текстур (MipMap) при загрузке объёмных текстур. Добавлена поддержка форматов представления цвета 64bpp RGBA и 48bpp RGB в изображениях PNG, а также форматов X8L8V8U8, A2W10V10U10, A8P8, V16U16 и Q16W16V16U16;

в качестве альтернативы бэкенду на базе GStreamer реализован новый мультимедийный бэкенд, основанный на использовании FFmpeg и пригодный для обеспечения работы фреймворка Media Foundation;

улучшена реализация API Media Foundation, которая теперь лучше сочетается с приложениями, зависящими от компонентов демультиплексирования и декодирования;

в API DirectMusic добавлена поддержка загрузки файлов MIDI;

добавлен апплет Joystick Control Panel (joy.cpl) c реализацией настроек для джойстика;

внесены улучшения, связанные с устройствами управления указателем (тачпады, мыши), использующими протокол HID (Human Interface Device). Добавлен драйвер mouhid.sys для HID‑устройств. Реализован корректный разбор составных устройств ввода и обеспечена передача информации о них в Windows‑приложения, как о раздельных устройствах;

реализовано размещение некоторых внутренних структур библиотеки user32 в разделяемой памяти, что повысило производительность и снизило нагрузку на Wine Server;

в winex11 добавлена поддержка обработки событий XInput2 в привязке к отдельным окнам;

реализована корректная поддержка клавиатур с раскладкой Dvorak;

улучшена поддержка протокола обмена ключами Диффи‑Хеллмана (DH). Добавлена возможность настройки и получения параметров DH. Реализованы обработчики для создания пар из открытого и закрытого ключей;

обеспечено использование добавочного заполнения OAEP (Optimal Asymmetric Encryption Padding) вместе с алгоритмом RSA;

в API DirectPlay реализована поддержка сетевых сеансов;

налажена обработка состояний асинхронного ввода/вывода при работе в режиме WoW64 (64-bit Windows‑on‑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, LibTiff 4.7.0, LibXml2 2.12.8, LibXslt 1.1.42 и Zlib 1.3.1.



Источник новости: habr.com

DimonVideo
2025-01-22T10:50:06Z

Здесь находятся
всего 0. За сутки здесь было 0 человек
Яндекс.Метрика