LINUX.ORG.RU

Готовые сборки Wine

 


13

5

Не так давно я начал компилировать Wine для себя. Решил поделиться с другими, к тому же автор другой подобной темы перестал обновлять сборки.

Доступные сборки:

  • Improved / ESYNC - сборки с патчами Esync и Staging, а также некоторыми дополнительными патчами из репозитория TkG. ESYNC снижает нагрузку на процессор в играх.
  • PBA - сборки с патчами PBA. Эти патчи направлены на повышение производительности в Direct3D играх. Эти сборки также содержат все патчи из ESYNC сборок и находятся в том же каталоге.
  • Proton - сборки, собранные из исходников с репозитория ValveSoftware. По сути, это тот же Proton из Steam, только не требующий Steam Runtime для работы.
  • Staging - сборки с примененным Staging патчсетом. Содержат большое количество патчей, которых нет в обычном Wine.
  • Vanilla - обычный Wine из исходников с WineHQ, без каких-либо дополнительных патчей. В том числе есть Stable версии (2.0.x, 3.0.x, 4.0.x и т.д.).

Доступные архитектуры:

  • amd64 - для 64-битных систем. Можно запускать и 64-битные, и 32-битные приложения.
  • amd64-nomultilib - для 64-битных систем. Можно запускать только 64-битные приложения. 32-битные зависимости не требуются.
  • x86 - для 32-битных систем. Можно запускать только 32-битные приложения.

ESYNC добавлен в Wine-Staging начиная с версии 4.6.

ESYNC по умолчанию выключен, включить его можно с помощью переменной WINEESYNC=1. Также нужно поднять лимит (soft и hard) на файловые дескрипторы (nofile), иначе многие игры будут падать с ошибкой. Подробнее о том, как поднять лимит на nofile, можно прочитать здесь.

Wine (обычный, не Staging), начиная с версии 4.3, использует FAudio (свободная реализация XAudio). Proton, начиная с версии 3.16-5, тоже использует FAudio. Поэтому нужно установить FAudio в систему, иначе многие игры не запустятся или в них не будет звука.

Для работы сборок нужен как минимум GLIBC 2.23. Скрипт, которым я компилирую Wine, а также актуальная информация о сборках (опции компилирования, применяемые патчи и прочее), доступны на GitHub. Обновляю по мере возможности.

Как использовать эти сборки? Просто распакуйте в домашний каталог (или в /opt) и указывайте путь до бинарника wine при запуске приложений. Например:

/home/user/wine-4.0-amd64/bin/wine someapp.exe
Конечно, в системе должны быть установлены необходимые зависимости, иначе Wine не будет работать или не сможет запустить многие игры/программы. Особенно обратите внимание на libpng12.

Ссылки на скачивание:

★★★

Ты меня конечно извини за критику, но как-то стрёмно бинарники с yd качать. Не лучше ли как-то на гитхабе это релизами организовывать?

ZERG ★★★★ ()

Выкладывать бинари на файлообмениик? Извини, но это дно. Здесь не рутрекер вроде как.

Автор предыдущей темы хотя бы используемые для сборки скрипты выкладывает - мог быть хоть в этом с него пример взять.

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

Я так и хотел изначально, и чтобы по прямым ссылкам качать можно было. Но оказалось, что на GitHub'е лимит на размер загружаемых файлов - 20 Мб или около того.

Kron4ek ★★★ ()

Если вы используете Debian

Накостылял себе пакет, который поможет интегрировать сторонний вайн в систему.

Выпиливаем все установленные пакеты с вайном, ставим этот:

[FileName:winehq-1.0-1_all.deb|Size: 0.00 Mb] http://tlgrm.rxtx.us/media/34fc4392e625163736ed1c66de71e7a413fd9b172f571d180b...

Бинарную сборку кладём в /opt/winehq.

NB! У пакета не указаны зависимости, всё придётся ставить вручную.
Мало ли, вдруг кому пригодится.

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

Выкладывать бинари на файлообмениик?

А какие есть варианты помимо оплачивания VPS до скончания времен?

Извини, но это дно.

Дно или не дно, но пока что файлообменники - единственное решение, не высасывающее деньги. Ну или я просто чего-то не знаю.

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

Я слабо себе представляю, какую могут иметь полезность сборки вайна имени одного васяна. Для тех, кто сам вайн собрать не может? Хотелось бы верить, что на ЛОРе таких нет.

Хоть бы скрипты, которыми собираешь, на гитхаб выложил.

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

Для тех, кто сам вайн собрать не может?

Ну, не то, что не может. Скорее для тех, кому лень этим заниматься. В общем-то, скачивания есть, значит это кому-то нужно.

Хоть бы скрипты, которыми собираешь, на гитхаб выложил.

Там ужасный в эстетическом плане скрипт, который публике вряд ли будет полезен. А вот опции компилирования и применяемые патчи указаны в файле build_info.txt.

Kron4ek ★★★ ()

Оказывается, на GitHub лимит на размер загружаемого файла (релиза) - 100 Мб, а 25 Мб это лимит на загрузку файла непосредственно в репозиторий через браузер. Ну и ограничение на размер репозитория - 1 Гб.

Добавил ссылку на GitHub в пост. На GitHub всегда будет доступно не больше 4 последних релизов из-за вышеупомянутого ограничения на размер репозитория. Также я добавил на GitHub скрипт, которым я компилирую сборки.

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

Оказывается, на GitHub лимит на размер загружаемого файла (релиза) - 100 Мб

Если ты имееш ввиду «assets» к релизам, то вот к примеру релиз с asset'ом размером в 545 Мб
>>> https://github.com/probonopd/stk-code/releases/tag/continuous

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

то вот к примеру релиз с asset'ом размером в 545 Мб

Да, я assets имел ввиду. Хорошо, главное что не меньше 50 Мб.

Тут вот probonopd что-то интерестное делает

Действительно интересно. Запихнуть Wine в AppImage с полной отвязкой от системы, и чтобы он полноценно работал - это та еще проблема. По крайней мере, когда я пытался его отвязать от системного glibc, он у меня сегфолтился.

Kron4ek ★★★ ()

Собрал Proton 3.16-6, на этот раз с FAudio (3.16-5 был собран без него и во многих играх не было звука). Пришлось собрать на Ubuntu 18.04 из-за некоторых проблем со сборкой на 16.04, но следующий релиз Proton попробую собрать на 16.04.

Для работы FAudio в Proton в системе должны быть установлены, собственно, FAudio (который, кстати, очень просто компилируется) и SDL2 версии 2.0.9 или новее.

Kron4ek ★★★ ()

Спасибо тебе за билды, очень круто! Пользуюсь с тех пор как lutris в сентябре 2018 г. перестал выкладывать в открытый доступ свои сборки. Самому лень собирать )

necrus ★★★ ()

Новые Esync сборки (начиная с 4.0-rc7) теперь включают в себя дополнительно GLSL toggle, LARGE_ADDRESS_AWARE, FS_bypass_compositor и Fullscreen Hack патчи. Проблем с ними вроде как не должно возникать, но если будут - пишите.

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

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

p.s. да, я ленивая жопа

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

класс. а можеш буквально в двух словах про первые три сказать?

Конечно. GLSL_toggle добавляет чекбокс для включения/выключения GLSL, отключение GLSL повышает производительность в некоторых играх. На WineHQ сказано, что это вроде как работает только на Nvidia с проприетарными дровами. GLSL можно было и раньше отключить через реестр параметром UseGLSL, теперь это можно сделать и через winecfg.

LARGE_ADDRESS_AWARE, насколько я понимаю, позволяет решить проблему переполнения памяти в 32-битных играх. Ну вот, например, Anno 1404 крашилась через некоторое время игры из-за нехватки памяти (видимо, достигала 32-битного порога в 4 Гб памяти). Этот патч (опять же, насколько я понимаю) должен решать пободные проблемы. Включается переменной WINE_LARGE_ADDRESS_AWARE=1.

FS_bypass_compositor обходит композитор в играх, когда используется полноэкранный режим. Я полагаю, это в основном полезно для оконных менджеров, которые не умеют автоматически отключать композитинг в полноэкранных окнах. KWin из Plasma, например, умеет так делать (если включено в настройках), а вот xfwm4 из Xfce - нет. Играть с включенным композитингом - то еще удовольствие, производительность сильно просаживается, так что этот патч потенциально полезен.

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

огромное спасибо!

LARGE_ADDRESS_AWARE интересно а он действительно позволяет обходить ограничение на выделенную память для процесса... я с этой бедой сталкивался, когда залипал с друганом в сан андреас в мультиплеере на какомто корейском серваке. народу туча, веселья масса, но каждые 20 минут игра крашилась по нехватке памяти. посколько сан андреса 64х разрядного нет, решения проблемы я так и не нашел. патчинг экзешника помог другану на винде, но не мне под вайном.

FS_bypass_compositor обходит композитор в играх, когда используется полноэкранный режим

а незнаеш, как в компизе эта опция называется? *unredirect_fullscrine_windows* это вродебы всетаки не оно...

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

*unredirect_fullscrine_windows* это вродебы всетаки не оно

Скорее всего, это оно. В Compton'е эта опция примерно так же называется, но в Compton'е она не помогает особо, мышь все равно двигается так, словно в масле находится.

интересно а он действительно позволяет обходить ограничение на выделенную память для процесса

Скорее всего, да.

Kron4ek ★★★ ()

с патчами esync, pba, staging

с примененным Staging патчсетом

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

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

Staging включает в себя большое количество патчей (там около 900 патчей, если я не ошибаюсь), которых нет (возможно, на данный момент) в ванильном Wine, и которые исправляют различные ошибки в играх/программах, добавляют дополнительный функционал или улучшают производительность. К примеру, долгое время CSMT (который не слабо улучшает производительность в играх) был только в Staging, и только потом был добавлен в ванильный Wine.

Esync снижает нагрузку на процессор, в некоторых играх дает заметный прирост. PBA повышает производительность в играх, иногда разница с ним весьма заметна (например, в WoW и STALKER), но в некоторых играх с ним возникают проблемы. PBA работает только с WineD3D и не работает, когда для трансляции используется стороняя библиотека (например, DXVK).

Kron4ek ★★★ ()

Дружище, спасибо огромное! А не мог бы ты это все запилить еще в какой нибудь снап/флатпак/аппимейдж и тд для портативности?

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

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

для вайна неактуально - просто держиш в системе нужные тебе бинарнники вайна и указываешь нужный при запуске. для удобства можно какуюнибуть мышевозную гуйню использовать (я юзаю старую версию playOnLinux но тут на вкус и цвет). у меня таким образом по 6-7 версий вайна для каждой архетиктуры всегда в системе:
древняя 2.21-staging (некоторые старые игры с ней лучше робят)
актуальная стейбл
ещераз но с патчами
актуальная дев
ещераз но с патчами
и тоже самое для предыдущей дев (иногда бывают регрессии в деве, привык навсякий случай всегда держать предыдущую)

друг другу они не мешают, но иногда здорово выручают

genryRar ★★ ()

спасибо за актуальный релиз, ты как всегда оперативен! и особенно приятно - это оповещение о новом релизе на гитхабе, это прям очень удобно!

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

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

Да, к сожалению, на старых glibc не работает. Я раньше на Debian Jessie собирал, там glibc 2.19, но, собирая на старых дистрибутивах, возникают другие проблемы вроде устаревших версий библиотек или их отсутствия, поэтому я решил собирать на Ubuntu 16.04. А вот сделать Wine полностью переносимым, держка все библиотеки рядом (в том числе glibc) - довольно нетривиальная задача, хотя способ вроде есть, судя по ссылке, которую писали выше.

Kron4ek ★★★ ()

К вопросу о мультилибе. А можно как-то оценить полный список библиотек, необходимых, чтобы вайн полноценно работал с мультилибом?

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

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

Ну, как выше сказали, можно хранить все версии Wine в домашнем каталоге или в /opt, и запускать, указывая путь до бинарника, я так и делаю.

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

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

это оповещение о новом релизе на гитхабе, это прям очень удобно!

Согласен, штука удобная. Я так релизы DXVK отслеживаю.

если сидеть на стейблах вайна и читать только их чейнджлоги - прогресс охренеть какой

Это точно.

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

А конфиги не будут пересекаться? Wine знатно срет в профиль.

Не будут, если использовать разные префиксы. Префиксы можно указать переменной WINEPREFIX. Например:

WINEPREFIX="$HOME/someprefix" ~/wine-4.0/bin/wine test.exe

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

А можно как-то оценить полный список библиотек, необходимых, чтобы вайн полноценно работал с мультилибом?

Их там много, поэтому лучше просто установить Wine из пакетного менджера, тогда установятся и все (или большинство) зависимости. А дальше можно использовать сборки.

Сам Wine потом можно удалить, оставив только зависимости.

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

меньше

У Магейи такой репозиторий, который никаким Федорам и не снился. Не говоря уже о том, что можно самому компилять пакеты, в т.ч. и свежих версий. Я бы и сам мог собрать wine через тот же multilib, но всё упёрлось в зависимости: пакет llvm-devel может быть установлен только для одной архитектуры - либо для x86_64, либо для i586. Конфликт файлов.

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

Давно.

Топ репозиториев по общему количеству пакетов:

    AUR (40522)
    Debian и производные (28741) (лидирует Deepin)
    FreeBSD (26177)
    Fedora (20386) (с прошлого отчёта обогнала Gentoo)
    Gentoo (19394) 
https://www.opennet.ru/opennews/art.shtml?num=47581
16.11.2017

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

Вопрос был про Федору. Общее кол-во пакетов Магейи может быть несколько поменьше, зато в ней больше всего десктопного. И теже видеопроигрыватели в родном репозитории, например, сразу с проприетарными кодеками.

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

Вопрос был про Федору

Ты сказал, что в Магейе пакетов столько, что Федоре и не снилось. Где Магейя в рейтинге?

И теже видеопроигрыватели в родном репозитории, например, сразу с проприетарными кодеками.

И свежий wine сразу не работает. А плееры с проприетарными кодеками - прям киллер-фича, нигде такого нет))

alexferman ()