- PVSM.RU - https://www.pvsm.ru -
Привет! Кажется, мы действительно дождались стабильного релиза Wine 9.0 [1]. Спустя год времени и 26 промежуточных версий представлена официальная версия Wine 9.0. Разработчики внесли несколько тысяч изменений, так что здесь есть что обсудить. Основные нововведения — архитектура WoW64 для запуска 32-разрядных программ в 64-разрядном окружении, интеграция архитектуры ARM64, а также добавление драйвера для поддержки Wayland. Конечно, есть и другие новинки. Подробнее о них — под катом.
В Wine официально подтверждена [2] работа сразу 5 336 программ под Windows. Количество совместимого софта, который без проблем работает в Wine, медленно, но растёт. Так, в прошлом году это было 5 226 программ, три года назад — 5 049. Нельзя забывать и о том, что большое количество ПО без проблем запускается при дополнительных настройках и добавлении внешних DLL. Количество такого софта — 4 397 (год назад — 4 370, два года назад — 4 312, три года назад — 4 227).
И ещё почти 4 000 программ работают, но в процессе выполнения наблюдаются проблемы, которые, впрочем, нельзя назвать критичными, поскольку софт продолжает работать.
Общие дополнения и доработки [3]:
Как и говорилось выше, разработчики добавили драйвер [2] winewayland.drv. Он даёт возможность запускать Wine на базе протокола Wayland без применения XWayland и компонентов X11. Это было сделано для того, чтобы обеспечить беспроблемную работу Wayland-окружения c поддержкой запуска Windows-приложений, не требующего установки пакетов, связанных с X11. Что, в свою очередь, означает повышение производительности и отзывчивости игр за счёт отсутствия дополнительных прослоек.
Пока что драйвер считается экспериментальным, но он уже работает и поддерживает широкий спектр функций. Например, это работа сразу с несколькими экранами, масштабирование изображения на экранах с высокой плотностью пикселей, работа с относительными координатами при отслеживании движения мыши и т. п. Для того чтобы активировать драйвер, нужно в параметр реестра HKCUSoftwareWineDrivers добавить wayland следующим образом:
wine reg.exe add HKCU\Software\Wine\Drivers /v Graphics /d x11,wayland
Кроме того, продолжается работа над развитием прослойки WoW64 (64-bit Windows-on-Windows). Она даёт возможность запускать 32-разрядные Windows-приложения в 64-разрядных Unix-системах.
Также реализован перевод модулей на интерфейс системных вызовов NТ. Ранее же применялись прямые вызовы между уровнями PE и Unix.
Появилась опция выполнения Windows-программ на системах с архитектурой ARM64. А ещё добавлена возможность сборки Wine для ABI ARM64EC (ARM64 Emulation Compatible) и поддержка загрузки модулей ARM64EC, применяемых для упрощения портирования на системы ARM64 приложений, изначально написанных для архитектуры x86_64.
Здесь разработчики добавили начальную реализацию API DirectMusic. Добавлена поддержка коллекций, инструментов и образцов звуков в формате SoundFont. Добавлена поддержка эффекта Доплера.
Кроме того, появилась библиотека FluidSynth для использования API DirectMusic.
Добавлена поддержка загрузки звуковых шрифтов (SoundFont — форматы для синтеза на основе сэмплов, используемые для воспроизведения MIDI-файлов) в форматах DLS1 и DLS2, а также в формате SF2, применяемом в Linux.
А ещё появился декодировщик для видео в формате видеокодека Indeo IV50.
Теперь есть возможность экспортировать в основное пользовательское окружение привязок, которые позволяют вызывать запускаемые под управлением Wine приложения в качестве обработчиков протоколов при открытии URL (например, запуск spotify.exe при открытии ссылок вида spotify:user:spotify:playlist:848218482355482821).
Можно извлекать данные EDID с данными о параметрах подключённого монитора — например, модель устройства.
Пользователь может закрыть окно рабочего стола, которое развёрнуто в полноэкранном режиме, применяя кнопку Exit desktop в меню Start.
По умолчанию определяется Windows 10.
Появилась поддержка слабо фрагментированной кучи (LFH, Low Fragmentation Heap), позволяющей повысить производительность операций выделения памяти.
Что касается виртуальной памяти, то для неё добавлена поддержка резервирования памяти (placeholder), позволяющая приложению зарезервировать определённую область виртуальной памяти для использования в будущем.
Стала возможной корректная раскрутка стека (stack unwinding) для системных вызовов NT и пользовательских callback-вызовов.
Что касается отладчика winedbg, то в нём применяется библиотека Zudis для дизассемблирования машинных инструкций Х86.
В графических приложениях добавлен вывод информации об ошибках в отдельном диалоге. Ранее же всё это отображалось в консоли.
Появилось приложение klist для отображения тикетов Kerberos.
Добавлена базовая реализация приложения findstr.
Кроме того, в приложении askkill реализована возможность принудительного завершения дочерних процессов, что многие могут найти полезным.
В драйвере графического API Vulkan появилась поддержка спецификации Vulkan 1.3.272 (в Wine 8.0 поддерживался 1.3.237).
В WinRT добавлена поддержка тёмного режима.
PostScript переработан для поддержки spool-файлов в формате Windows.
Здесь появилась поддержка дополнительных эффектов.
Кроме того, появилась возможность приостановки разбора многопоточного потока команд в условиях отсутствия обрабатываемых команд отрисовки. Это нужно для снижения потребления энергии до уровня однопоточной обработки с целью выполнения софта, который не занимает всю полосу пропускания потока команд.
Появились D3DXFillTextureTX и D3DXFillCubeTextureTX.
Обновился браузерный движок Gecko — вплоть до версии 2.47.4.
В MSHTML реализована поддержка механизма сборки мусора Cycle Collection, кроме того, добавлена поддержка синхронного режима обработки запросов XMLHttpRequest.
Появилась поддержка уведомлений об изменении состояния сетевого интерфейса.
В состав интегрированы библиотеки FluidSynth 2.3.3, Musl 1.2.3 (только математические функции) и Zydis 4.0.0.
Обновлены до новых версий компоненты Vkd3d 1.10, Faudio 23.12, OpenLDAP 2.5.16, LCMS2 2.15, LibMPG123 1.32.2, LibPng 1.6.40, LibTiff 4.6.0, LibXml2 2.11.5, LibXslt 1.1.38 и Zlib 1.3. Движок Wine Mono с реализацией платформы .NET обновлён до выпуска 8.1.0.
В драйвере winewayland.drv в качестве внешних зависимостей задействована клиентская библиотека Wayland, а также библиотеки xkbcommon и xkbregistry.
Для поддержки смарт-карт задействована внешняя библиотека PCSClite (в macOS — PCSC).
Для сборки PE-файлов на платформах, отличных от i386, теперь требуется наличие кросс-компилятора с поддержкой директив .seh для обработки исключений.
Если вы уже установили «девятку», расскажите, возникали ли какие-то проблемы или пока что всё идёт гладко и без затруднений/глюков?
Автор:
divolko3
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/389719
Ссылки в тексте:
[1] Wine 9.0: https://www.winehq.org/news/2024011601
[2] официально подтверждена: https://www.opennet.ru/opennews/art.shtml?num=60446
[3] дополнения и доработки: https://gitlab.winehq.org/wine/wine/-/releases/wine-9.0
[4] Источник: https://habr.com/ru/companies/ru_mts/articles/787720/?utm_source=habrahabr&utm_medium=rss&utm_campaign=787720
Нажмите здесь для печати.