Implications of -nodl option?

19 views
Skip to first unread message

Angel de Vicente

unread,
Nov 24, 2017, 4:31:56 AM11/24/17
to VirtualGL User Discussion/Support
Hi,

I wonder if you can give me a hand with the following situation:

My current setting is:

Fedora 4.13.11-200.fc26.x86_64
GPU: NVIDIA Corporation GP100GL [Tesla P100 PCIe 12GB] (rev a1)
VirtuGL 2.5.2 from official binaries (RPM)
TurboVNC Server (Xvnc) 64-bit v2.1.2 (build 20170925)

And I have been trying to run Vapor 2.6.0 (https://www.vapor.ucar.edu/) with vglrun without success for the last days. I just typed "vglrun vaporgui" and I got a segmentation fault. I got our computing support group to look into the problem, I tried many times, and it was always segmentation fault, before even opening any GUI window.

Yesterday I decided to give it another try, and after looking at the log produced with the option +tr, I tried with "vglrun -nodl vaporgui", and bingo, Vapor started fine. So I have two questions:

1) what does -nodl imply? For example, will some GL calls handled in software or something similar so performance will be worse?

2) before starting to write this mail, I decided to try again, and to my surprise, I can now start vapor, with and without the -nodl option. Does VirtualGL keep some type of cache/config files somewhere? (otherwise I cannot understand why I got so many segfaults before and now it works (no configuration has been changed in the machine, no reboots, ....)

Many thanks,
AdV

DRC

unread,
Nov 24, 2017, 11:29:56 AM11/24/17
to virtual...@googlegroups.com
1. Some applications use dlopen()/dlsym() to load OpenGL functions from libGL, rather than linking directly with libGL. The default behavior of VirtualGL is to intercept dlopen() calls from the 3D application so that we can redirect dlopen("libGL", ...) calls to libvglfaker.so and thus allow VirtualGL to work properly with applications that don't link directly with libGL. Very rarely, applications do "creative" things like overriding dlopen() for their own purposes, and this can interfere with VirtualGL's dlopen() interposer (dlfaker.so). That's why the -nodl option exists. It preloads libvglfaker.so into the application without preloading libdlfaker.so.

2. No, VGL doesn't cache settings. I have no clue why you're observing that behavior. Since the application is freely available, I can try to reproduce the segfault, but it will be at least a week before I can look into it.
--
You received this message because you are subscribed to the Google Groups "VirtualGL User Discussion/Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to virtualgl-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/virtualgl-users/2886531e-5893-48bb-a996-b820453d4e07%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages