Score:1

Why do 32-bit Steam games on my system use the integrated GPU instead of my dedicated Nvidia card?

mx flag

Native Linux games from Steam work great, except for 32-bit games like Hotline Miami and Team Fortress 2. 64-bit games use my NVIDIA 1060 Max-Q but the 32-bit games use the integrated Intel chip and as a consequence lag a lot. I know that they aren't using the 1060 because the applications do not show up in nvidia-smi or nvtop.

I've tried a ton of things, but I can't get them to run on my dedicated GPU:

  • primusrun ./Hotline uses the Intel card

  • __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia %command% uses the Intel card

  • Running the Windows versions with Proton have the same issue. I have also tried running them with Lutris but have had no success

I think the issue is that the 32-bit Nvidia Open-GL libraries are not properly installed, because no 64-bit native Linux game have any issues. I have tried purging and reinstalling the Nvidia drivers, but there is no change.

Running ldconfig -p | grep GL gives me this:

    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

Running glxinfo | grep OpenGL gives me this:

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1060 with Max-Q Design/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:
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 460.32.03
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

I'm super stuck on what the issue is and how to fix it. Any help is appreciated.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.