LINUX.ORG.RU

FreeBSD: wine-i386 и wine на одной машине

 , ,


0

1

Привет.

Хочу играть в World of Warcraft на FreeBSD. Скачал инсталлер батлнет клиента(для запуска их игр), оказалось, что он 32битный, установил вайн386. Установил батлнет клиент успешно. Пытаюсь из него установить игру - их же клиент пишет: для игры надо окружение х64. Установить оба одновременно нельзя, исходя из статьи на вики. Штатными пакетами нельзя вернее. Предлагают либо самому собирать из исходников(не портов) либо поднимать джеил и в нем вайн ставить. Но я не донца понимаю что из это предпочтительнее, как по мне так я бы джеил поднял, чтобы самом ничего не собирать и мусор не тянуть в систему. Правда не до конца понятно как мне клиент их запускать на джеиле, ведь она гуишная.

Заранее спасибо за любые советы.



Последнее исправление: Keltir (всего исправлений: 1)

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

mord0d ★★★★★
()

у меня похожая ситуация — я решил не тащить в систему i386 вайн из-за одного только инсталлера батл.нета, поэтому обновляю ШоШ на виртуалке, а играю через wine64 wow.exe

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

как раз тебя хотел кастануть.
какие есть варианты (или будут в обозримом будущем) запускать win32 приложения на 64-битной системе, не засирая её мультилибом?

вот тут: Wine 6.15 есть что-то про

в NTDLL добавлены новые преобразователи (thunk) 32-разрядных системных вызовов в 64-разрядные;

это не в ту сторону?

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

какие есть варианты (или будут в обозримом будущем) запускать win32 приложения на 64-битной системе, не засирая её мультилибом?

Flatpak, либо какой-нибудь другой контейнер. Я вот недавно сделал Conty специально для этого, внутри него есть Wine и все его зависимости, в том числе и 32-битные. Попробуй, если будет желание. Тем более, что у тебя видеокарта от AMD (правильно?), так что без проблем должно работать. Использовать примерно так:

chmod +x conty_lite.sh
./conty_lite.sh wine Battle.net.exe

Можно на полностью 64-битной системе запускать 32-битные приложения через него, игры тоже.

Там внутри и Steam, и Lutris есть, если нужно.

это не в ту сторону? в NTDLL добавлены новые преобразователи (thunk) 32-разрядных системных вызовов в 64-разрядные;

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

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

Тем более, что у тебя видеокарта от AMD (правильно?),

Intel в данном случае, но мне 3D вообще не нужно, главное чтобы ланчер запустился и ВоВ обновился.

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

Intel тоже нормально, главное, что не Nvidia с проприетарным драйвером - с ним проблемы могут быть.

А Battle.Net я через него попробовал запустить - работает. Игру тоже должен смочь обновить.

Только имей в виду, что будет стандартный префикс Wine использоваться (~/.wine), если ты не укажешь другой через переменную WINEPREFIX.

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

Оффтоп. А никто не пробовал на бсдях стартануть стим в линупсуляторе? Даже интересно, что из этого получится!

anonymous
()

не могу собрать wine из портов: https://pastebin.com/YQSPq98K

никак не пойму чего он ругается и как мне это исправить следовательно. До этого не собирался gstreamer1, я его из бинарников установил, а тут надо именно собрать чтобы была поддержка dxvk чтобы в WoW играть.

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

А никто не пробовал на бсдях стартануть стим в линупсуляторе?

В Ютубчике были ролики.

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

я вечером могу попробовать, но дело в том, что без dxvk, как я понял, ВоВ не будет играться, так что надо все же с этим флагом собирать.

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

Попробуй удалить всё, что связанно с вайном и вулканом, включая vulkan-headers и установить заного. Просто вулка не у всех взлетит. Какая видеокарта, драйвер, релиз и архитектура системы.

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

Вулкан у меня должен бы рабочим быть. но я перепроверю, спасибо за наводку. Да, надо попробовать начисто все. По поводу ошибки, там бизон репортит какие-то конфликты и отрубается. может его как-то можно отключить в билд сценарии? бизон, как я понял, - статический анализатор или что-то в этом роде.

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

Пишут, что это https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254615 «the easiest way to avoid it would be unsetting the TERM environment variable.»

У меня еще есть вопрос к пользователям FreeBSD относительно портов, пакетов-бинарей и сорцов: В хендбуке советуют придерживаться либо бинарных пакетов, либо самому всё билдить - не миксовать.

Проблема в том, что я еще в генту «набилдился» и теперь хочу просто использовать бинарные пакеты. В случае с вайном - это нереально из-за того, что мне нужны нестандартные флаги сборки. Ок, дальше, если я не буду обновлять пакеты из сорцов, то выйдут более новые версии в бинарных пакетах, я по идее смогу обновить все, что насобирал для вайна. но вайн мне обновлять не надо из пакетов, я хочу зафризить эту версию, которую собрал сам. а дальше хочу, чтобы все из бинарных пакетов ставилось, чтобы не тратить драгоценное время на сборку.

можно так сделать? если да, то как?

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

Я, конечно, плохо разбираюсь в компьютерах, но как вариант написать скрипт на автоматизацию процесса сборки.

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

оно и так достаточно автоматизировано, в 1 командочку все тебе обновит, установит.

проблема в том, что это занимает время. я не компилял пока много в бсд, но по опыту генту, меня это задолбало за пару лет уже. сама система у меня супер легковесная, i3wm(без логин мангера, системд, полисикит и еще пачки всякого хлама), claws, emacs - ниодного пакета, который бы компилялся дольше чем 1-2 минуты на моих 16 потоках. НО, чтобы собрать некоторые пакеты надо clang,другие собираются с помощью rust, третьи - go, ну и конечно же, куда без gcc, где-то куски qt надо еще и т.п. Итого, у меня 80-90% времени компиляются компиляторы, чтобы скомпилять миниатюрные пакеты при апдейтах.

Поэтому в БСД я бы хотел избежать подобного ада и пользоваться бинарными пакетами как белый человек.

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

можно так сделать? если да, то как?

pkg lock wine && pkg upgrade && pkg unlock wine

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)

pkg lock wine && pkg upgrade && pkg unlock wine

Спасибо!

Вайн собрал успешно, но ВоВ не запускается:

0f0:err:seh:segv_handler Got unexpected trap 9

Не гуглится особо ничего полезного. думаю, просто вайн не готов на БСД еще для игр (или я не разобрался) :< Батлнет клиент запустился на ура зато :)

Keltir
() автор топика
Последнее исправление: Keltir (всего исправлений: 3)

Вы все еще думаете, что на ФриБСД может быть только одна версия вайна?! 32 или 64???!

Цитирую:

If you need both 64bit and 32bit, the latest version of emulators/wine provide a script named /usr/local/share/wine/pkg32.sh that will install the 32bit version of wine in $HOME/.i386-wine-pkg The actual command for that: /usr/local/share/wine/pkg32.sh install wine mesa-dri

не благодарите!

Keltir
() автор топика
Последнее исправление: Keltir (всего исправлений: 1)
Ответ на: комментарий от Clockwork
starcloud% WINEPREFIX="/home/ami/.wine-new" wine64 --version
wine-6.0.1
starcloud% WINEPREFIX="/home/ami/.wine" wine --version
wine-6.0.1
starcloud% /usr/local/share/wine/pkg32.sh --version
pkg -o ABI=FreeBSD:13:i386 -o INSTALL_AS_USER=true -o RUN_SCRIPTS=false --rootdir /home/ami/.i386-wine-pkg --version
1.17.1
Keltir
() автор топика
Ответ на: комментарий от Keltir

Как у вас это получилось? Почему у меня не так?

$ WINEPREFIX="/home/name/.wine-new" wine64 --version
wine-6.0.1
$ WINEPREFIX="/home/name/.wine" wine --version
/home/name/.i386-wine-pkg//usr/local/bin/wine doesn't exist!

Try installing 32-bit Wine with
        /usr/local/share/wine/pkg32.sh install wine mesa-dri
anonymous
()
Ответ на: комментарий от Kron4ek

Крончек, помоги, запустить не могу.

$ ./conty_lite.sh wine setup.exe
./conty_lite.sh: строка 23: md5sum: команда не найдена
Please install fuse2 or fuse3 and run the script again.

Версии пробовал Conty 1.16, Conty 1.15.1 и Conty 1.11.1

Установлено fuse-1.6.0 . Пробовал ставить fusefs-libs3 . Где взять это fuse3?

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

Да, на freebsd пытаюсь. Понял, спасибо.

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

попробовал запустить conty_lite, не запускается вообще ни одно приложение, даже с чистым префиксом и даже winecfg

wineserver: ../wine-mirror-git/server/async.c:427: async_set_result: Assertion `async->terminated' failed.
013c:err:ntdll:RtlpWaitForCriticalSection section 026E02EC "?" wait timed out in thread 013c, blocked by 0138, retrying (60 sec)
01d0:err:ntdll:RtlpWaitForCriticalSection section 02700BEC "?" wait timed out in thread 01d0, blocked by 0178, retrying (60 sec)


в чём может быть проблема?
алсо:

libgcc_s.so.1 must be installed for pthread_cancel to work
0090:err:seh:call_stack_handlers invalid frame 000000000062F370 (0000000000412000-0000000000610000)
0090:err:seh:NtRaiseException Exception frame is not in stack limits => unable to dispatch exception.
wine client error:90: write: Bad file descriptor
libgcc_s.so.1 must be installed for pthread_cancel to work
0090:err:seh:call_stack_handlers invalid frame 000000000062F370 (0000000000412000-0000000000610000)
0090:err:seh:NtRaiseException Exception frame is not in stack limits => unable to dispatch exception.
wine client error:90: write: Bad file descriptor

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

Судя по выводу, похоже на этот баг, он исправлен в Wine 6.17, но внутри Conty пока что версия 6.16. И видимо не на всех системах проявляется, так как у себя не могу воспроизвести.

Попробуй Wine 6.17. Например:

wget https://github.com/Kron4ek/Wine-Builds/releases/download/6.17/wine-6.17-staging-amd64.tar.xz
tar xf wine-6.17-staging-amd64.tar.xz
./conty_lite.sh wine-6.17-staging-amd64/bin/winecfg

Либо ты можешь попробовать более старую версию Conty, в которой более старый Wine, без этого бага.

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

вроде работает с чистым префиксом, но мне не нравится то, что conty после себя не закрывает процессы и они висят висяком

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

Ты имеешь в виду если через Ctrl+C его закрыть или через kill? Да, это нерешенная проблема пока.

Можешь попробовать параметры запуска --unshare-pid --die-with-parent, это может решить проблему, но и свои неприятные эффекты у этого есть.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.