Собственные игры для Linux из Steam работают отлично, за исключением 32-битных игр, таких как Hotline Miami и Team Fortress 2. 64-битные игры используют мой NVIDIA 1060 Max-Q, но 32-битные игры используют встроенный чип Intel и, как следствие, много. Я знаю, что они не используют 1060, потому что приложения не отображаются в nvidia-smi или же нвтоп.
Я пробовал массу вещей, но не могу заставить их работать на моем выделенном графическом процессоре:
примусран ./Горячая линия использует карту Intel
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia %команда% использует карту Intel
Запуск версий Windows с Proton имеет ту же проблему. Я также пытался запустить их с помощью Lutris, но безуспешно.
Я думаю, что проблема в том, что 32-битные библиотеки Nvidia Open-GL установлены неправильно, потому что ни одна 64-битная родная игра для Linux не имеет проблем. Я пробовал очищать и переустанавливать драйверы Nvidia, но никаких изменений.
Бег ldconfig -p | grep GL дает мне это:
libQt5OpenGL.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libQt5OpenGL.so.5
libQt5OpenGL.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libQt5OpenGL.so
libOpenGL.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libOpenGL.so.0
libOpenGL.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libOpenGL.so
libGLdispatch.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libGLdispatch.so.0
libGLdispatch.so.0 (libc6) => /lib/i386-linux-gnu/libGLdispatch.so.0
libGLdispatch.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libGLdispatch.so
libGLX_nvidia.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libGLX_nvidia.so.0
libGLX_mesa.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libGLX_mesa.so.0
libGLX_mesa.so.0 (libc6) => /lib/i386-linux-gnu/libGLX_mesa.so.0
libGLX.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libGLX.so.0
libGLX.so.0 (libc6) => /lib/i386-linux-gnu/libGLX.so.0
libGLX.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libGLX.so
libGLU.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libGLU.so.1
libGLU.so.1 (libc6) => /lib/i386-linux-gnu/libGLU.so.1
libGLU.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libGLU.so
libGLEW.so.2.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libGLEW.so.2.1
libGLESv2_nvidia.so.2 (libc6,x86-64) => /lib/x86_64-linux-gnu/libGLESv2_nvidia.so.2
libGLESv2.so.2 (libc6,x86-64) => /lib/x86_64-linux-gnu/libGLESv2.so.2
libGLESv2.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libGLESv2.so
libGLESv1_CM_nvidia.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libGLESv1_CM_nvidia.so.1
libGLESv1_CM.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libGLESv1_CM.so.1
libGLESv1_CM.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libGLESv1_CM.so
libGL.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libGL.so.1
libGL.so.1 (libc6) => /lib/i386-linux-gnu/libGL.so.1
libGL.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libGL.so
libEGL_nvidia.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL_nvidia.so.0
libEGL_mesa.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL_mesa.so.0
libEGL.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL.so.1
libEGL.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL.so
Бег glxinfo | grep OpenGL дает мне это:
Строка поставщика OpenGL: NVIDIA Corporation
Строка рендерера OpenGL: GeForce GTX 1060 с Max-Q Design/PCIe/SSE2
Строка версии основного профиля OpenGL: 4.6.0 NVIDIA 460.32.03
Строка версии языка затенения основного профиля OpenGL: 4.60 NVIDIA
Флаги контекста основного профиля OpenGL: (нет)
Маска профиля основного профиля OpenGL: основной профиль
Расширения основного профиля OpenGL:
Строка версии OpenGL: 4.6.0 NVIDIA 460.32.03
Строка версии языка шейдинга OpenGL: 4.60 NVIDIA
Флаги контекста OpenGL: (нет)
Маска профиля OpenGL: (нет)
Расширения OpenGL:
Строка версии профиля OpenGL ES: OpenGL ES 3.2 NVIDIA 460.32.03
Строка версии языка затенения профиля OpenGL ES: OpenGL ES GLSL ES 3.20
Расширения профиля OpenGL ES:
Я очень застрял в том, в чем проблема и как ее исправить. Любая помощь приветствуется.