LINUX.ORG.RU

* Установка wine на FreeBSD

 , , ,


2

1

Обновляю тред. Ну так, чисто для себя.

Первые 4 ответа относятся к теме, которая была все равно оффтопиком и тупняком, поэтому я обновляю тред для себя (если вы модератор, можете их удалить, вместе с этим предложением).

Я решил опробовать некоторые варианты, чтобы понять как играть в игры на freebsd в 2к21. Прямого ответа я все еще не нашёл, поэтому начал расследование. Для полноценной поддержки сразу 32битных и 64битных банарников нужен multilib, которого к нам так и не завезли. А всё-таки держать при себе патлатый линукс или винду чисто для игр мне не хотелось.

Что пробовал:

  1. pkg install wine (Возможна установка только одной версии одновременно)
  2. emulators/wine + pkg32.sh + latest (wineserver: file_set_error() can’t map error: Cannot allocate memory)
  3. conty.sh (Контейнер только для linux, как сказал Kron4ek)
  4. emulators/wine-devel (не удалось загрузить kernel32.dll)
  5. commit 26 jul + emulators/wine (Cannot allocate memory)
  6. Исходники + patch (c)(Yet another recent breakage in dlls/nsiproxy.sys, yet another patch submitted upstream.)(кроме того, засралась система)
  7. gamelib by @mord0d (wine: could not load kernel32.dll, status c0000135)

Что не успел попробовать:

Решение:

  1. emulators/wine-proton Похоже, это решило проблему «Cannot allocate memory» подняв user_space_limit и working_set_limit с опцией по умолчанию.

Протон работает по отдельности как через стим, так через бинарь. Не создаёт ярлыки приложений на рабочем столе при установке. Работает со скриптом pkg32.sh для поддержки PE32 приложений. Таким образом некоторые игры работают лучше, чем в линукс (не все). Но также это не будет полноценно работать - например, если 32битное приложение попытается запустить 64битное - последнее запустится тем же 32битным wine’ом с очевидным результатом.

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

★★★★

Ответ на: комментарий от iZEN

Это что

Фиксация в основной ветке ссылается на эту ошибку:

https://cgit.FreeBSD.org/ports/commit/?id=27ae28dd240c63c37a2fe17d2a2440d1beda5870

и зачем?

Чтобы wine для amd64 умел в PE32 (x86)

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

На форуме freebsd 257284 вроде как-то решили этот вопрос.

Обновлением обоих версий до 6.0.1, чтобы соответствовать портам i386-wine. Если я правильно понял.

Clockwork ★★★★ ()
10 сентября 2022 г.

Решил обновить старенький i386-wine на новый wine-6.0.4_1,1.

Скрипт pkg32.sh закачивает что-то, но не устанавливает — пишет, что архитектуры i386-пакетов не предназначены для FreeBSD:amd64. На этом всё.

Задача: обеспечить запуск и работу приложений Win32 API + DirectX 7.0. Старый i386-wine начал ругаться при запуске DX-приложений, что он собран без поддержки Vulkan. (Видеокарта GT 1030, драйвер nvidia-driver-390 из порта. День назад, до обновлений портов, всё было хорошо).

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

wine-devel-7.15,1

> mv ~/.wine ~/.wine.bak

> rm -rf ~/.i386-wine-pkg/

> /usr/local/share/wine/pkg32.sh install wine mesa-dri
pkg -o ABI=FreeBSD:13:i386 -o INSTALL_AS_USER=true -o RUN_SCRIPTS=false --rootdir /usr/home/igor/.i386-wine-pkg install wine mesa-dri
Updating FreeBSD repository catalogue...
Fetching meta.conf: 100%    163 B   0.2kB/s    00:01    
Fetching packagesite.pkg: 100%    6 MiB 921.9kB/s    00:07    
Processing entries: 100%
FreeBSD repository update completed. 31188 packages processed.
Updating store repository catalogue...
Fetching meta.conf: 100%    163 B   0.2kB/s    00:01    
Fetching packagesite.pkg: 100%  247 KiB 253.0kB/s    00:01    
Processing entries:   0%
pkg: wrong architecture: FreeBSD:13:amd64 instead of FreeBSD:13:i386
pkg: repository store contains packages with wrong ABI: FreeBSD:13:amd64
Processing entries: 100%
Unable to update repository store
Error updating repositories!

iZEN ★★★★★ ()

emulators/wine

Годный троллинг 😁

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

Скрипт pkg32.sh закачивает что-то, но не устанавливает

Это в wine-6.0.4_1,1 или wine-devel-7.15,1 ? Не видел никогда такого.

Попробовал воссоздать такую же ситуацию, но у меня сработало как положено:

Обновил дерево портов. После обновления увидел, что появились новые пара зависимостей wine.
Устанавливаю wine-6.0.4,1 в другой префикс /opt/test, чтобы не трогать рабочий вайн.
Поменял переменную в pkg32.sh, чтобы не трогать рабочий .i386-wine-pkg.
Выполняю /opt/test/share/wine/pkg32.sh install wine mesa-dri - всё прекрасно устанавливается.

В результате у меня получается обе версии:

> /opt/test/bin/wine64 --version
wine-6.0.4
> .i386-wine-pkg-test/usr/local/bin/wine --version
wine-6.0.4

Кстати, исходники ядра в актуальном состоянии?

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

pkg: wrong architecture: FreeBSD:13:amd64 instead of FreeBSD:13:i386
pkg: repository store contains packages with wrong ABI: FreeBSD:13:amd64
Processing entries: 100%
Unable to update repository store
Error updating repositories!

Используешь ли ты бинарную репу? pkg32 использует дефолтный репозиторий.

Может быть оно тагает порты как “ports-local”, а pkg32.sh будет пытаться «скачать» из ports-local:i386… которого естественно не существует.

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

Методом исключения нашёл проблемный пакет, после обновления которого начала рушиться работа DX-программы.

Это: xorg-server-21.1.4_1,1. При xorg-server-21.1.4,1 всё было нормально.

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

При xorg-server-21.1.4,1 всё было нормально.

> pkg info -Ex xorg-server          
xorg-server-1.20.14,1

Понаставят себе стейблов всяких…

Clockwork ★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.