Wine 11.0: NTSYNC, оновлений WoW64 та вбудована підтримка Wayland

Ключові моменти:
  • Повна підтримка контролера NT SYNC, що покращує ігрову продуктивність.
  • Нова архітектура WoW64 для запуску 32-бітних програм у 64-бітних процесах.
  • Стандартний бекенд EGL для OpenGL та покращення драйвера Wayland.
  • Апаратно-прискорене декодування відео H.264 в Direct3D 11.
  • Реалізація TWAIN 2.0 для 64-бітних сканерів та Bluetooth LE.

вино

Проєкт Wine оголосив про випуск нової стабільної версії Wine 11.0 у прес-релізі, що ознаменує кульмінацію року інтенсивної розробки, яка призвела до понад 6300 змін та 600 виправлень помилок. Цей реліз не лише розширює сумісність з екосистемою програмного забезпечення Windows, але й впроваджує глибокі структурні зміни, такі як повна підтримка драйвера NTSYNC та оновлена ​​архітектура WoW64, які обіцяють революціонізувати продуктивність ігор та програм на системах Unix.

Згідно з останньою статистикою проекту, понад 5400 програм Windows функціонують коректно , а ще 4500 працюють бездоганно з незначними налаштуваннями або зовнішніми бібліотеками. Це відображає стале зростання надійності програмного забезпечення з поступовим зменшенням кількості програм, що мають критичні недоліки.

Основні новини Wine 11.0

Перлиною Wine 11.0 є інтеграція драйвера NTSYNC. Цей компонент, доступний у ядрі Linux з версії 6.14, реалізує нативні примітиви синхронізації Windows NT безпосередньо в ядро ​​Linux . Усуваючи накладні витрати на виклики віддалених процедур (RPC) у просторі користувача, він досягає значного покращення продуктивності сучасних відеоігор, зменшуючи затримку та збільшуючи частоту кадрів.

Паралельно було завершено розробку нової архітектури WoW64 (Windows на Windows 64-bit) . На відміну від попередньої моделі, яка змушувала 32-розрядні програми запускатися в 32-розрядних процесах Unix, нова реалізація дозволяє виконувати 32-розрядний код у 64-розрядних процесах. Це значно спрощує керування залежностями в дистрибутивах, які відмовляються від підтримки багатобібліотечності, оскільки модулі Windows можуть отримувати доступ до 64-розрядних бібліотек Unix за допомогою трансляторів викликів (thunks). Крім того, було відновлено підтримку запуску застарілих 16-розрядних програм за цією новою схемою.

Графіка та Direct3D

Що стосується візуальних елементів, графічна підсистема зробила крок вперед, прийнявши EGL як серверну частину за замовчуванням для OpenGL у середовищах X11, відвівши GLX другорядну роль. Інтеграція з Wayland також значно покращилася ; власний драйвер winewayland.drv тепер підтримує розширені функції, такі як прозорість, непрямокутні вікна та повне керування буфером обміну, що дозволяє обійтися без XWayland у багатьох сценаріях.

Для геймерів покращення в Direct3D є суттєвими, оскільки в Direct3D 11 за допомогою Vulkan було додано підтримку апаратно-прискореного декодування відео H.264. Крім того, бібліотека vkd3d-shader покращила підтримку старих моделей шейдерів (Shader Model 1-3), що гарантує, що класичні ігри виглядають так само добре, як і сучасні. Також було оптимізовано управління текстурами, реалізовано стиснення BC4/BC5 та автоматичну генерацію mipmap.

Пристрої та периферійні пристрої

Ще одним пріоритетом став користувацький досвід роботи з периферійними пристроями, покращена підтримка джойстика та керма завдяки бекенду hidraw , що покращує реакцію зворотного зв'язку щодо сили. Що стосується Bluetooth, то тепер можна сканувати та сполучати пристрої безпосередньо з Wine, включаючи підтримку Bluetooth Low Energy (BLE) та низькорівневих з'єднань RFCOMM.

У сфері продуктивності підтримка сканерів значно покращилася завдяки впровадженню API TWAIN 2.0 для 64-розрядних програм. Це дозволяє використовувати розширені функції, такі як багатосторінкове сканування та використання автоматичних подавачів документів, а також вирішує проблеми збоїв, які раніше виникали під час виклику інтерфейсу сканування.

Ядро та файлова система

На системному рівні Wine 11.0 запроваджує механізм точок повторного розбору, який дозволяє приєднувати метадані до файлів і каталогів, що полегшує сумісність із символічними посиланнями в стилі Windows. Крім того, управління пам'яттю було оптимізовано за допомогою Userfaultfd (UFFD) – методу, який обробляє помилки сторінок у просторі користувача. Внутрішні тести показують, що це покращення зменшує час завантаження у вимогливих іграх, таких як "Streets of Rage 4", з 8 секунд до менш ніж 2, що відповідає продуктивності Windows.

Нарешті, покращено сумісність з платформами ARM64 , що дозволяє моделювати сторінки пам'яті розміром 4K на ядрах, які використовують сторінки більшого розміру, тим самим розширюючи діапазон пристроїв, на яких Wine може працювати стабільно.

Якщо ви зацікавлені дізнатися більше, ви можете знайти деталі за наступним посиланням.


Додати як пріоритетне джерело в Google