On 12/1/15 8:38 PM, Logan McNaughton wrote: > What is the danger in adding: > > /usr/lib64/libdlfaker.so /usr/lib64/librrfaker.so > > to /etc/ld.so.preload? > > In my testing it seems to work fine (so you don't need to use "vglrun" > to activate OpenGL graphics). > I read somewhere it's a bad idea, but I can't find it now, why is this a > bad idea?
https://github.com/VirtualGL/virtualgl/issues/12 and https://sourceforge.net/p/virtualgl/bugs/61/ enumerate some of the dangers. Sometimes, due to no fault of ours, issues can arise that are caused by preloading VirtualGL into a non-OpenGL application. On some occasions, these issues have been triggered by the nVidia drivers doing "unique" things, for instance. VirtualGL 2.5 takes steps to make the fakers less intrusive-- mainly, libvglfaker.so now waits until an X11, OpenGL, or xcb symbol is actually referenced by an application before loading the symbol from libGL, libX11, or libxcb. Also, VirtualGL 2.5 no longer tries to instantiate any classes at file scope (instead waiting until the global objects are first used.) Referring to the GitHub issue above, however, apparently there are still some lingering issues that I need to fix. Note that using libvglfaker-nodl.so rather than libvglfaker.so makes the faker even less intrusive, because libvglfaker-nodl.so does not link directly with libGL. However, that version of the faker will not work with applications that load libGL using dlopen()/dlsym(). In general, I would suggest using VirtualGL 2.5 beta if you plan to leave the faker loaded all the time. I think your odds of success are going to be higher than with 2.4.x. > Also, is there any documentation on what the environment variables that > vglrun sets are for? For instance: > GEOPROBE_USEGLX=1 > PROMAGIC_USEGLX=1 > VBOX_CROGL_FORCE_SUPPORTED=1 > VGL_ISACTIVE=1 [GEOPROBE|PROMAGIC]_USEGLX are specific to the Landmark Graphics/MagicEarth (now Halliburton) GeoProbe application, which historically was a key driver of the VirtualGL technology before VGL was open sourced in 2004. GeoProbe is a high-end seismic visualization application that lets you pass planar "probes" through multi-gigabyte (often multi-tens-of-gigabytes, even) seismic datasets in real time, so out of necessity, this application needed a true thin client 3D solution years before many other applications did. Setting the *_USEGLX variables tells GeoProbe to turn off its internal remote display feature and pretend like it's running locally, which is necessary to make it work properly with VirtualGL. VBOX_CROGL_FORCE_SUPPORTED is needed in order to make VirtualBox work properly with VGL. Otherwise, VBox tries to run a program to detect the presence of OpenGL, and for various reasons that I won't bore you with here (mainly because I've forgotten them), that program fails in a VirtualGL environment. VBox's accelerated 3D implementation is based on the obsolete Chromium3D software, which used to be used for parallel rendering "back in the day." Chromium3D interposes OpenGL in a different way than VirtualGL does, so we've had to make some hacks within VirtualGL to specifically accommodate VirtualBox's accelerated 3D feature. Unfortunately, those hacks couldn't address the behavior of the VBox OpenGL detection program. VGL_ISACTIVE is useful in the event that vglrun is used to launch a script. The script can take specific action depending on whether it's being run in a VirtualGL environment or not. More to the point, xstartup.turbovnc in the TurboVNC Server uses this variable to determine whether it should attempt to run a 3D window manager (on systems where that is the default, such as RHEL 7 and Ubuntu 14) or fall back to a 2D window manager. ------------------------------------------------------------------------------ Go from Idea to Many App Stores Faster with Intel(R) XDK Give your users amazing mobile app experiences with Intel(R) XDK. Use one codebase in this all-in-one HTML5 development environment. Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs. http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 _______________________________________________ VirtualGL-Users mailing list VirtualGL-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/virtualgl-users