Ya мы сказали это в прошлую пятницу, что стабильная версия может появиться в любое время. Но, по крайней мере, я не ожидал, что это произойдет так скоро. WineHQ запустил WINE 9.0, и он сделал это всего после 5 Release Candidates. Если бы мне пришлось сделать ставку, а после рождественских каникул, когда они пропустили одну ставку, я бы положил свои деньги в ящик в начале февраля, но проиграл бы.
Среди новых функций есть одна, которая, на мой взгляд, выделяется, хотя, возможно, вы уже представили ее и даже устали от этой темы. ВИНО 9.0 включает в себя первоначальная поддержка Wayland, хотя на данный момент эта функция помечена как экспериментальная. И дело в том, что большая часть пользователей, использующих WINE, делают это в Linux, и именно в системах на базе ядра существует множество проектов, серьезно ориентированных на Wayland.
Особенности WINE 9.0
- WoW64:
- Все переходы от кода Windows к коду Unix происходят через интерфейс системных вызовов NT. Это важная веха, знаменующая завершение многолетней работы по реструктуризации модулей в формат PE и установлению правильной границы между мирами Windows и Unix.
- Все модули, вызывающие библиотеку Unix, содержат переходники WoW64, позволяющие вызывать 64-битную библиотеку Unix из 32-битной. 64-битная библиотека Unix из 32-битного PE-кода. Это означает, что можно запускать 32-битные приложения Windows на 64-битной установке Unix. Это называется новым режимом WoW64, в отличие от старого режима WoW64, в котором 32-битные приложения выполняются внутри 32-битной Unix.
- Новый режим WoW64 еще не включен по умолчанию. Его можно активировать, передав опцию --enable-archs=i386,x86_64 настроить. Ожидается, что это будет работать для большинства приложений, но все же существуют некоторые ограничения.
- Новый режим WoW64 наконец-то позволяет запускать 32-битные приложения в последних версиях macOS, в которых удалена поддержка 32-битных процессов Unix.
- Водитель Вейланд:
- Существует экспериментальный графический драйвер Wayland. Работа над ним все еще находится в стадии разработки, но в нем уже реализовано множество функций, таких как базовое управление окнами, несколько мониторов, масштабирование с высоким разрешением, события относительного движения и поддержка Vulkan.
- Контроллер Wayland по умолчанию еще не активирован. Его можно включить через раздел реестра «KCU\Software\Wine\Drivers», запустив
Wine reg.exe добавить HKCU\\Software\Wine\Drivers /v Graphics /d x11,wayland и убедитесь, что переменная среды DISPLAY отключена.
- ARM64:
- Завершение разделения PE/Unix означает, что можно запускать существующие двоичные файлы Windows на ARM64.
- Зарядное устройство поддерживает зарядку модулей ARM64X и ARM64EC.
- Реализован 86-битный интерфейс эмуляции x32. В настоящее время в Wine не предусмотрена библиотека эмуляции, но можно использовать внешнюю библиотеку, которая экспортирует интерфейс, указав ее имя в каталоге.
«HKLM\Software\Microsoft\Wow64\x86». Эмулятор FEX реализует этот интерфейс, если он построен как PE. - Существует первоначальная поддержка сборки Wine для архитектуры ARM64EC с использованием экспериментальной цепочки инструментов LLVM. Как только набор инструментов будет готов, он будет использоваться для правильной сборки ARM64X и включения 86-битной эмуляции x64.
- Графика:
- Драйвер PostScript был переопределен для работы с файлами спула в формате Windows и позволяет избежать прямых вызовов со стороны Unix.
- Темы WinRT поддерживают опцию темной темы с соответствующим переключателем в WineCfg.
- Драйвер Vulkan поддерживает спецификацию Vulkan до версии 1.3.272.
- Некоторые функции GdiPlus были оптимизированы для улучшения графической производительности.
- Direct3D:
- Поток многопоточных команд приостанавливается, а не активируется, когда он не обрабатывает команды рендеринга. Это снижает энергопотребление программ, которые не используют всю доступную полосу пропускания потока команд. Потребление энергии должно быть сопоставимо с потреблением энергии при отключении многопоточного потока команд.
отключен. - Эффекты Direct3D 10 поддерживают гораздо больше инструкций.
- В ядро WineD3D и серверную часть Vulkan было внесено несколько оптимизаций.
- Средство визуализации Vulkan правильно проверяет, что необходимые функции поддерживаются базовым устройством, и сообщает приложению соответствующий уровень функций Direct3D.
- Реализованы D3DXFillTextureTX и D3DXFillCubeTextureTX.
- Шейдер OpenGL ARB поддерживает выборку теней с использованием ARB_fragment_program_shadow.
- Компилятор HLSL поддерживает флаги компиляции массива большинства.
- D3DXLoadMeshHierarchyFromX и связанные с ним функции поддерживают загрузку пользовательских данных через ID3DXLoadUserData.
- Поток многопоточных команд приостанавливается, а не активируется, когда он не обрабатывает команды рендеринга. Это снижает энергопотребление программ, которые не используют всю доступную полосу пропускания потока команд. Потребление энергии должно быть сопоставимо с потреблением энергии при отключении многопоточного потока команд.
- Аудио и видео:
- Реализована база нескольких модулей DirectMusic. Добавлено множество тестов для проверки поведения секвенсора dmime и MIDI-синтезатора dmsynth.
- Реализована загрузка источников звука DLS1 и DLS2, а также формата SF2 для совместимости со стандартными источниками звука Linux MIDI.
- Воспроизведение MIDI реализовано в dmsynth с интеграцией программного синтезатора из библиотеки FluidSynth и использованием DirectSound для вывода звука.
- Доплеровский сдвиг поддерживается в DirectSound.
- Реализован видеодекодер Indeo IV50 для Windows.
- Другие улучшения DirectShow, устройств ввода, интеграции с рабочим столом, Интернета и сетей, доступные в Release Note.
WINE 9.0 — это новая стабильная версия программного обеспечения и можно загрузить со следующей кнопки. С этого момента они запустят некоторые стабильные исправления (9.0.1, 9.0.2...) и начнут с разрабатываемых (9.1, 9.2), которые сейчас готовятся к WINE 10 в 2025 году.