ainthelp

Forum Replies Created

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • in reply to: Getting VirtualGL working #52186
    ainthelp
    Participant

    Note that LD_PRELOAD is set to a different value in the physical desktop and for a different purpose. In virtual desktops, the value you are supposed to see is:

    LD_PRELOAD=/opt/NX/scripts/vgl/libdlfaker.so:/opt/NX/scripts/vgl/libvglfaker.so

    You can try to set it manually and check again.

    Ah, I didn’t know that.
    Yes, if I manually set it to the new value for virtual desktops, the OpenGL application works!

    Also the test command yields the expected result now:

    % glxinfo | grep -i “renderer\|vendor”
    server glx vendor string: VirtualGL
    client glx vendor string: VirtualGL
    OpenGL vendor string: NVIDIA Corporation
    OpenGL renderer string: Quadro RTX 5000/PCIe/SSE2

     

    The OpenGL application still throws an error on start, despite that it finally starts successfully:

    libGL error: MESA-LOADER: failed to open swrast: /SW/Schrodinger/current/mmshare-v6.7/lib/Linux-x86_64/libstdc++.so.6: version `GLIBCXX_3.4.30′ not found (required by /usr/lib64/libLLVM.so.15) (search paths /usr/lib64/dri, suffix _dri)
    libGL error: failed to load driver: swrast

    Don’t know if this could be related or is something different.

     

    The question is still why LD_PRELOAD is not set, even if in the logs we see that it’s being added to the environment of the desktop process. At the moment I don’t have further ideas, we will check again in our labs with KDE Plasma.

    Let me know if there is anything I can test or diagnose to support you with this.

    How can I recognize a virtual desktop session in the shell? Perhaps, if this was possible we could define LD_PRELOAD accordingly in the system wide login files?

     

    in reply to: Getting VirtualGL working #52073
    ainthelp
    Participant

    Many thanks, fra81, for your reply!

    Yes, I also wondered why the LD_PRELOAD environment variable is undefined. I checked the system configuration with

    # grep -r LD_PRELOAD /etc/*sh*

    and found nothing. Neither deletion nor overwriting of this variable.

    I also checked the affected user’s profile with

    % grep -R LD_PRELOAD ~/.*

    and only found occurrences in the command history.

    Then I wondered if it may be related to the fact that we are using  tcsh  as default login shell, not  bash .
    I changed one user to  /usr/bin/bash  as login shell and retried. But no difference at all.

    When I connect to the physical display, LD_PRELOAD is defined and OpenGL applications are working.
    Only when I startup a new virtual KDE desktop, LD_PRELOAD is undefined and OpenGL not working.
    Using the  vglrun  command you provided with an OpenGL program I could verify that VirtualGL is functional. Started with  vglrun , the OpenGL application even works on a virtual display.

    Manually setting the LD_PRELOAD variable to “/opt/NX/lib/libnxegl.so” does not ‘fix’ the virtual session.

    I then tried to start the whole desktop via the vglrun command. We are using KDE Plasma, so I added this line into  node.cfg :

    DefaultDesktopCommand “/usr/bin/dbus-launch –exit-with-session /opt/NX/scripts/vgl/vglrun /usr/bin/startplasma-x11”

    But even after a reboot of the system there was no change: VirtualGL works in physical session, but fails in virtual session.

    I checked for the processes and noticed that the first one started by  nxnode.bin  referred to Wayland:

    % ps -lefl | egrep “3069|2964|3163|3174” | grep -v grep | sort -n -k 4
    4 S username   2964  2950  4  60 -20 – 842297 do_epo 14:21 ?       00:00:15 /opt/NX/bin/nxnode.bin
    0 S username   3069  2964  0  80   0 –  6058 sigsus 14:21 ?        00:00:00 – -c env -u WAYLAND_DISPLAY /usr/bin/dbus-launch –sh-syntax –exit-with-session /usr/bin/startplasma-x11
    0 S username   3106  2964  1  80   0 – 299205 do_sys 14:21 ?       00:00:03 /usr/bin/pulseaudio –high-priority=no
    0 S username   3114  2964  0  80   0 – 301362 do_sel 14:21 ?       00:00:00 /opt/NX/bin/nxrunner.bin –monitor –pid 3069
    0 S username   3163  3069  0  80   0 – 64579 do_sys 14:21 ?        00:00:00 /usr/bin/startplasma-x11
    1 S username   3174     1  0  80   0 –  6947 do_sel 14:21 ?        00:00:00 /usr/bin/dbus-launch –sh-syntax –exit-with-session /usr/bin/startplasma-x11
    0 S username   3327  3163  0  80   0 – 62553 do_sys 14:21 ?        00:00:00 /usr/bin/plasma_session
    0 S username   3448  2964  5  60 -20 – 59013 pipe_r 14:21 ?        00:00:17 /opt/NX/bin/nxcodec.bin

    May this be related? We are using X11, because our software is not compatible with Wayland.
    OTOH the session itself reported it as X11 session:

    % echo $XDG_SESSION_TYPE
    x11

    Any further ideas? Anything else I can try?

    in reply to: Getting VirtualGL working #51829
    ainthelp
    Participant

    Been there, done that.

    in reply to: Getting VirtualGL working #51812
    ainthelp
    Participant

    Just for completeness sake in this thread. Did as requested and provided the logs via PM.

Viewing 4 posts - 1 through 4 (of 4 total)