Проблема с запуком программ через Primusrun

Модераторы: Skull, Модераторы разделов

nikita1907
Сообщения: 2
ОС: Линукс

Проблема с запуком программ через Primusrun

Сообщение nikita1907 »

Добрый день.
Подскажите, пожалуйста, уже больше недели мучаюсь, проблему решить не получается. Я новичек в обращении с ОС Линукс, поэтому очень затрудняюсь определить, в какую сторону рыть.
Технические характеристики и ПО:
nikita1907@Notebook ~ $ inxi -F
System:
Host: Notebook.localdomain Kernel: 5.4.98-std-def-alt1 x86_64 bits: 64
Desktop: MATE 1.22.2 Distro: ALT Workstation 9.0
Machine:
Type: Laptop System: Notebook product: W65_67SC v: N/A
serial: <superuser/root required>
Mobo: Notebook model: W65_67SC serial: <superuser/root required>
UEFI: American Megatrends v: 1.03.02 date: 01/23/2015
CPU:
Topology: Dual Core model: Intel Core i5-4210M bits: 64 type: MT MCP
L2 cache: 3072 KiB
Speed: 798 MHz min/max: 800/3200 MHz Core speeds (MHz): 1: 799 2: 798
3: 798 4: 800
Graphics:
Device-1: Intel 4th Gen Core Processor Integrated Graphics driver: i915
v: kernel
Device-2: NVIDIA GM107M [GeForce GTX 950M] driver: nvidia v: 460.32.03
Device-3: Chicony Chicony USB 2.0 Camera type: USB driver: N/A
Display: x11 server: X.Org 1.20.8 driver: nvidia resolution: 1366x768~60Hz
OpenGL: renderer: Mesa DRI Intel HD Graphics 4600 (HSW GT2)
v: 4.5 Mesa 20.1.8
Optimus устанавливал как прописано на оф. сайте: Nvidia optimus, настройка и запуск bumblebee
Изначально, при выполнении, например, команды primusrun glxgears в терминале выдавало "primus: fatal: failed to load any of the libraries: /usr/$LIB/X11/libGL.so.1", но это же сообщение выдавало и запуском любых других программ. При запуске через optirun таких проблем не возникает, кроме игр установленных в вайн. Подозреваю, что это возможно из-за версии вайн, так как, например, игра Pillars of Eternity II: Deadfire установленная в линукс (не через Proton) запускается командой optirun и заметен прирост производительности, т.е. предполагаю, что с optirun проблем нет, чего не скажу о primusrun.
Ковырянием по просторам интернета получилось создать ярлыки в запрашиваемых папках на библиотеки в папку последних драйверов nvidia:
Notebook ~ # find / -iname libGL.so.1
/usr/lib64/libGL.so.1
/usr/lib64/nvidia_340.108/libGL.so.1
/usr/lib64/nvidia_460.32.03/libGL.so.1
/usr/lib64/nvidia_390.141/libGL.so.1
/usr/lib64/primus/libGL.so.1
/usr/lib/libGL.so.1
/usr/lib/nvidia_340.108/libGL.so.1
/usr/lib/nvidia_460.32.03/libGL.so.1
/usr/lib/nvidia_390.141/libGL.so.1
/usr/lib/primus/libGL.so.1
командой
Notebook ~ # ln -s /usr/lib64/nvidia_460.32.03/libGL.so.1 /usr/lib64/X11/
Notebook ~ # ln -s /usr/lib/nvidia_460.32.03/libGL.so.1 /usr/lib/X11
Теперь при запуске primusrun glxgears выдает ошибку "X Error of failed request: BadMatch (invalid parameter attributes)", а игра Pillars of Eternity II начинает стартовать, появляется окно и падает:
nikita1907@Notebook ~ $ primusrun glxgears
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 152 (GLX)
Minor opcode of failed request: 11 (X_GLXSwapBuffers)
Serial number of failed request: 40
Current serial number in output stream: 41
primus: warning: dropping a frame to avoid deadlock
primus: warning: timeout waiting for display worker
nikita1907Notebook Pillars of Eternity II $ primusrun '/home/vasilii/.local/share/Steam/steamapps/common/Pillars of Eternity II/PillarsOfEternityII'
Found path: /home/vasilii/.local/share/Steam/steamapps/common/Pillars of Eternity II/PillarsOfEternityII
Mono path[0] = '/home/vasilii/.local/share/Steam/steamapps/common/Pillars of Eternity II/PillarsOfEternityII_Data/Managed'
Mono path[1] = '/home/vasilii/.local/share/Steam/steamapps/common/Pillars of Eternity II/PillarsOfEternityII_Data/Mono'
Mono config path = '/home/vasilii/.local/share/Steam/steamapps/common/Pillars of Eternity II/PillarsOfEternityII_Data/Mono/etc'
Preloaded 'libdiscord-rpc.so'
Preloaded 'ScreenSelector.so'
Preloaded 'libAkFlanger.so'
Preloaded 'libAkHarmonizer.so'
Preloaded 'libAkPitchShifter.so'
Preloaded 'libAkSoundEngine.so'
Preloaded 'libAkStereoDelay.so'
Preloaded 'libAkTremolo.so'
Preloaded 'libMcDSP.so'
Preloaded 'libSDL2-2.0.so'
Preloaded 'libsteam_api.so'
Player data archive not found at `/home/vasilii/.local/share/Steam/steamapps/common/Pillars of Eternity II/PillarsOfEternityII_Data/data.unity3d`, using local filesystemАварийный останов
Glxgears запускается черным окном, куллер крутится быстрее, и ничего не происходит.
Но вот при выполнении primusrun nvidia-settings -c :8 приложение стало запускаться.
Не знаю правильно ли я сослался, но при указании библиотек в папке primus запуск, например, primusrun glxgears приводил к "зависанию" в терминале, только куллер активнее крутит.
Дополнительная информация: команда glxinfo | grep Open
nikita1907@Notebook ~ $ glxinfo | grep Open
Vendor: Intel Open Source Technology Center (0x8086)
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 4600 (HSW GT2)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 20.1.8
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 20.1.8
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 20.1.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
nikita1907@Notebook ~ $ primusrun glxinfo | grep Open
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 950M/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 460.32.03
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6.0 NVIDIA 460.32.03
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
xrandr --listproviders
nikita1907@Notebook ~ $ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x47 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 4 associated providers: 0 name:Intel
Provider 1: id: 0x202 cap: 0x0 crtcs: 0 outputs: 0 associated providers: 0 name:NVIDIA-G0
lspci
nikita1907@Notebook ~ $ lspci
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 950M] (rev a2)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:

nikita1907
Сообщения: 2
ОС: Линукс

Re: Проблема с запуком программ через Primusrun

Сообщение nikita1907 »

Все разобрался. Нужно было Nvidia optimus установить без bumblebee так как у меня дистрибутив на базе бранча p9. Теперь все работает и заводится с "пол пинка" командой "__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME="nvidia" __VK_LAYER_NV_optimus="NVIDIA_only"".
Спасибо сказали: