Results 1 to 5 of 5

Thread: NVIDIA graphics card accessible by one user but not another

  1. #1

    Default NVIDIA graphics card accessible by one user but not another

    I have a workstation with an nVidia graphics card (Quadro K2200) and have installed the latest drivers from the nVidia repository:

    Code:
    nvidia-computeG04        
    nvidia-gfxG04-kmp-default
    nvidia-glG04             
    x11-video-nvidiaG04
    When executing `glxinfo` from user1 I receive the proper information regarding the graphics driver:

    Code:
    $ glxinfo | grep -i opengl
    OpenGL vendor string: NVIDIA Corporation
    OpenGL renderer string: Quadro K2200/PCIe/SSE2
    OpenGL core profile version string: 4.5.0 NVIDIA 390.25
    OpenGL core profile shading language version string: 4.50 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 390.25
    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 390.25
    OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
    OpenGL ES profile extensions:
    When I execute the same command from user2, I get the following error:

    Code:
    $ glxinfo | grep -i opengl
    X Error of failed request:  BadValue (integer parameter out of range for operation)
      Major opcode of failed request:  153 (GLX)
      Minor opcode of failed request:  24 (X_GLXCreateNewContext)
      Value in failed request:  0x0
      Serial number of failed request:  76
      Current serial number in output stream:  77
    From what I can gather about library paths, they look identical:

    User 1:

    Code:
    $ ldd `which glxinfo`                             
        linux-vdso.so.1 (0x00007ffc918b8000)
        libGL.so.1 => /usr/X11R6/lib64/libGL.so.1 (0x00007f25a639e000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f25a6060000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f25a5cbb000)
        libnvidia-tls.so.390.25 => /usr/lib64/tls/libnvidia-tls.so.390.25 (0x00007f25a5ab7000)
        libnvidia-glcore.so.390.25 => /usr/lib64/libnvidia-glcore.so.390.25 (0x00007f25a3cf4000)
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f25a3ae2000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f25a38de000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f25a36be000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f25a66db000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f25a33c1000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f25a31bd000)
    User 2:

    Code:
    $ ldd `which glxinfo`
        linux-vdso.so.1 (0x00007ffe0a5c5000)
        libGL.so.1 => /usr/X11R6/lib64/libGL.so.1 (0x00007f7b3dd34000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f7b3d9f6000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f7b3d651000)
        libnvidia-tls.so.390.25 => /usr/lib64/tls/libnvidia-tls.so.390.25 (0x00007f7b3d44d000)
        libnvidia-glcore.so.390.25 => /usr/lib64/libnvidia-glcore.so.390.25 (0x00007f7b3b68a000)
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f7b3b478000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f7b3b274000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f7b3b054000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f7b3e071000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f7b3ad57000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f7b3ab53000)
    The two users both have similar permissions, except for the fact that user1 is in the wheel group, which I set to allow sudo.

    Can anyone give me a clue about what may be wrong here?

  2. #2

    Default Re: NVIDIA graphics card accessible by one user but not another

    For the curious, here is a link to my Xorg log file: https://gist.github.com/cbcoutinho/3...919a8e819881ad

  3. #3

    Default Re: NVIDIA graphics card accessible by one user but not another

    Ok I think I determined what the issue is, but I'm still confused with how a graphics driver works.

    I was testing user1 and user2 by being logged into an xsession with user1, and switching to user2 within the terminal (ie. `su - user2`)

    When I logged out of user1 and into an xsession with user2, glxinfo worked as expected and I was no longer able to able to use switch to user1 and execute glxinfo.

    What I want to do is access this workstation remotely using the Visualization tool 'ParaView'. ParaView can start data and render server remotely via ssh, and I've been successful in doing this when the server is logged in as the user I want to start the server as. I would like to be able to start a server remotely without needed to be logged into the remote machine with the same user.

  4. #4

    Default AW: Re: NVIDIA graphics card accessible by one user but not another

    Quote Originally Posted by cbcoutinho View Post
    I was testing user1 and user2 by being logged into an xsession with user1, and switching to user2 within the terminal (ie. `su - user2`)

    When I logged out of user1 and into an xsession with user2, glxinfo worked as expected and I was no longer able to able to use switch to user1 and execute glxinfo.
    When you login to a graphical session, your user is given full access rights to the hardware by logind, which is necessary for hardware OpenGL support e.g.

    But this doesn't happen if you just use su to switch to a different user.

    As a workaround, you probably could add the users to the "video" group, so they always have full access to the graphics card.

    I see a different possible problem with ssh though, AFAIK nvidia doesn't support indirect rendering since quite some time.
    So it might still not work via ssh, but I'm not sure...

  5. #5

    Default Re: NVIDIA graphics card accessible by one user but not another

    Hi @wolfi323,

    Thanks for your tip, adding both users to the video group allows me remote access to the GPU.

    Cheers!

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •