LINUX.ORG.RU
решено ФорумGames

Игра Comanche-4 в Wine на FreeBSD

 comanche-4, , sockraw, special permissions,


0

1
> wine ./C4.EXE
0009:err:winediag:WSASocketW Failed to create a socket of type SOCK_RAW, this requires special permissions.
0009:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  280
  Current serial number in output stream:  284

Кто что подскажет, как решить проблему запуска?

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

  1. Повысил привелегии:
% chmod +s /usr/local/bin/wine

— бесполезно.

  1. Создал и отредактировал ключи локального реестра:
> regedit

согласно инструкции:

a) NT4 users should change / add the following registry variable
and set its value to DWORD 1:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Afd\Parameters\DisableRawSecurity
b) 2000 users should set the following registry variable to DWORD 1
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\AllowUserRawAccess
after you change the registry, you will need to reboot.

— бесполезно.

  1. Пересобрал mesa-dri, mesa-libs, xorg-server — бесполезно.

  2. Удалял каталог ~/.wine. Конфигурировал различные версии операционной системы Windows — бесполезно.

P.S. Да, это случилось после переустановки драйвера NVIDIA 440 на стабильный NVIDIA 390 из портов. Обычные оконные программы Windows запускаются и работают без вопросов. До смены драйвера игрушка запускалась и работала.

★★★★★

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

А поиграть на старых дровах, и обновиться, как пройдешь совсем не вариант? Я покрасноглазить тоже люблю, но иногда простейшее решение оказывается самым верным

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

А поиграть на старых дровах, и обновиться, как пройдешь совсем не вариант?

Игру давно прошёл. Хотелось бы играть в отдельные миссии.

Насчёт драйвера. Хотелось бы оставить эту (390) версию драйвера, чтобы не обновляться. Так как с NVIDIA драйверами версии 440 и новой (последней) версией 460 свежее ядро FreeBSD не загружается — ошибка распределения адресного пространства между загружаемыми модулями. (Исходники и заголовочные файлы синхронизированы с установленным ядром, пересборка драйвера из порта x11/nvidia-driver приводит к ошибкам и конфликтам на этапе загрузки)

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

3д ускорение не работает

xDShot ★★★★★
()
Ответ на: Делал — бесполезно. от iZEN

так может права рута в запуск от вендоадмина не транслируются напрямую, может это как-то иначе делается, нужно в документации wine смотреть

Harald ★★★★★
()

libGL error: failed to load driver: swrast

У тебя проблема не с wine'ом, а с невидией и её GL библиотеками.

LamerOk ★★★★★
()
Ответ на: комментарий от Kron4ek
> glxinfo -B
name of display: unix:0.0
display: unix:0  screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 2048 MB
    Total available memory: 2048 MB
    Currently available dedicated video memory: 1662 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 1030/PCIe/SSE2
OpenGL core profile version string: 4.5.0 NVIDIA 390.141
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.5.0 NVIDIA 390.141
OpenGL shading language version string: 4.50 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 390.141
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
iZEN ★★★★★
() автор топика

Пакет nvidia-driver идет с lib32 библиотеками в комплекте, а legacy-версии — нет. Надо по старинке запускать скрипт nvidia.sh из i386-wine. (Вообще, конечно, это говноедство и XY-проблема.)

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

Спасибо.

Прикольно. Не знал.

P.S. Пока откатился на начальные позиции, но в будущем буду иметь в виду.

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

Состав рабочего драйвера:

> pkg info -l nvidia-driver
nvidia-driver-440.100_1:
	/boot/modules/nvidia-modeset.ko
	/boot/modules/nvidia.ko
	/usr/local/bin/nvidia-bug-report.sh
	/usr/local/bin/nvidia-debugdump
	/usr/local/bin/nvidia-smi
	/usr/local/etc/libmap.d/nvidia.conf
	/usr/local/lib/libEGL-NVIDIA.so
	/usr/local/lib/libEGL-NVIDIA.so.1
	/usr/local/lib/libEGL_nvidia.so
	/usr/local/lib/libEGL_nvidia.so.0
	/usr/local/lib/libGL-NVIDIA.so
	/usr/local/lib/libGL-NVIDIA.so.1
	/usr/local/lib/libGLESv1_CM_nvidia.so
	/usr/local/lib/libGLESv1_CM_nvidia.so.1
	/usr/local/lib/libGLESv2-NVIDIA.so
	/usr/local/lib/libGLESv2-NVIDIA.so.2
	/usr/local/lib/libGLESv2_nvidia.so
	/usr/local/lib/libGLESv2_nvidia.so.2
	/usr/local/lib/libGLX.so
	/usr/local/lib/libGLX.so.0
	/usr/local/lib/libGLX_indirect.so.0
	/usr/local/lib/libGLX_nvidia.so
	/usr/local/lib/libGLX_nvidia.so.0
	/usr/local/lib/libGLdispatch.so
	/usr/local/lib/libGLdispatch.so.0
	/usr/local/lib/libOpenGL.so
	/usr/local/lib/libOpenGL.so.0
	/usr/local/lib/libnvidia-cfg.so
	/usr/local/lib/libnvidia-cfg.so.1
	/usr/local/lib/libnvidia-eglcore.so
	/usr/local/lib/libnvidia-eglcore.so.1
	/usr/local/lib/libnvidia-glcore.so
	/usr/local/lib/libnvidia-glcore.so.1
	/usr/local/lib/libnvidia-glsi.so
	/usr/local/lib/libnvidia-glsi.so.1
	/usr/local/lib/libnvidia-ml.so
	/usr/local/lib/libnvidia-ml.so.1
	/usr/local/lib/libnvidia-tls.so
	/usr/local/lib/libnvidia-tls.so.1
	/usr/local/lib/libvdpau_nvidia.so
	/usr/local/lib/vdpau/libvdpau_nvidia.so.1
	/usr/local/lib/xorg/modules/drivers/nvidia_drv.so
	/usr/local/lib/xorg/modules/extensions/libglxserver_nvidia.so
	/usr/local/lib/xorg/modules/extensions/libglxserver_nvidia.so.1
	/usr/local/lib32/libEGL.so
	/usr/local/lib32/libEGL.so.1
	/usr/local/lib32/libEGL_nvidia.so
	/usr/local/lib32/libEGL_nvidia.so.0
	/usr/local/lib32/libGL.so
	/usr/local/lib32/libGL.so.1
	/usr/local/lib32/libGLESv1_CM.so
	/usr/local/lib32/libGLESv1_CM.so.1
	/usr/local/lib32/libGLESv1_CM_nvidia.so
	/usr/local/lib32/libGLESv1_CM_nvidia.so.1
	/usr/local/lib32/libGLESv2.so
	/usr/local/lib32/libGLESv2.so.2
	/usr/local/lib32/libGLESv2_nvidia.so
	/usr/local/lib32/libGLESv2_nvidia.so.2
	/usr/local/lib32/libGLX.so
	/usr/local/lib32/libGLX.so.0
	/usr/local/lib32/libGLX_nvidia.so
	/usr/local/lib32/libGLX_nvidia.so.0
	/usr/local/lib32/libGLdispatch.so
	/usr/local/lib32/libGLdispatch.so.0
	/usr/local/lib32/libOpenGL.so
	/usr/local/lib32/libOpenGL.so.0
	/usr/local/lib32/libnvidia-cfg.so
	/usr/local/lib32/libnvidia-cfg.so.1
	/usr/local/lib32/libnvidia-eglcore.so
	/usr/local/lib32/libnvidia-eglcore.so.1
	/usr/local/lib32/libnvidia-glcore.so
	/usr/local/lib32/libnvidia-glcore.so.1
	/usr/local/lib32/libnvidia-glsi.so
	/usr/local/lib32/libnvidia-glsi.so.1
	/usr/local/lib32/libnvidia-tls.so
	/usr/local/lib32/libnvidia-tls.so.1
	/usr/local/lib32/vdpau/libvdpau_nvidia.so.1
	/usr/local/man/man1/nvidia-smi.1.gz
	/usr/local/share/glvnd/egl_vendor.d/10_nvidia.json
	/usr/local/share/licenses/nvidia-driver-440.100_1/LICENSE
	/usr/local/share/licenses/nvidia-driver-440.100_1/NVIDIA
	/usr/local/share/licenses/nvidia-driver-440.100_1/catalog.mk
> glxinfo -B
name of display: unix:0.0
display: unix:0  screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 2048 MB
    Total available memory: 2048 MB
    Currently available dedicated video memory: 1684 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 1030/PCIe/SSE2
OpenGL core profile version string: 4.5.0 NVIDIA 440.100
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.5.0 NVIDIA 440.100
OpenGL shading language version string: 4.50 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 440.100
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Но теперь придётся ждать правильные исходники ядра.

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

Запустилось!

% sh /usr/local/share/wine/patch-nvidia.sh
===> Patching i386-wine to work with x11/nvidia-driver:
=> Detected i386-wine: 5.0_1,1
=> Detected nvidia-driver: 390.141
=> Downloading NVIDIA-FreeBSD-x86-390.141.tar.gz from https://download.nvidia.com...
NVIDIA-FreeBSD-x86-390.141.tar.gz                       62 MB 3903 kBps    17s
=> Downloaded NVIDIA-FreeBSD-x86-390.141.tar.gz
Please check the following information against /usr/ports/x11/nvidia-driver/distinfo
SHA256 (NVIDIA-FreeBSD-x86-390.141.tar.gz) = c0e2abc13ec350ba7d34bf68225261cf1bfa0f5b07e30c71dd090c83c0542f7d
SIZE (NVIDIA-FreeBSD-x86-390.141.tar.gz) = 65965659
=> Extracting NVIDIA-FreeBSD-x86-390.141.tar.gz to /usr/local/lib32...
x libnvidia-glcore.so.1
x libnvidia-tls.so.1
x libGL.so.1
=> Cleaning up...
===> i386-wine-5.0_1,1 successfully patched for nvidia-driver-390.141
iZEN ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Это не бздя. Этот способ патчинга описан в мессадже постинсталла порта Wine. И касается исключительно NVIDIA-драйверов до версии 440.

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

мессадже постинсталла порта

порт это бздовая поделка, как и выковыривание 32бит библиотек из драйвера

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

Так перепиши его, если тебя не устраивает политика мантейнера порта. И тогда и шлюхи появятся, и блэкджек сразу после установки Wine.

iZEN ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.