После года разработки и 25 экспериментальных версий представлен стабильный релиз открытой реализации Win32 API - Wine 11.0, который вобрал в себя более 6300 изменений и 600 исправлений ошибок. Из ключевых достижений в новой версии выделяется полная поддержка NTSYNC, реализация механизма Reparse Point и задействование новой реализации архитектуры WoW64...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64604
Так в итоге, сколько накладных расходов на эмуляцию уходит?
А кто-то считал вообще? Ntsync вот очень помогает тем же играм, которые или зависают с fsync\esync, или съедают весь процессор. Очень часто работает быстрее виндов просто потому что весь линукс стек намного оптимальнее всяких одиннадцаток - тесты легко найти на том же ниразунезамедлённом.
Это какие? Я знаю, некоторые юнити игры подлагивают с STAGING_SHARED_MEMORY=1.
Days gone.
Это ж не эмулятор, а реализация вантузной апишки. Накладных расходов -- ноль, или даже негативное значение. Да! Потому как было замечено, что wine на вантузе (да!) может давать прирост производительности, чем если запускать игоры обычным двойным кликом мыши по ЯРЛЫКУ программы.
> Накладных расходов -- ноль, или даже негативное значение. Да!То-то на некоторых игорях запущенных под wine куллер начинает шуметь в отличие от нативных.
То-то экзешник запускается несколько секунд вместо мгновенно.
Меньше чем у форточки на существование.
Давно уже.Если что-то работает медленнее, то только потому что какую-то фичу не доделали.
>Wine 11.0, который вобрал в себя более 6300 изменений и 600 исправлений ошибок.Отлично, в этом году много интересных релизов намечено:
https://store.steampowered.com/app/1853440/Tropico_7/
https://store.steampowered.com/app/3512480/Drownlight/
Гта 6 и резик вот что интересно.
ГТА выйдет сначала на консолях, а на ПК может быть через год-два.
Ждём стабильный релиз проекта Loss32
> В отличие от старой реализации WoW64, в которой 32-разрядные приложения запускались в 32-разрядных Unix-процессах, новый WoW64 обеспечивает запуск 32-разрядного кода внутри 64-разрядного процесса.
> Во всех модулях, обращающихся к Unix-библиотекам, задействованы преобразователи системных вызовов WoW64 (thunk), позволяющие 32-разрядным модулям в формате PE обращаться к 64-разрядным Unix-библиотекам. [...] 32-разрядные префиксы, создаваемые при выставлении WINEARCH=win32, объявлены устаревшими и не поддерживаются в новом режиме WoW64. Удалён отдельный загрузчик wine64, вместо которого задействован универсальный загрузчик, определяющий режим по разрядности запускаемого файла.Я правильно понимаю, что теперь для запуска 32-разрядных приложений на 64-разоядном хосте теперь не нужен multilib?
Да, вы правы, multilib не нужен если Wine собран с включённой поддержкой WoW64.
У меня winecfg почему-то не стартует.002c:fixme:winediag:loader_init wine-staging 11.0-rc5 is a testing version containing experimental patches.
002c:fixme:winediag:loader_init Please mention your exact version when filing bug reports on winehq.org.
003c:err:service:process_send_start_message service L"PlugPlay" failed to start
003c:fixme:service:scmdatabase_autostart_services Auto-start service L"PlugPlay" failed to start: 1053
0054:err:sync:RtlpWaitForCriticalSection section 00006FFFFFC67440 "dlls/ntdll/loader.c: loader_section" wait timed out in thread 0054, blocked by 0064, retrying (60 sec)
003c:err:service:process_send_command receiving command result timed out
003c:fixme:service:scmdatabase_autostart_services Auto-start service L"nsiproxy" failed to start: 1053
003c:err:service:process_send_command receiving command result timed out
003c:fixme:service:scmdatabase_autostart_services Auto-start service L"NDIS" failed to start: 1053
003c:err:service:process_send_start_message service L"Winedevice2" failed to start
003c:fixme:service:scmdatabase_autostart_services Auto-start service L"winebus" failed to start: 1053
0054:err:sync:RtlpWaitForCriticalSection section 00006FFFFFC67440 "dlls/ntdll/loader.c: loader_section" wait timed out in thread 0054, blocked by 0064, retrying (60 sec)
0054:err:sync:RtlpWaitForCriticalSection section 00006FFFFFC67440 "dlls/ntdll/loader.c: loader_section" wait timed out in thread 0054, blocked by 0064, retrying (60 sec)и т.д.
regedit стартует.