Announcement

Collapse
No announcement yet.

NVIDIA Releases Linux Graphics Debugger For OpenGL 4.2~4.5

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • NVIDIA Releases Linux Graphics Debugger For OpenGL 4.2~4.5

    Phoronix: NVIDIA Releases Linux Graphics Debugger For OpenGL 4.2~4.5

    Complementing VOGL and APITrace for Linux OpenGL debugging is now the NVIDIA Linux Graphics Debugger...

    http://www.phoronix.com/scan.php?pag...IA-GL-Debugger

  • #2
    Promising:

    Comment


    • #3
      Still a bit rough around the edges. First it wouldn't connect to 'localhost' (it would always spit out a 'Connection failed' error message). The way I fixed that was to add my own public key to the 'autorized_keys' file and connect without using a password. Once connected it can't find any processes to attach to. When launching processes you can't set the working directory (which is a bit annoying). Also it constantly crashes for me right after launching a process with the following message:

      Code:
      /home/ileonte/work/projects/install/nvdbg/nvidia-gfx-debugger.bin: symbol lookup error: /usr/lib64/libssl.so: undefined symbol: EVP_aes_128_cbc_hmac_sha256
      I still haven't found a way to work around that.

      // EDIT
      Found a way around the libssl error after all: I added the following line to the 'nvidia-gfx-debugger' script (between the 'export LD_LIBRARY_PATH=...' line and the 'if' statement):

      Code:
      export LD_PRELOAD=/usr/lib/libcrypto.so
      Last edited by ileonte; 11 August 2015, 07:45 PM.

      Comment


      • #4
        I'm not sure what the intended server to connect to is supposed to be... however, setting up a small default SSH server (which works fine for localhost by default) seems to do the trick. Using your regular user at this point seems fine.

        There does appear to be a linker issue with SSL. The trick from ileonte seems to work and they just (somehow) forgot to link against libcrypto.so (or maybe a packaging error?).

        Applications won't be detected unless your preload the debugger library into it. This might turn some off but it's a requirement and a difficult one to implement in Linux, admittedly.

        Nvidia does provide a small bit of documentation, explaining how to launch a process: http://docs.nvidia.com/linux-graphic...ger/index.html

        So far, it does look promising. I like the idea of remote debugging.
        There some issues that currently can't be worked around.

        1) The ridiculous mishandling of white space. Trying to launch a process through the menu that has whitespace in the path will fail to launch.
        2) Application hang up... although I don't think it's the fault of the debugger.

        That said, the frame capture is a god send. It's pretty good and actually immediately helped fix a bug with my renderer with some of the statistics it showed being out of wack.
        Clean it up a little, add some Vulkan support (which it seems to be prepared for) and it looks like a top of the line tool.

        Comment


        • #5
          Couldn't seem to get this to run with Primusrun. Ran my application with the debugging .so library but now it tells me it libGL.so it found is not an nvidia one, so either this isn't compatible with bumblebee at the moment or I need to better inform the program where the proper libGL.so file is. At work right now though so will need to try out later tonight.

          Comment


          • #6
            Originally posted by laykun View Post
            Couldn't seem to get this to run with Primusrun. Ran my application with the debugging .so library but now it tells me it libGL.so it found is not an nvidia one, so either this isn't compatible with bumblebee at the moment or I need to better inform the program where the proper libGL.so file is. At work right now though so will need to try out later tonight.

            Ok solved my issue when I got home by using optirun instead, while also appending '/usr/lib/nvidia-346/libGL.so.1' to LD_PRELOAD and '/usr/lib/nvidia-346/' to LD_LIBRARY_PATH environment variables.

            Comment

            Working...
            X