URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 117056
[ Назад ]

Исходное сообщение
"В Wine Staging добавлены патчи для повышения производительно..."

Отправлено opennews , 07-Апр-19 23:50 
В ветку Wine Staging (https://github.com/wine-staging/wine-staging/), включающую не полностью готовые или рискованные изменения, пока не пригодные для принятия в основную ветку Wine, добавлен (https://bugs.winehq.org/show_bug.cgi?id=36692#c15)  набор патчей "esync (https://github.com/wine-staging/wine-staging/tree/master/pat...)" (Eventfd Synchronization), позволяющих добиться увеличения производительности многопоточных Windows игр и приложений. Патчи были подготовлены ещё летом прошлого года, но включены (https://github.com/wine-staging/wine-staging/commit/553986fd...) в репозиторий только сейчас. По умолчанию esync отключен и для его активации следует установить переменную окружения WINEESYNC в значение, отличное от нуля.

Использование сборки Wine с поддержкой esync значительно снижает нагрузку на CPU в некоторых играх и позволяет добиться увеличения производительности за счёт рационального использования ресурсов многоядерных CPU и эффективного распределения процессов по ядрам CPU.
Esync предлагает примитивы синхронизации, реализованные поверх Linux API eventfd (http://man7.org/linux/man-pages/man2/eventfd.2.html), который в отличие от  futexes и семафоров pthread, позволяет опросить состояние сразу нескольких объектов синхронизации.

Целью проекта является (https://github.com/zfigura/wine/blob/esync/README.esync) организация выполнения всех операций синхронизации в "пользовательском пространстве", без привлечения wineserver. При использовании esync почти все операции ожидания события выполняются на стороне ntdll, включая привязанные к объектам сервера. Сервер лишь создаёт файловый дескриптор eventfd и возвращает его в ntdll, а ntdll создаёт необходимый объект синхронизации и кэширует его.

  


Так как esync создаёт отдельный файловый дескриптор для каждого объекта, то при запуске некоторых игр может быть превышен системный лимит на число открытых файлов. В случае вывода ошибки "eventfd: Too many open files" следует увеличиться число открытых файлов через изменение настройки "nofile" в /etc/security/limits.conf,  /etc/systemd/system.conf или /etc/systemd/user.conf или при помощи команды "ulimit -Hn 1048576".

URL: https://vk.com/multi_linux_community?w=wall-114916478_348287
Новость: https://www.opennet.me/opennews/art.shtml?num=50475


Содержание

Сообщения в этом обсуждении
"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Skullnet , 07-Апр-19 23:50 
Долго пересобирать, будет в официальном ppa?

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 07-Апр-19 23:56 
Будет, начиная с Wine Staging 4.6.

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Skullnet , 08-Апр-19 01:58 
> Будет, начиная с Wine Staging 4.6.

Тогда, возможно, и соберу. Жаль нету автоматической сборки.


"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 08-Апр-19 10:58 
Вот здесь есть PKGBUILD для Arch Linux с Wine Staging (git) :

https://github.com/Tk-Glitch/PKGBUILDS


"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Skullnet , 08-Апр-19 12:19 
Я имею ввиду универсальную систему сборки, которая соберет текущую вертку и выплюнет .tar.bz2 с бинарником.

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 08-Апр-19 13:38 
PKGBUILD соберёт и выплюнет сразу пакет, но не в архиве. В чём разница?

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 08-Апр-19 00:57 
Это хорошо. А то я думал, как бы грамотнее его "впилить" в openSUSE. У нас и так уже wine, wine-staging, wine-nine и wine-staging-nine. В Staging это добавлять, или отдельный wine-staging-esync-nine? Теперь всё норм )

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено axredneck , 08-Апр-19 01:56 
Nine можно и отдельным пакетом сделать:
https://github.com/iXit/wine-nine-standalone

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено J.L. , 10-Апр-19 15:44 
> Nine можно и отдельным пакетом сделать:
> https://github.com/iXit/wine-nine-standalone

а в winetricks такое не запилят? (не проверял)
я посмотрел - там d3d9-nine.dll + ninewinecfg.exe
> $ protontricks <APPID> galliumnine


"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено J.L. , 11-Апр-19 09:23 
>> Nine можно и отдельным пакетом сделать:
>> https://github.com/iXit/wine-nine-standalone
> а в winetricks такое не запилят? (не проверял)
> я посмотрел - там d3d9-nine.dll + ninewinecfg.exe
>> $ protontricks <APPID> galliumnine

судя по этому - нужна версия winetricks посвежее чем в 18.10 убунте
https://github.com/Winetricks/winetricks
> w_metadata galliumnine03 dlls \
>     title="Gallium Nine Standalone (v0.3)" \


"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено J.L. , 12-Апр-19 12:08 
> судя по этому - нужна версия winetricks посвежее чем в 18.10 убунте
> https://github.com/Winetricks/winetricks
>> w_metadata galliumnine03 dlls \
>>     title="Gallium Nine Standalone (v0.3)" \

у меня в итоге автоматом не установилось
с вебархива пыталось скачать, но вебархив говорил что нет такого файла, скачал руками с гитхаба релизник галиумнайна, назвал как ему хотелось
после пыталось скачать в файл с ".../http/://..." в имени (что преобразуется в кучу папок) - создал файл подобрав имена папок под эту ересь - опять скачал тот же с гитхаба релизник галиумнайна и сохранил под этим именем (не понял зачем второй раз)
после осилило установить

игорь жив, зелёная строчка галиумнайна в логе присутствует, вайн4.5, убунта18.10

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


"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 08-Апр-19 06:24 
Вайн в последнее время развивается просто ударными темпами. Кто-то подкинул денег из корпораций?

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено пох , 08-Апр-19 07:03 
больше полугода на мерж готового патча без изменений и исправлений, и то в staging и в отключенном виде - это "ударными темпами"?

хотя для wine... да, пожалуй.


"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 08-Апр-19 10:53 
не мержат потому что кривоват by-design: https://github.com/zfigura/wine/issues/18

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено пох , 08-Апр-19 11:28 
"а что у нас - прямое?"(c)верблюд

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 08-Апр-19 13:17 
А кто такой zfigura?

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Андрей , 08-Апр-19 23:10 
Zebediah Figura. Без малого 4 года коммитит в Wine.

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 09-Апр-19 10:02 
Zebediah Figura - это один из двух мейнтейнеров Wine Staging.

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 08-Апр-19 08:23 
Proton же. Там esync с первого выпуска https://www.opennet.me/opennews/art.shtml?num=49164

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 08-Апр-19 10:39 
Сам Вайн не особо развивается. Тащат наработки Протона, хотя по тупой причине некоторые пилят сами(аналог DXVK).

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноньчек , 08-Апр-19 14:31 
Valve платит за банкет. Наняли на постоянную работу ребят из CodeWeavers, как минимум одного из них.

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 08-Апр-19 09:07 
>По умолчанию esync отключен и для его активации следует установить переменную окружения WINEESYNC в значение, отличное от нуля.

А что не в winecfg?


"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 08-Апр-19 10:51 
Нет, в winecfg нет возможности это включить. Не исключено, что такая возможность появится когда-либо в будущем, но пока что не сейчас...

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 08-Апр-19 11:44 
> Так как esync создаёт отдельный файловый дескриптор для каждого объекта

много я в жизни костылей видел, но чтобы такое...


"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 08-Апр-19 11:52 
Решение радует ещё больше: мы придумали ввести никому не нужное ограничение на число дескрипторов и написали код, который плодит их триллиардами. Если у вас ошибка, вспомните об этом и увеличьте число дескрипторов. Самая важная информация которую нужно помнить...

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Лёня , 08-Апр-19 15:27 
Можно запихнуть в systemd-unit ваши лимиты.

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Forth , 22-Мрт-20 10:30 
Другого механизма нет.
Если треду надо ожидать ввод-вывод, например на вызове epoll, то побудить его можно только иными костылями (сигналами допустим).

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено commiethebeastie , 08-Апр-19 14:20 
Даешь производительность выше венды

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 08-Апр-19 15:13 
Народ, в PlayOnLinux надо [будет] какие-то дополнительные манипуляции делать? Ну, само собой, кроме скачивания 4.6+_staging через их интерфейс. Лезть в конфигурацию Wine и прописывать или там оно уже обычно само? Подскажите, если знаете.

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Kron4ek , 08-Апр-19 15:45 
Нужно будет прописать переменную WINEESYNC=1 для включения ESYNC, так как он по умолчанию выключен.

Может со временем сделают отдельную галку для включения ESYNC, как сделано в Lutris (https://bit.ly/2uTuHwM).


"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 08-Апр-19 18:50 
Спасибо.

"В Wine Staging добавлены патчи для повышения производительно..."
Отправлено Аноним , 27-Фев-25 23:25 
Какой же всё же никс конченный! ну вот почему для нормальной производительности пользователь вообще должен слышать и т.б.знать и копаться - такие термины как тут. И даже просто не неменее а даже более тупейшие вроде DRM который на самом деле никакой не DRM...