Проєкт «Вино» розкрив, через публікацію, запуск Нова стабільна версія 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 на 64-розрядній Windows). На відміну від попередньої моделі, яка змушувала 32-розрядні програми запускатися на 32-розрядних процесах Unix, нова реалізаціяn дозволяє виконувати 32-бітний код у 64-бітних процесах. Це значно спрощує керування залежностями в дистрибутивах, які відмовляються від підтримки багатобібліотечних систем, оскільки модулі Windows можуть отримувати доступ до 64-розрядних бібліотек Unix через транслятори викликів (thunks). Крім того, було відновлено підтримку запуску застарілих 16-розрядних програм за цією новою схемою.
Графіка та Direct3D
У візуальному розділі Графічна підсистема зробила крок вперед, прийнявши EGL як серверну частину за замовчуванням для OpenGL. У середовищах X11, відведення GLX на другорядне місце.Інтеграція з Wayland також значно покращиласяВбудований драйвер winewayland.drv тепер підтримує розширені функції, такі як прозорість, непрямокутні вікна та повне керування буфером обміну, що дозволяє обходитися без XWayland у багатьох сценаріях.
Для гравців, Покращення в Direct3D є суттєвими, оскільки додано підтримку декодування відео H.264. Апаратне прискорення в Direct3D 11 за допомогою Vulkan. Крім того, бібліотека vkd3d-shader має покращену підтримку застарілих моделей шейдерів (Shader Model 1-3), що гарантує, що класичні ігри виглядають так само добре, як і сучасні. Також оптимізовано управління текстурами, реалізовано стиснення BC4/BC5 та автоматичну генерацію mipmap.
Пристрої та периферійні пристрої
Досвід користувача з периферійними пристроями був ще одним центром уваги з моменту Підтримка джойстиків та керма була покращена завдяки гідравлічному серверупокращення реакції Force Feedback. Що стосується 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, що дозволяє моделювати сторінки пам'яті розміром 4 КБ у ядрах, які використовують сторінки більшого розміру, тим самим розширюючи діапазон пристроїв, на яких Wine може стабільно працювати.
Якщо вам цікаво дізнатися більше про це, ви можете переглянути подробиці за адресою за наступним посиланням.