The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"В Wine Staging добавлены патчи для повышения производительно..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"В 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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Skullnetemail (?), 07-Апр-19, 23:50   +2 +/
Долго пересобирать, будет в официальном ppa?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2

2. Сообщение от Аноним (2), 07-Апр-19, 23:56   +4 +/
Будет, начиная с Wine Staging 4.6.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #5

3. Сообщение от Аноним (3), 08-Апр-19, 00:57   +3 +/
Это хорошо. А то я думал, как бы грамотнее его "впилить" в openSUSE. У нас и так уже wine, wine-staging, wine-nine и wine-staging-nine. В Staging это добавлять, или отдельный wine-staging-esync-nine? Теперь всё норм )
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4

4. Сообщение от axredneck (?), 08-Апр-19, 01:56   +5 +/
Nine можно и отдельным пакетом сделать:
https://github.com/iXit/wine-nine-standalone
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #35

5. Сообщение от Skullnetemail (?), 08-Апр-19, 01:58   +/
> Будет, начиная с Wine Staging 4.6.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #14

7. Сообщение от Аноним (7), 08-Апр-19, 06:24   +/
Вайн в последнее время развивается просто ударными темпами. Кто-то подкинул денег из корпораций?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #8, #9, #11, #25

8. Сообщение от пох (?), 08-Апр-19, 07:03   +1 +/
больше полугода на мерж готового патча без изменений и исправлений, и то в staging и в отключенном виде - это "ударными темпами"?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #13

9. Сообщение от Аноним (9), 08-Апр-19, 08:23   +3 +/
Proton же. Там esync с первого выпуска https://www.opennet.me/opennews/art.shtml?num=49164
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

10. Сообщение от Аноним (10), 08-Апр-19, 09:07   +/
>По умолчанию esync отключен и для его активации следует установить переменную окружения WINEESYNC в значение, отличное от нуля.

А что не в winecfg?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #12

11. Сообщение от Аноним (11), 08-Апр-19, 10:39   –1 +/
Сам Вайн не особо развивается. Тащат наработки Протона, хотя по тупой причине некоторые пилят сами(аналог DXVK).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

12. Сообщение от Аноним (2), 08-Апр-19, 10:51   +/
Нет, в winecfg нет возможности это включить. Не исключено, что такая возможность появится когда-либо в будущем, но пока что не сейчас...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

13. Сообщение от Аноним (13), 08-Апр-19, 10:53   +/
не мержат потому что кривоват by-design: https://github.com/zfigura/wine/issues/18
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #15, #21

14. Сообщение от Аноним (2), 08-Апр-19, 10:58   +/
Вот здесь есть PKGBUILD для Arch Linux с Wine Staging (git) :

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #18

15. Сообщение от пох (?), 08-Апр-19, 11:28   +/
"а что у нас - прямое?"(c)верблюд
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

16. Сообщение от Аноним (16), 08-Апр-19, 11:44   +1 +/
> Так как esync создаёт отдельный файловый дескриптор для каждого объекта

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17, #28, #38

17. Сообщение от Аноним (17), 08-Апр-19, 11:52   –3 +/
Решение радует ещё больше: мы придумали ввести никому не нужное ограничение на число дескрипторов и написали код, который плодит их триллиардами. Если у вас ошибка, вспомните об этом и увеличьте число дескрипторов. Самая важная информация которую нужно помнить...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

18. Сообщение от Skullnetemail (?), 08-Апр-19, 12:19   +/
Я имею ввиду универсальную систему сборки, которая соберет текущую вертку и выплюнет .tar.bz2 с бинарником.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #23

21. Сообщение от Аноним (21), 08-Апр-19, 13:17   +/
А кто такой zfigura?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #32, #34

23. Сообщение от Аноним (2), 08-Апр-19, 13:38   +/
PKGBUILD соберёт и выплюнет сразу пакет, но не в архиве. В чём разница?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

24. Сообщение от commiethebeastie (ok), 08-Апр-19, 14:20   +/
Даешь производительность выше венды
Ответить | Правка | Наверх | Cообщить модератору

25. Сообщение от Аноньчек (?), 08-Апр-19, 14:31   +/
Valve платит за банкет. Наняли на постоянную работу ребят из CodeWeavers, как минимум одного из них.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

26. Сообщение от Аноним (26), 08-Апр-19, 15:13   +/
Народ, в PlayOnLinux надо [будет] какие-то дополнительные манипуляции делать? Ну, само собой, кроме скачивания 4.6+_staging через их интерфейс. Лезть в конфигурацию Wine и прописывать или там оно уже обычно само? Подскажите, если знаете.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #29

28. Сообщение от Лёня (?), 08-Апр-19, 15:27   +1 +/
Можно запихнуть в systemd-unit ваши лимиты.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

29. Сообщение от Kron4ek (ok), 08-Апр-19, 15:45   +1 +/
Нужно будет прописать переменную WINEESYNC=1 для включения ESYNC, так как он по умолчанию выключен.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #31

31. Сообщение от Аноним (26), 08-Апр-19, 18:50   +/
Спасибо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

32. Сообщение от Андрей (??), 08-Апр-19, 23:10   +/
Zebediah Figura. Без малого 4 года коммитит в Wine.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

34. Сообщение от Аноним (2), 09-Апр-19, 10:02   +/
Zebediah Figura - это один из двух мейнтейнеров Wine Staging.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

35. Сообщение от J.L. (?), 10-Апр-19, 15:44   +/
> Nine можно и отдельным пакетом сделать:
> https://github.com/iXit/wine-nine-standalone

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #36

36. Сообщение от J.L.email (?), 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)" \

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #37

37. Сообщение от 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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

38. Сообщение от Forthemail (ok), 22-Мрт-20, 10:30   +/
Другого механизма нет.
Если треду надо ожидать ввод-вывод, например на вызове epoll, то побудить его можно только иными костылями (сигналами допустим).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

39. Сообщение от Аноним (39), 27-Фев-25, 23:25    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру