Автор Тема: [Решено] Работа OpenGL в 32-битном wine на x86_64 дистрибутиве.  (Прочитано 11797 раз)

Оффлайн Hoblin

  • Давно тут
  • **
  • Сообщений: 32
    • Email
Повешу тему в игрушки, т.к. тут wine, OpenGL и пр. вещи, тематически близкие к играм...

Дано:
- ALT Linux p7 x64
- ноутбук с optimus-видеокартами (intel+nvidia)
- i586-wine-vanilla

Нужно запустить 3d-приложение (пусть для определённости будет игрушка), использующее OpenGL. Ошибка одинаковая, независимо от того, через какую карту пытаюсь направить вывод:
Xlib:  extension "NV-GLX" missing on display ":0".
err:winediag:X11DRV_WineGL_InitOpenglInfo Direct rendering is disabled, most likely your OpenGL drivers haven't been installed correctly (using GL renderer "Mesa DRI Intel(R) Ivybridge Mobile ", version "1.4 (3.0 Mesa 9.1.1)").
Xlib:  extension "NV-GLX" missing on display ":0".
fixme:win:EnumDisplayDevicesW ((null),0,0x32f6a8,0x00000000), stub!
Xlib:  extension "NV-GLX" missing on display ":0".
X Error of failed request:  GLXUnsupportedPrivateRequest
  Major opcode of failed request:  153 (GLX)
  Minor opcode of failed request:  16 (X_GLXVendorPrivate)
  Serial number of failed request:  594
  Current serial number in output stream:  595


Драйверы для 32-бит вроде все стоят:
[root@n56 ISO]# rpm -qa|grep nvidia|grep 310
kernel-modules-nvidia-std-def-310.44-alt1.198665.1
i586-nvidia_glx_310.44-310.44-alt111
nvidia-xconfig-310.19-alt1
kernel-modules-nvidia-std-def-310.44-alt1.198666.1
i586-nvidia_glx_common-310.44-alt117
kernel-modules-nvidia-std-def-310.44-alt1.198664.2
nvidia-settings-310.32-alt1
nvidia_glx_common-310.44-alt117
kernel-modules-nvidia-std-def-310.44-alt1.198663.1
nvidia_glx_310.44-310.44-alt111

[root@n56 ISO]# rpm -qa|grep intel
libva-driver-intel-1.0.18-alt1
xorg-drv-intel-2.21.6-alt1
xorg-dri-intel-9.1.1-alt1
i586-xorg-drv-intel-2.21.6-alt1
i586-xorg-dri-intel-9.1.1-alt1

Раньше такое же было на p6 и видеокарте nvidia (без optimus), но сначала это не хватало i586-nvidia, а потом не довелось проверить.
Что сейчас - не понимаю. То ли wine не видит драйвер, то ли система запуталась в двух видеокартах.
« Последнее редактирование: 16.05.2013 09:35:35 от Hoblin »

Оффлайн БарсSc

  • alt linux team
  • ***
  • Сообщений: 1 089
  • Intel_i7/nVidia_Optimus, AMD Ryzen 3 2200
Почитайте 1, 2 и 3, после установки всех нужных 32-х битных библиотек и драйверов должно заработать, у меня правда не p7, но на р6 оптимус с wine и виндовыми играми работает.
Что сейчас - не понимаю. То ли wine не видит драйвер, то ли система запуталась в двух видеокартах.
Если bumblebee установлен и настроен верно, то система, да и wine не запутается в видеокартах.
« Последнее редактирование: 06.05.2013 19:22:02 от BarsSc »

Оффлайн Hoblin

  • Давно тут
  • **
  • Сообщений: 32
    • Email
Почитайте 1, 2 и 3, после установки всех нужных 32-х битных библиотек и драйверов должно заработать, у меня правда не p7, но на р6 оптимус с wine и виндовыми играми работает.
Вроде всё так и сделано, но не работает.
Не понял наличия в /etc/X11 помимо lib и lib64 ещё lib_nvidia и lib64_nvidia, причём в *nvidia есть только линки на несуществующие файлы.
Цитировать
Если bumblebee установлен и настроен верно, то система, да и wine не запутается в видеокартах.
А вот здесь можно чуть поподробнее?
У меня bumblebee практически из коробки заработал. Что запускаю через optirun - идёт через nvidia, что просто так - через intel.
Пути /proc/driver/nvidia не существует, он создаётся только на время работы "optirun-приложения".

Меня смущает то, что wine упорно ругается на драйвер intel, как бы я ни запускал приложение. То есть wine считает, что он на intel выводит, а там уже bumblebee перенаправляет вывод, как я понимаю этот процесс. Если так, то копать нужно в направлении работы интеловских драйверов, а не nvidia, как я пытаюсь делать и как написано в инструкции по ссылке.

Оффлайн zerg

  • ненужная строка
  • alt linux team
  • ***
  • Сообщений: 2 486
  • ненужная строка
    • Найдётся всё
помимо lib и lib64 ещё lib_nvidia и lib64_nvidia, причём в *nvidia есть только линки на несуществующие файлы.
Издержки производства. Эти файлы есть в старых версиях драйвера.
Убрать этот мусор можно переключателем: Не показывать подписи других пользователей.

Оффлайн БарсSc

  • alt linux team
  • ***
  • Сообщений: 1 089
  • Intel_i7/nVidia_Optimus, AMD Ryzen 3 2200
Запустите свое приложение без optirun и выхлоп сюда, не хватает чего-то вот оно и ругается. Установлены ли 32 битные библиотеки  libGL и libGLU, установлен ли 32 битный libwinegl?

Оффлайн Hoblin

  • Давно тут
  • **
  • Сообщений: 32
    • Email
Запустите свое приложение без optirun и выхлоп сюда, не хватает чего-то вот оно и ругается. Установлены ли 32 битные библиотеки  libGL и libGLU, установлен ли 32 битный libwinegl?
Всё перечисленное установлено.

Интересный эффект. Запускается без optirun до тех пор, пока не попробуешь один раз запустить с optirun. После - ни одним из способов, что мешает, не понял (процессы wine почистил, не помогает).

Вывод при этом одинаковый:
$ wine FalcoCorners.exe
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:thread:GetThreadPreferredUILanguages 52, 0x32fa74, 0x32fae4 0x32fa7c
Xlib:  extension "NV-GLX" missing on display ":0".
err:winediag:X11DRV_WineGL_InitOpenglInfo Direct rendering is disabled, most likely your OpenGL drivers haven't been installed correctly (using GL renderer "Mesa DRI Intel(R) Ivybridge Mobile ", version "1.4 (3.0 Mesa 9.1.1)").
Xlib:  extension "NV-GLX" missing on display ":0".
ALSA lib dlmisc.c:236:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/alsa-lib/libasound_module_pcm_pulse.so
ALSA lib dlmisc.c:236:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/alsa-lib/libasound_module_pcm_pulse.so
X Error of failed request:  GLXBadCurrentWindow
  Major opcode of failed request:  153 (GLX)
  Minor opcode of failed request:  1 (X_GLXRender)
  Serial number of failed request:  2790
  Current serial number in output stream:  2792

Хочется всё же задействовать nvidia, а не использовать встроенный интеловский адаптер, для 3D абсолютно не приспособленный.

Оффлайн БарсSc

  • alt linux team
  • ***
  • Сообщений: 1 089
  • Intel_i7/nVidia_Optimus, AMD Ryzen 3 2200
Интересный эффект. Запускается без optirun до тех пор, пока не попробуешь один раз запустить с optirun. После - ни одним из способов, что мешает, не понял (процессы wine почистил, не помогает).
Все правильно так и должно быть, после запуска optirun 3d частично не работает на intel, не могу подсказать в чем проблема так как использую р6, на нем 3d приложения в wine работают, ищите, где-то несоответствие, из-за этого nvidia не работает, для начала надо просто linux х32 приложения запустить под nvidia и посмотреть что будет, а потом уже с wine бороться.

Оффлайн Hoblin

  • Давно тут
  • **
  • Сообщений: 32
    • Email
Да, под intel всё заработало. Видимо, после установки нужных пакетов я сразу пробовал optirun с вытекающими из этого последствиями.
Через intel работает корявенько, но, как ни странно, работает.

для начала надо просто linux х32 приложения запустить под nvidia и посмотреть что будет
Не подскажете пример, на котором удобно тестировать?

Оффлайн БарсSc

  • alt linux team
  • ***
  • Сообщений: 1 089
  • Intel_i7/nVidia_Optimus, AMD Ryzen 3 2200
Да, под intel всё заработало. Видимо, после установки нужных пакетов я сразу пробовал optirun с вытекающими из этого последствиями.
Через intel работает корявенько, но, как ни странно, работает.

для начала надо просто linux х32 приложения запустить под nvidia и посмотреть что будет
Не подскажете пример, на котором удобно тестировать?
Doom3, quake4 конечно линуксовые версии. Чего-то нахватает у вас, должно все работать, библиотеки, которые у меня установлены.
rpm -qa | grep libgl
i586-libglademm-2.6.7-alt2.qa1
libglew1.5-1.5.6-alt3
libglpng-1.45-alt1.1
libglibmm-2.28.2-alt1
i586-libglew1.5-1.5.6-alt3
libglademm-2.6.7-alt2.qa1
libglade-2.6.4-alt5
python-module-pygtk-libglade-2.24.0-alt3
i586-libglade-2.6.4-alt5
i586-libglibmm-2.28.2-alt1
i586-libglpng-1.45-alt1.1

rpm -qa | grep libGL
i586-libGLU-7.11.2-alt1.M60T.1
libGL-7.11.2-alt1.M60T.1
libGLU-7.11.2-alt1.M60T.1
i586-libGL-7.11.2-alt1.M60T.1

Оффлайн Hoblin

  • Давно тут
  • **
  • Сообщений: 32
    • Email
Doom3, quake4 конечно линуксовые версии. Чего-то нахватает у вас, должно все работать, библиотеки, которые у меня установлены.

У меня вывод теперь аналогичен (соответственно, для p7) плюс есть libglew1.7.

Пробую запустить Doom3. Вот оно:
----- Initializing Decls -----
------------------------------
------- Initializing renderSystem --------
using ARB renderSystem
renderSystem initialized.
--------------------------------------
5206 strings read from strings/english.lang
Couldn't open journal files
execing editor.cfg
execing default.cfg
execing DoomConfig.cfg
couldn't exec autoexec.cfg
5206 strings read from strings/english.lang
----- Initializing Sound System ------
sound system initialized.
--------------------------------------
----- R_InitOpenGL -----
Setup X display connection
dlopen(libGL.so.1)
Initializing OpenGL display
Using XFree86-VidModeExtension Version 2.2
DGA DirectVideo Mouse (Version 2.0) initialized
Free86-VidModeExtension Activated at 640x480
Using 8/8/8 Color bits, 8 Alpha bits, 24 depth, 8 stencil display.
Xlib:  extension "NV-GLX" missing on display ":0".
GL_RENDERER: Mesa DRI Intel(R) Ivybridge Mobile
GL_EXTENSIONS: GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shadow GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_transpose_matrix GL_ARB_vertex_program GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_object GL_EXT_multi_draw_arrays GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_compression_dxt1 GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_EXT_texture_object GL_EXT_vertex_array GL_ATI_draw_buffers GL_IBM_texture_mirrored_repeat GL_NV_blend_square GL_NV_depth_clamp GL_NV_light_max_exponent GL_NV_texgen_reflection GL_NV_texture_env_combine4 GL_NV_texture_rectangle GL_SGIS_generate_mipmap GL_SGIS_texture_lod

------- Input Initialization -------
XKB extension: compile time 0x1:0x0, runtime 0x1:0x0: OK
XKB extension present on server ( 0x1:0x0 )
------------------------------------
dlopen(libasound.so.2)
asoundlib version: 1.0.27
Alsa is available
------ Alsa Sound Initialization -----
ALSA lib dlmisc.c:236:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/alsa-lib/libasound_module_pcm_pulse.so
snd_pcm_open SND_PCM_STREAM_PLAYBACK 'default' failed: No such device or address
dlclose
WARNING: sound subsystem disabled

--------------------------------------
----------- Alsa Shutdown ------------
--------------------------------------
...using GL_ARB_multitexture
...using GL_ARB_texture_env_combine
...using GL_ARB_texture_cube_map
...using GL_ARB_texture_env_dot3
...using GL_ARB_texture_env_add
...using GL_ARB_texture_non_power_of_two
...using GL_ARB_texture_compression
X..GL_EXT_texture_compression_s3tc not found
...using GL_EXT_texture_filter_anisotropic
   maxTextureAnisotropy: 16.000000
...using GL_EXT_texture_lod
...using GL_1.4_texture_lod_bias
X..GL_EXT_shared_texture_palette not found
...using GL_EXT_texture3D
...using GL_EXT_stencil_wrap
X..GL_NV_register_combiners not found
...using GL_EXT_stencil_two_side
X..GL_ATI_fragment_shader not found
X..GL_ATI_text_fragment_shader not found
X..GL_ARB_vertex_buffer_object not found
...using GL_ARB_vertex_program
...using GL_ARB_fragment_program
X..EXT_depth_bounds_test not found
---------- R_NV20_Init ----------
Not available.
----------- R200_Init -----------
Not available.
---------- R_ARB2_Init ----------
Available.
---------------------------------
----- R_ReloadARBPrograms -----
glprogs/test.vfp
glprogs/test.vfp
glprogs/interaction.vfp
glprogs/interaction.vfp
glprogs/bumpyEnvironment.vfp
glprogs/bumpyEnvironment.vfp
glprogs/ambientLight.vfp
glprogs/ambientLight.vfp
glprogs/shadow.vp
glprogs/R200_interaction.vp
glprogs/nv20_bumpAndLight.vp
glprogs/nv20_diffuseColor.vp
glprogs/nv20_specularColor.vp
glprogs/nv20_diffuseAndSpecularColor.vp
glprogs/environment.vfp
glprogs/environment.vfp
glprogs/arbVP_glasswarp.txt: File not found
glprogs/arbFP_glasswarp.txt: File not found
-------------------------------
WARNING: vertex array range in virtual memory (SLOW)
signal caught: Segmentation fault

Кроме того, optirun параллельно уличён и в другой проблеме.
« Последнее редактирование: 14.05.2013 17:58:57 от Hoblin »

Оффлайн Hoblin

  • Давно тут
  • **
  • Сообщений: 32
    • Email
Обнаружил, что у меня не стоял i586-VirtualGL. Есть ощущение, что как минимум с запуском Doom всё решилось.

Оффлайн БарсSc

  • alt linux team
  • ***
  • Сообщений: 1 089
  • Intel_i7/nVidia_Optimus, AMD Ryzen 3 2200
Обнаружил, что у меня не стоял i586-VirtualGL. Есть ощущение, что как минимум с запуском Doom всё решилось.
Точно, эта библиотека тоже нужна, должно и в вине все решиться.

Оффлайн Hoblin

  • Давно тут
  • **
  • Сообщений: 32
    • Email
Исходная проблема действительно решилась. Есть некоторые проблемы в запуске и работе (под intel работает всё, а под nvidia возникают ошибки), но это уже точно к драйверу и bumblebee, 32-битный wine драйвер увидел.