Hi,
I am trying to install Mali graphics debugger(v2.0.2) on my target(arm_fbdev) as mentioned in the MGD user guide.
I started the mgddaemon and preloaded the interceptor library path before launching the OpenGL ES app but i could not get any trace on MGD GUI.
However, it seems that the host is properly connected as per below log
"Host Connected."
Also . i tried the other alternative to LD_PRELOAD ,i.e., setting LD_LIBRARY_PATH & MGD_LIBRARY_PATH as mentioned in the guide
but still could not get any traces.
I could see libEGL.so and libGLESv2.so in arm_fbdev folder other than the interceptor library.
Please suggest if I am missing anything on setup.
Thanks and Regards
Prabal Ghosh
Hi Chris
Thanks a lot for your reply.
ldd <path/nameofexecutable>
libX11.so.6 => /usr/lib/libX11.so.6 (0x42f88000)
libEGL.so => /usr/lib/libEGL.so (0x49680000)
libGLESv2.so => /usr/lib/libGLESv2.so (0x49548000)
..
LD_PRELOAD=/path/to/libinterceptor.so ldd <path/nameofexecutable>
There is no change in the ldd output even after running LD_PRELOAD
command.
Hi Prabal,
Can you do that again but this time with LD_LIBRARY_PATH (pointing to the MGD libs dir) and MGD_LIBRARY_PATH (pointing to the real ones, /usr/lib by the looks of it) instead? i.e.
LD_LIBRARY_PATH=/path/to/mgdlibs MGD_LIBRARY_PATH=/usr/lib ldd exec
I think my linker knowledge is slightly rusty and my above LD_PRELOAD request was actually irrelevant, I don't think you would see any difference with ldd, only the calls themselves would be redirected I think. Sorry about that! the *_LIBRARY_PATH ones will give us good info
Cheers,
Chris
Hi Chris,
MGD is working fine and i could see the trace in MGD GUI.
The issue was with LD_LIBRARY_PATH/LD_PRELOAD on my target system which was not being set properly.
I made few changes by copying libEGL.so and libGLESv2.so (present in arm_fbdev) into my /usr/lib/ directory and setting MGD_LIBRARY_PATH=/usr/lib/malidriver/ .(directory created by me)
Things seems to be working fine now.
Yep that would do it, glad you got it working! For the benefit of people googling this later though, it's not advisable to copy the interceptor libs to /usr/lib as it changes the behaviour for normal operation, as everything will now see the MGD libs in /usr/lib and so stuff will stop working unless you have MGD_LIBRARY_PATH correctly set. Correct operation would be achieved without this side effect if you left the real libs in /usr/lib, and set MGD_LIBRARY_PATH to that, and set LD_LIBRARY_PATH to the location of the interceptor libs for the apps you wish to trace .