This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Mali Graphics Debugger : No trace displayed on MGD GUI


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

Parents
  • Hi Prabal,

    Can you let us know the output of the following 2 commands:

    ldd <path/nameofexecutable>

    LD_PRELOAD=/path/to/libinterceptor.so ldd <path/nameofexecutable>


    Making sure that in the LD_PRELOAD case you are passing the full path including the name of the library not just the directory.

    Cheers,

    Chris

Reply
  • Hi Prabal,

    Can you let us know the output of the following 2 commands:

    ldd <path/nameofexecutable>

    LD_PRELOAD=/path/to/libinterceptor.so ldd <path/nameofexecutable>


    Making sure that in the LD_PRELOAD case you are passing the full path including the name of the library not just the directory.

    Cheers,

    Chris

Children
  • 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>

     

            libX11.so.6 => /usr/lib/libX11.so.6 (0x42f88000)

            libEGL.so => /usr/lib/libEGL.so (0x49680000)

            libGLESv2.so => /usr/lib/libGLESv2.so (0x49548000)

           ..

           ..

           ..

    There is no change in the ldd output even after running LD_PRELOAD

    command.

    Thanks and Regards

    Prabal Ghosh

  • 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,


    Thanks a lot for your reply.


    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.


    Thanks and Regards

    Prabal Ghosh

  • 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 .

    Cheers,

    Chris