Setting Nsight Graphics (Linux) LD_PRELOAD path

I’m trying to get new Nsight Graphics working on my Linux project. I currently have the Nvidia Linux Graphics Debugger setup and I know that with that version you had to set the LD_PRELOAD="/usr/local/Linux-Graphics-Debugger/target/linux-desktop-glibc_2_11_3-glx-x64/Stripped_libNvidia_gfx_debugger.so" in order to attach to the project after it’s already running.

I tried to find a similar path for Nsight Graphics, but I couldn’t find in the documentation which new lib to link to. Does anyone know what the name of the new lib is that we need to link to for attaching to projects in Nsight Graphics?

I was wondering the very same thing. Using LGD’s library the process shows up in nsight, but the attach button is grayed. Tried using some libs i found in nsight’s dir, but stuff either crashes (libNvda.Graphics.Interception.so) and if not won’t show up in nsight (libNvda.Graphics.FrameDebugger.Native.so). Starting the process from nsight won’t work, but i would want to use the attach-feature anyhow.

EDIT: also remote debugging under linux won’t work with nsight, does work with LGD.

Same here: I’ve tried various ways of launching from Nsight Graphics, and I’ve tried attaching to a launched process as with LGD without any luck. The documentation sort of skips how to launch a process one can attach to. In my case I’m on CentOS 7.X

The last version of LGD that kind of works for me is 2.1. It fails to show texture-previews, but other than that it seems ok. By now i think it’s libNvda.Graphics.Interception.so which is to be preloaded, i tried to confirm by tracing a process started trough nsight, but haven’t been able to do so. Anyway, that lib segfaults just the same as LGD >2.1 lib does.
i tried on debian 8 and 9 over 3 workstations (intel cpus), and a bunch of recent drivers.
ps: have the feeling this has to do with Xorg vs nsight/lgd, but don’t really have time to investigate.

Hi,

Latest release of Nsight Graphics Linux (version 2018.4) now supports launching shell script, so it’s not necessary to set LD_PRELOAD.

In case you still need it in some case, libNvda.Graphics.Interception.so is the one to preload.

Why is this information again not documented?

The documentation is just not existing:

  1. https://docs.nvidia.com/nsight-graphics/2018.4/index.html – is practically empty

  2. Pressing “Help/Documentation” in the application just crashes with ‘This application failed to start because it could not find or load the Qt platform plugin “xcb” in “”.’. The nsight app itself is working.

(nsight version 2018.4)

LD_PRELOAD=/…install_path…/target/linux-desktop-nomad-glx-x64/libNvda.Graphics.Interception.so is not working.

I can see my application in the “Attach” tab in the list under “Process Name/PID”, but the “Attach” button at the bottom is still grayed out. Is this a bug in the UI?

Starting the application using the “Launch” tab is working fine.

Hi alex_f,

Is there a scenario that you have to launch the application with LD_PRELOAD?
We do not suggest launching apps with LD_PRELOAD given that launching shell script is already supported in latest version.

Which launching-script – where is it documented?

In version 2018.4 release notes:

Improved: Ability to launch shell scripts from Nsight Graphics for Linux

The documentation shall explain how to do things, not just mention their existence.

So still: Which launch script? Where is the documentation?

Since I use an IDE for the development, I want to start my application over the IDE (which in turn often starts our own custom start scripts). Here the way over LD_PRELOAD is very handy.

As a note to others: The reason libNvda.Graphics.Interception.so caused SegFaults for me was that i also used libASAN (google’s AdressSanitizer, a memory debugger). I recompiled without it, and that together with the changes in 2018.4 make it work for me. Finally! Too bad i have to compile 2 binaries for debugging now, but at least it works.