LINUX.ORG.RU

Wine 11.0

 


0

1

После года разработки и 25 экспериментальных версий представлен стабильный релиз открытой реализации Win32 API – Wine 11.0, который вобрал в себя более 6300 изменений и 600 исправлений ошибок. Из ключевых достижений в Wine 11.0 выделяется полная поддержка NTSYNC, механизм Reparse Point, задействование новой реализации архитектуры WoW64, новый бэкенд отрисовки на базе EGL, поддержка буфера обмена и методов ввода в окружениях на базе Wayland, улучшение поддержки Bluetooth и сканеров.

В Wine подтверждена полноценная работа 5419 программ для Windows (год назад 5372, два года назад 5336, три года назад 5266), ещё 4500 программ (год назад 4435, два года назад 4397, три года назад 4370) прекрасно работают при дополнительных настройках и внешних DLL. У 4086 программ (год назад 4020, два года назад 3943, три года назад 3888) наблюдаются небольшие проблемы в работе, которые не мешают использованию основных функций приложений.

Ключевые новшества Wine 11.0:

  • Обеспечена полная поддержка драйвера ntsync, позволяющего существенно поднять производительность Windows-игр, запускаемых при помощи Wine. Драйвер входит в состав ядра Linux начиная с выпуска 6.14 и реализует символьное устройство /dev/ntsync и набор примитивов для синхронизации, применяемых в ядре Windows NT. Значительный прирост производительности достигается благодаря избавлению от накладных расходов, связанных с применением RPC в пространстве пользователя.

  • Добавлена возможность настройки приоритетов потоков в Linux и macOS.

  • В ntdll добавлен API синхронизации «Synchronization barriers», позволяющий приостановить выполнение нескольких потоков до достижения определённой точки выполнения во всех потоках (например, дождаться пока все потоки достигнут определённой стадии при параллельном выполнении одного и тот же кода).

  • Переведена в разряд полностью поддерживаемых новая реализация прослойки WoW64 (64-bit Windows-on-Windows), позволяющая выполнять 32-разрядные Windows-приложения в 64-разрядных Unix-системах. В отличие от старой реализации, в которой 32-разрядные приложения запускались в 32-разрядных Unix-процессах, новый WoW64 обеспечивает запуск 32-разрядного кода внутри 64-разрядного процесса. Также появилась поддержка запуска 16-разрядных приложений в режиме WoW64.

    Во всех модулях, обращающихся к Unix-библиотекам, задействованы преобразователи системных вызовов WoW64 (thunk), позволяющие 32-разрядным модулям в формате PE обращаться к 64-разрядным Unix-библиотекам. Добавлена возможность запуска старых установок в новом режиме WoW64 через выставление переменной окружения «WINEARCH=wow64». 32-разрядные префиксы, создаваемые при выставлении «WINEARCH=win32», объявлены устаревшими и не поддерживаются в новом режиме WoW64. Удалён отдельный загрузчик wine64, вместо которого задействован универсальный загрузчик, определяющий режим по разрядности запускаемого файла.

  • Ядро (интерфейсы ядра Windows)

    • Реализован механизм Reparse Point, при помощи которого можно прикреплять к файлам и каталогам дополнительные данные, идентифицируемые через теги. Поддерживаются такие типы Reparse Point, как символические ссылки и точки монтирования.
    • Для повышения производительности отслеживания операций записи в память задействован механизм UFFD (userfaultfd), дающий возможность создавать обработчики обращений к невыделенным страницам памяти (page faults) в пространстве пользователя. В проведённых тестах применение UFFD позволило сократить время загрузки уровней в игре «Streets of Rage 4» с 6-8 секунд до 1.5-2 секунд, что соответствует показателям запуска на платформе Windows.
    • Задействованы номера системных вызовов NT, идентичные последним версиям Windows, что необходимо для поддержки приложений, в которых жёстко прописаны номера системных вызовов.
    • На системах ARM64 реализована возможность симуляции страниц памяти размером 4K в окружениях с ядрами Linux, использующими более крупные страницы памяти (16K или 64K). Симуляция позволяет запускать простые приложения, а для более сложных программ рекомендуется использовать ядра Linux с 4-килобайтовыми страницами памяти.
  • Графическая подсистема

    • На системах X11 (winex11) для OpenGL по умолчанию задействован бэкенд отрисовки, использующий EGL. Бэкенд GLX объявлен устаревшим, но пока остаётся доступен в качестве запасного и используется при отсутствии EGL.
    • Добавлена начальная поддержка объектов D3DKMT, предоставляющих низкоуровневый доступ к графическим устройствам из пространства пользователя. Реализованы Vulkan-расширения VK_KHR_external_memory_win32, VK_KHR_external_semaphore_win32, VK_KHR_external_fence_win32 и VK_KHR_win32_keyed_mutex.
    • В режиме WoW64 реализована поддержка маппинга памяти для OpenGL при помощи API Vulkan, позволяющего ускорить работу 32-битных OpenGL-приложений в Wine.
    • Реализована эмуляция буфера отображения (front buffer) для OpenGL на платформах без его встроенной поддержки.
    • В драйвер для графического API Vulkan добавлена поддержка спецификации Vulkan 1.4.335.
    • В наборе библиотек WindowsCodecs расширена поддержка метаданных в файлах с изображениями, а также реализована поддержка преобразования между целочисленными форматами представления цвета и форматами с плавающей запятой.
    • Убрана зависимость от библиотеки OSMesa (Off-screen Mesa). Реализована возможность отрисовки битовых карт через OpenGL с использованием аппаратного ускоренного OpenGL runtime.
  • Интеграция с рабочим столом

    • В драйвере winewayland.drv, позволяющем использовать Wine в окружениях на базе протокола Wayland без применения XWayland и компонентов X11, реализована поддержка буфера обмена, методов ввода, непрямоугольных окон и прозрачности.
    • Улучшена интеграция с X11: обеспечена отправка оконному менеджеру запросов активации окон и задействован протокол EWMH для согласования состояния активных окон X11 и Win32.
    • Реализована поддержка эксклюзивного полноэкранного режима. Улучшена поддержка полноэкранного режима в D3D и улучшена работа старых игр на базе DDraw.
    • Повышена производительность некоторых функций работы с окнами. Для взаимодействия между процессами задействована разделяемая память.
  • Direct3D

    • В Direct3D 11 добавлена поддержка аппаратного ускорения декодирования видео в формате H.264, реализованная при помощи графического API Vulkan.
    • В Direct3D 11 реализована поддержка minmax-фильтрации текстур, используя OpenGL-расширение GL_ARB_texture_filter_minmax или Vulkan-расширение VK_EXT_sampler_filter_minmax.
    • В Direct3D 11 реализованы функции загрузки текстур.
    • Реализована большая порция возможностей Direct3D при отрисовке через Vulkan, таких как смешивание вершин, плоское затенение, пользовательские плоскости отсечения и различные форматы ресурсов.
    • Во встроенной копии vkd3d-shader улучшена поддержка 1, 2 и 3 моделей шейдеров.
    • В методе D3DXSaveSurfaceToFileInMemory реализована поддержка изображений PNG, JPEG и BMP.
    • Direct3D 10 и 11 реализована поддержка сжатия и распаковки форматов BC4 и BC5, а также генерации MIP-уровней (MipMap) при загрузке текстур.
    • Реализованы методы ID3DXEffect::SetRawValue() и ID3DXSkinInfo::UpdateSkinnedMesh().
  • Устройства ввода

    • Улучшена совместимость с джойстиками, благодаря использованию бэкенда hidraw.
    • Улучшена поддержка эффекта виброотклика (Force feedback) при использовании игровых рулей и джойстиков.
    • Улучшена поддержка геймпадов в API Windows.Gaming.Input и при использовании бэкенда evdev.
    • В апплет управления игровыми контроллерами добавлена вкладка для настройки API Windows.Gaming.Input.
    • Повышена совместимость DirectInput со старыми играми.
  • Bluetooth

    • В драйвере для Bluetooth добавлена возможность сопряжения, сканирования и настройки обнаружения устройств.
    • Добавлена поддержка сервисов Bluetooth Low Energy GATT (Generic Attribute Profile), к которым можно обращаться через Win32 BLE API.
    • Приложениям предоставлена возможность создавать низкоуровневые RFCOMM-соединения c внешними устройствами, используя API Winsock.
  • Поддержка сканеров

    • Реализована поддержка API TWAIN 2.0, позволяющего обращаться к сканерами из 64-разрядных приложений.
    • Реализована поддержка компонента DAT_IMAGENATIVEXFER для передачи изображения из сканера в приложение.
    • Обеспечено сохранение в реестре выбранного сканера и настроек сканера.
    • Добавлена поддержка многостраничного сканирования и автоподатчи документов.
    • Прекращена блокировка приложения во время вызова интерфейса сканирования.
    • Добавлена поддержка загрузки родных Windows-драйверов к сканерам.
  • Мультимедиа

    • В библиотеке amstream (Multimedia Streaming) реализован собственный аллокатор потоков DirectDraw, позволяющий повысить эффективность буферизации при использовании фильтров.
    • В фильтрах DMO Wrapper (DirectX Media Object Wrapper) и AVI Decoder, а также в основанных на GStreamer распаковщиках медиаконтейнеров и трансформирующих фильтрах, реализована возможность динамического изменения формата.
    • В фильтры для распаковки медиаконтейнеров (demuxer), основанные на GStreamer, добавлена поддержка кодека Indeo 5.0.
    • В фильтре DirectSound Renderer обеспечена корректная обработка признаков конца потока (end-of-stream).
    • В фильтре ASF Reader добавлена поддержка смены позиции в потоке.
  • DirectMusic

    • Расширена поддержка формата SoundFont (SF2): добавлены возможности для разбора пресетов, инструментов и модуляторов, нормализации громкости инструментов, многослойной компоновки инструментов и повторного использования загруженных сэмплов для экономии потребления памяти.
    • В синтезаторе звуков реализована автоматическая настройка уровня громкости, решены проблемы с синхронизацией при воспроизведении треков, улучшена обработка событий с информацией о силе нажатия MIDI-клавиш.
    • Реализована поддержка варианта структуры Style Form, используемого в DirectX 7.
    • В загрузчике улучшено управление кэшированием.
    • Добавлена поддержка дополнительных метасобытий MIDI.
  • Mono / .NET / WinRT

    • Для запуска приложений, использующих Microsoft XNA Framework 4.0, задействована библиотека SDL3 и отрисовка через API SDL_GPU.
    • В реализацию WPF (Windows Presentation Framework) добавлен движок компоновки текста (text layout engine), поддерживающий API System.Windows.Documents.
    • В Windows Forms реализована поддержка тем оформления.
    • Добавлена начальная реализация класса для загрузки файлов с метаданными Windows Runtime (WinRT), сгенерированными компилятором widl (Wine Interface Definition Language).
    • Добавлена поддержка исключений WinRT.
  • Интернационализация

    • Обеспечена генерация БД локалей в формате locale.nls из БД Unicode CLDR (Unicode Common Locale Data Repository) версии 48. Добавлена поддержка дополнительных локалей bua-RU, bqi-IR, cop-EG, ht-HT, kek-GT, lzz-TR, mww-Hmnp-US, oka-CA, pi-Latn-GB, pms-IT, sgs-LT, suz-Deva-NP и suz-Sunu-NP.
    • Таблицы символов Unicode обновлены до версии стандарта 17.0.0. Обновлена база часовых поясов.
  • Сетевые возможности

    • В движке MSHTML в режиме соответствия стандартам обеспечена работа с атрибутами элементов как с полноценными узлами DOM. Реализованы объекты DOMParser, XDomainRequest и msCrypto.
    • В JavaScript добавлена поддержка типизированных массивов.
    • Для ICMPv6 реализована команда ping.
  • БД

    • В библиотеку MSADO (ActiveX Data Objects) добавлена поддержка записи изменений в БД. Реализовано большинство функций объекта Recordset.
    • В библиотеке odbc32 улучшена поддержка ANSI win32-драйверов, не рассчитанных на работу с Unicode. Реализованы функции SQLDriverConnectA(), SQLSpecialColumnsW(), SQLGetInfoW(), SQLGetInfoW(), SQLStatisticsW() и QLColumnsW().
  • Отладка

    • В DbgHelp переделан загрузчик PDB-файлов. Новая реализация поддерживает файлы, размером больше 4 ГБ, работает быстрее и потребляет меньше памяти.
    • Добавлен режим трассировки системных вызовов ядра NT, включаемый переменной окружения «WINEDEBUG=syscall». В отличие от режима «WINEDEBUG=relay» трассировка производится без влияния на выполнение приложений и не нарушая работу программ, перехватывающих обращения к системным вызовам.
    • Добавлена поддержка одновременной генерации отладочных данных в форматах DWARF и PDB.
  • Встроенные приложения

    • В WineCfg добавлена вкладка для настройки MIDI-устройства по умолчанию.
    • В утилите cmd реализовано автодополнение ввода имён файлов в интерактивном режиме работы, добавлена поддержка сложных инструкций и реализована команда «mklink /j» для создания Reparse Point.
    • В утилиту conhost (Console Hosting) добавлена поддержка получения истории нажатием клавиш F1 и F3.
    • Реализованы команды timeout, runas и subst.
    • В утилиту find добавлены опции «/c» для показа числа совпадений и /i для сопоставлений без учёта регистра.
    • В утилите whoami появилась возможность настройки формата вывода.
  • Разное

    • В реализации языка описания интерфейса WIDL (Wine Interface Definition Language) появилась поддержка генерации метаданных Windows Runtime (WinRT). Обеспечена генерация и установка файлов WinMD (Windows Metadata) для API WinRT (Windows Runtime).
    • В утилиту winedump добавлена поддержка дампа ресурсов MUI, номеров системных вызовов, встроенных NE-модулей и больших файлов PDB (> 4 ГБ).
    • Проведён рефакторинг реализации Common Control, библиотека COMCTL32 разделена на отдельные модули для версий 5 и 6.
    • В BCrypt добавлена поддержка стандарта формирования ключа PBKDF2
    • Добавлена поддержка каталогов UserProgramFiles, AccountPictures и Screenshots.
    • В состав интегрированы библиотеки LLVM Compiler-RT 8.0.1 и TomCrypt 1.18.2. Для определения CPU на платформе FreeBSD задействована библиотека HwLoc.
    • Обновлены до новых версий компоненты Vkd3d 1.18, Faudio 25.12, FluidSynth 2.4.2, LCMS2 2.17, LibMPG123 1.33.0, Libpng 1.6.51, LibTiff 4.7.1, LibXml2 2.12.10, LibXslt 1.1.43.

>>> Новость на OpenNET

★★★★★

Проверено: cetjs2 ()
Ответ на: комментарий от amd_amd

А, понял. Я сам сталкивался с подобной виндовс-only железкой. В этом случае работает виртуалка на оффтопике с проброшенным в нее usb. Что тоже извращение, но тогда у меня под рукой не было машины с виндой.

otto ★★★★
()
Ответ на: комментарий от slepoy_pew

Да, уже думаю собрать последнюю врерсию вручную, разобраться что у меня не так.

masa ★★★
()
Ответ на: комментарий от masa

Ок, согласен. Правда эта ссылка у меня не открылась, но я погуглил другие. И вот там за убунтой идут то арч, то минт, то сам дебиан. Иногда шапка. Поэтому в стандарте в виде гнома я всё равно сомневаюсь. Поглядите на скриншоты тут. Много ли там оного помимо прочего дефолта?

apt_install_lrzsz ★★★★
()

Вот бы они пошли в сторону починки GDI. В Proteus 8.16 гуй постоянно скачет и дёргается, а на панели выбора элементов иконки сливаются…

Tyse_EX
()
Ответ на: комментарий от apt_install_lrzsz

Тут очень специфичная публика, а те, у кого Убунту - просто работают на ней и лор не читают (из моего окружения). Им по барабану на все эти Гномьи войны.

masa ★★★
()
Ответ на: комментарий от slepoy_pew

В общем я провел эксперементы

  • Ubuntu 24.04
  • Gnome 46
  • winehq-stable 11.0.0.0~noble-1

Пробовал на инсталлере какого-то репака Казаков скачанном с торрентов.

  • Гном + вейланд: прога запускается, окно не показывается, есть только значок на панели - неюзабельно

  • Гном на x11: прога запускается, рисует заголовок и черный квадрат - неюзабельно

  • Опенбокс на x11: прога запускается, окно отрисовывается отлично и все работает

Та же самая история с гномом повторяется в дебиане на версии 48. При этом, если в вайне включить Virtual Desktop, то все редндерится отлично во всех трех случаях.

Итого, проблемы явно и в гноме и наверно в вейланде в целом с «нативной» отрисовкой окон.

masa ★★★
()
Ответ на: комментарий от apt_install_lrzsz

Ну наверно там плазма и арч или что-то пободное, но этим можно принебречь, так как малая часть людей будут использовать его как десктоп и тем более запускать вайн, потому что есть протон.

masa ★★★
()
Ответ на: комментарий от masa

Это я не к общей статистике пользователей, а к тому, что некая коммерческая контора, имея желание создать на базе линукса ОС для запуска виндовых приложений из-под доработанного wine и всё это продавать, почему-то выбрала не вездесущий стандартный гном.

apt_install_lrzsz ★★★★
()
Ответ на: комментарий от apt_install_lrzsz

Ну вроде они и на иксах еще сидят, на гноме или вейланде игры хуже идут, но я мало знаю про это.

К тому же как видно выше вайн для гнома не готов

masa ★★★
()
Последнее исправление: masa (всего исправлений: 2)
Ответ на: комментарий от masa

Интересно. У меня на Xfce были какие-то улучшения, помню. Не всё заработало, но проблем было меньше, чем на Гноме. В любом случае, это криворукость дебианщиков, потому что на Арч и Сусе у меня был Гном на Вэйлэнд и всё работало, как часы.

slepoy_pew
()
Ответ на: комментарий от slepoy_pew

Ну такое багнутое поведение не у всех программ, а только у специфичных. Какие-то другие вполне работают на гном + вейланд, встроенные winecfg и прочее рендерится ок.

masa ★★★
()
Ответ на: комментарий от masa

Полгаю, копать надо в сторону OpenGL/Vulkan, у меня проблемы были именно с прогами, активно использующими аппаратное ускорение. Что-то, что просто отрисовывало окошки, работало и в Дебиан.

slepoy_pew
()
Ответ на: комментарий от masa

А новички это те самые люи, которым вайн больше всего интересен при переходе с винды.

Гипотетический «новичек» сам - с чистым вайном не разберется от слова совсем.

DrRulez ★★★★★
()
Ответ на: комментарий от apt_install_lrzsz

Написано ж пять тыщ сразу работают, ещё четыре с половиной тыщи – пердодиться.

Ну «написано»-то да, но насколько я помню, там и с «платиновыми» приложухами как правило была куча звёздочек рядом со словом «работает»...

duott ★★★★★
()
Ответ на: комментарий от DrRulez

Гипотетический «новичек» сам - с чистым вайном не разберется от слова совсем.

А для новичка уже Габен постарался. Он просто в Стиме новый Proton включит и всё. Одной галкой.

SkyMaverick ★★★★★
()
Ответ на: комментарий от SkyMaverick

А для новичка уже Габен постарался. Он просто в Стиме новый Proton включит и всё.

Т.е. по твоему все новички в линуксе - сплошняком игруны? Ну Тогда ситуация с линукс-десктопом становится все более понятной :) Скоро будет банальной платформой для запуска игр для windows без windows, но с костылями :)

не я понимаю, играми еще как-то можно завлечь. по другому-то сложно…

DrRulez ★★★★★
()
Ответ на: комментарий от DrRulez

Т.е. по твоему все новички в линуксе - сплошняком игруны?

Смотрим даже на этот тред. Вопросы?

А тот, кому Вайн потребовался по работе, те уже не новички. Уж тем более, если у него возникли сложности, потому что простые утилы запускаются в подавляющем большинстве нормально.

Конкретно мне последний раз пришлось повозиться, чтобы BoardView запустить. В остальном или дефолтный профиль или Steam Proton.

SkyMaverick ★★★★★
()
Ответ на: комментарий от hobbit

Не знаю, о чём речь. Fallout 3 прекрасно запускается и работает с обычным wine-staging.

Grapow ★★★
()

хз у меня какой то PortProton для запуска такни леста, и там какой то dxvk и vulcan , работает быстрее чем на w11 и батарею жрёт меньше

endspiel
()

кто проверит, старкрафт первый заработал? откатился на 8-ой оттого, что в 10-ке не работал

lazyest
()
Ответ на: комментарий от lazyest

Ремастированный и так работал без нареканий.

Стоп, а зачем пользовать «оригинальный» в 2026 году?

hargard ★★★
()
Ответ на: комментарий от firkax

Какие ещё новые замки? Игре больше 25 лет.

А ты полюбопытствуй сходи, того стоит

pihter ★★★★★
()
Ответ на: комментарий от Obezyan

На 4K мониторе vcmi в принципе не запустить нормально

оО я конечно не пробовал, но это же окно произвольного размера, SDL – что значит не запустить?

Недавно, например, появился Кронверк, в vcmi его просто нет.

Оу… я думал оно в vcmi-само собой попадает. Есть же дополнение хоты. Хотя, если подумать, наверное разрабы vcmi его потом портируют…

pihter ★★★★★
()
Ответ на: комментарий от blackbuttons

Для всех игр в виндоус есть фиксы для запуска их в win10. Нужно просто немного погуглить

Зачем гуглить если в вайне работает? Да и в винду лезть не надо

pihter ★★★★★
()
Ответ на: комментарий от amd_amd

уже научили в rufus флехи записывать?

Лучше бы в винду dd завезли :) (хотя, наверняка есть)

pihter ★★★★★
()
Ответ на: комментарий от Loki13

Про десятку не знаю, но друг недавно страдал, что под 11 не идет симс(ему для племянницы нужно, а на новом компе не запускается). Говорит, что уже 10 сборок разных скачивал, форумы пересматривал, ничего не помогает.

Друг… Ему для племянницы… Мы же взрослые люди, все понимаем :)

pihter ★★★★★
()
Ответ на: комментарий от duott

И что, они вот прям реально работают? Или надо полдня пердолиться по гайду с winehq, и потом всё равно окажется, что у тебя то ли дистрибутив не тот, то ли ещё что?

Уже и не припомню когда в последний раз такое было: просто ставишь и работает, причем чуть ли не все: я уже сколько раз выручал знакомых с каким-нибудь экзотическим софтом

pihter ★★★★★
()
Ответ на: комментарий от apt_install_lrzsz

Тут на форуме много ли используют гном и убунту?

Кстати, а почему не бывает опросов таких? Я прям не помню

pihter ★★★★★
()
Ответ на: комментарий от hargard

www.linux.org.ru/polls/

Ух ты! Не знал про этот раздел! :)

Я имел в виду что не припомню опроса: «каким дистром пользуешься, регистрант?»

pihter ★★★★★
()
Ответ на: комментарий от pihter

оО я конечно не пробовал, но это же окно произвольного размера, SDL – что значит не запустить?

Ну будет все квадратами, как в это играть? HD+ мод на то и HD что увеличивать поле карты + имеет все текстуры/иконки перерисованные под HD.

Оу… я думал оно в vcmi-само собой попадает. Есть же дополнение хоты. Хотя, если подумать, наверное разрабы vcmi его потом портируют…

Сходил на сайт vcmi - про Кронверк в новостях тишина, его в этом году добавили.

Obezyan
()
Ответ на: комментарий от pihter

Друг… Ему для племянницы… Мы же взрослые люди, все понимаем :)

Я даже не придумывал. Правда там не племянница, а дочка жены, но как это по умному, я забыл, поэтому написал что племянница.

Если бы нужно было мне, я бы искал как запустить под линуксом, а не в богомерзской 11. Кстати, один из моих советов был ему, поставить линукс и под вайном скорее всего заработает всё.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.