Выпущена wine 11.0, последняя стабильная версия открытого слоя совместимости, который позволяет запускать игры и приложения Windows в Linux и MacOS.
Ежегодный выпуск завершает еще один год разработки и включает две выдающиеся функции: поддержку модуля ядра ntsync для повышения производительности и полностью зрелый режим WoW64, который теперь обрабатывает 16-битные приложения (среди прочих изменений).
Все эти изменения были доступны для ознакомления в двухнедельных выпусках Wine. Если вы следили за этими сборками в течение прошлого года, большинство нововведений в Wine 11.0 не будет для вас сюрпризом.
Для всех остальных давайте раскроем эти изменения…
Wine 11.0: что нового?
Ntsync повышает производительность
Wine 11.0 может использовать модуль ядра ntsync в Linux 6.14 и более поздних версиях.
С помощью ntsync Wine эмулирует примитивы синхронизации Windows NT в ядре, а не в пользовательском пространстве. Каковы преимущества? Улучшенная производительность в многопоточных приложениях и играх, хотя однопоточные приложения, по-видимому, получат минимальное (если вообще получат) увеличение производительности.
Единственный минус заключается в том, что некоторые дистрибутивы Linux по умолчанию не загружают модуль ntsync, но вы можете включить его самостоятельно, запустив sudo modprobe ntsync, если считаете, что это будет полезно. Если все работает хорошо, вы можете сделать так, чтобы изменения сохранялись между перезагрузками.
Режим WoW64 становится более зрелым
В версии Wine 9.0, выпущенной в 2024 году, был добавлен новый режим WoW64, позволяющий запускать 32-разрядные приложения Windows на 64-разрядных установках Wine без необходимости использования 32-разрядных системных библиотек (многие дистрибутивы Linux больше не предоставляют 32-разрядные или мультибиблиотечные библиотеки в своих архивах).
В Wine 11.0 новый режим WoW64 теперь полностью поддерживается и достигает функционального паритета со старой версией, получив отображение памяти OpenGL, пропуск SCSI, 16-битную поддержку, 32-битные префиксы и другие улучшения.
Он также упрощает работу, отказавшись от отдельного wine64 бинарного файла и оставив только один wine загрузчик, который выбирает правильный режим (32-разрядный или 64-разрядный) в зависимости от того, что вы пытаетесь запустить. Если установлены обе версии приложения, по умолчанию будет запущена 64-разрядная версия, но вы можете запустить 32-разрядную версию вручную.
В целом, эти изменения являются хорошей новостью для пользователей Linux, которые хотят продолжать запускать устаревшие приложения Windows и старые игры на современных дистрибутивах Linux
Расширенный драйвер Wayland
Wine 11.0 также поставляется с более зрелым драйвером Wayland, который поддерживает обмен данными между буфером обмена в обоих направлениях (т. е. копирование из Wine и вставка в нативное приложение и наоборот), а также перетаскивание из приложений Wayland в приложения Wine.
Теперь драйвер эмулирует изменения режима отображения с помощью масштабирования композитора, что должно оказаться полезным для старых игр Windows, которые пытаются переключиться на более низкое разрешение (например, 640×480), которое в противном случае отображало бы крошечные окна на дисплее с более высоким разрешением.
Хотя драйвер Wayland был установлен по умолчанию в Wine 10.0 и работал хорошо, ему не хватало некоторых удобств, на которые пользователи полагались при ежедневном использовании. Приятно видеть, что Wine 11.0 восполнил эти пробелы.
Множество улучшений GPU
Теперь поддерживается эксклюзивный полноэкранный режим, а обработка полноэкранного режима Direct3D улучшена. Если вы играете в игру, которая требует прямого управления режимами отображения, как это часто бывает в старых играх эпохи DirectX 9, они будут вести себя более предсказуемо.
Бэкэнд EGL Wine теперь является стандартным для рендеринга OpenGL в X11, заменив старый бэкэнд GLX. Хотя оба обрабатывают создание контекста OpenGL, EGL использует общий код с драйвером Wayland Wine, что означает, что исправления в одном из них приносят пользу другому.
Кроме того, Wine 11.0 поддерживает API Vulkan 1.4, дополнительные расширения Win32 и аппаратное декодирование H.264 через видео-API D3D11 с использованием Vulkan Video.
Приложения, которые используют современные графические API для воспроизведения видео (например, медиаплееры, потоковые приложения, игровые ролики), могут использовать декодирование GPU, а не загружать CPU. Это должно привести к общему улучшению производительности.
И это еще не все…
Wine 11.0 имеет новые изменения приоритета потоков в Linux и macOS, которые должны обеспечить более плавную работу многопоточных приложений и игр (отдельно от ntsync, упомянутого выше). В Linux может потребоваться настройка системного параметра nice limit, чтобы воспользоваться этим преимуществом — большинство дистрибутивов устанавливают консервативные значения по умолчанию.
Устройства ARM64 теперь могут имитировать размеры страниц 4K в системах с более крупными нативными страницами (16K или 64K), хотя разработчики Wine Project отмечают, что в настоящее время это ограничено более простыми приложениями — однако поддержка Wines ARM64 хорошо развивается.
Улучшенная поддержка SoundFont (SF2) должна означать, что старые игры, использующие MIDI для своих саундтреков, как это было во многих играх конца 90-х и начала 2000-х годов, должны иметь музыку, которая звучит заметно лучше — хотя, поскольку это MIDI, «заметно» — это, пожалуй, немного преувеличение!
Другие важные моменты в этом обновлении: новые инструменты командной строки (timeout и начальная версия runas); вкладка настроек игр для Windows в панели управления джойстиком; начальная поддержка объектов D3DKMT; и Mono 10.4.0 для усиления поддержки приложений .NET.
Поддержка силовой обратной связи обеспечивает улучшенную совместимость и производительность на гоночных рулях, джойстиках и других устройствах ввода, а также есть улучшения шейдерной модели, чтобы действительно старые игры DirectX выглядели немного лучше, чем раньше.
Еще несколько изменений, которые привлекли мое внимание:
- Улучшения поддержки изображений TIFF
- Улучшение поддержки символов Unicode 17.0.0
- Поддержка ping IPv6
- Сканирование TWAIN 2.0
- Поддержка Zip64 в службах упаковки
- Поддержка больших размеров страниц на ARM64
- Новый драйвер Bluetooth службы BLE
- Алгоритмы ECDSA_P521/ECDH_P521 в BCrypt
Кроме того, в этом выпуске содержится буквально сотни исправлений для конкретных игр: Nioh 2 – The Complete Edition, StarCraft 2, The Witcher 2, Wing Command Secret Ops, Call of Duty: Black Ops II, Final Fantasy XI и Battle.net.
В целом, Wine 11.0 — это результат года работы, включающий тысячи отдельных коммитов в серии Wine 10.x, выпускавшейся раз в две недели, и в релиз-кандидате. В этом выпуске есть гораздо больше, чем то, что я выделил выше.
Для получения полного обзора ознакомьтесь с официальным списком изменений Wine 11.0.
Получите Wine 11.0
Хотите попробовать новый релиз? Исходный код Wine 11.0 можно скачать с Gitlab Wine Project. Можно использовать Wine через приложение Bottles, используя официальные бинарные пакеты для всех основных дистрибутивов Linux.
Wine поддерживает собственный репозиторий Ubuntu для Ubuntu 22.04 LTS и выше, поэтому установить новые стабильные релизы Wine не составляет труда (хотя разработчикам нужно дать время на упаковку).




Комментарии (0)