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

Can't Trace app with MGD 2.0.1

Hi,

I'm trying to profile a game with MGD 2.0.1 without success. So far my status is that I successfully managed to connect to target in the MGD GUI but no trace data is displayed.

Logcat is not displaying any information on the intercepted lib. I don't know what I am missing.

ligGLES_mgd.so and mgddaemon are inside /system/lib/egl and there's a symbolic link libGLES_mgd.so pointing to libGLES.so

I tried both with processlist.cfg and without it. egl.cfg contains "0 0 mali" (as per instructions on android 4.4 telling no need to do "0 0 mgd"

Host: Windows 7

Target: Note 4 910H Android 4.4.4 running an APK generated by Unity 4.6

Kind Regards,

Phil Lira.

Parents
  • Hi Phil,

    If logcat is not displaying any output from the interceptor lib then this is because the Android EGL loader is not picking it up. The EGL loader mechanism on Android 4.4, from memory, basically looks for something called libGLES.so, and if it doesn't find it, looks for anything matching the now deprecated tag naming scheme, libGLES_<tag>.so, and takes the first thing it sees. The user guide seems to expect that the driver won't have gone for the primary method of just calling the library libGLES.so, so the intention is that you create a symlink called libGLES.so that points to libGLES_mgd.so, and EGL picks it up first. I'd sanity check that there isn't a libGLES.so in /vendor/lib/egl etc which might be getting picked up first, and also, have you restarted the OS before attempting to trace an app? The system must be restarted in order for the new lib to be picked up (older versions of Android it was sufficient to just restart the app process by force closing it).

    If you still have trouble can you provide directory listings of /vendor/lib/egl/ and /system/lib/egl/ as they were before you started?

    Cheers,

    Chris

Reply
  • Hi Phil,

    If logcat is not displaying any output from the interceptor lib then this is because the Android EGL loader is not picking it up. The EGL loader mechanism on Android 4.4, from memory, basically looks for something called libGLES.so, and if it doesn't find it, looks for anything matching the now deprecated tag naming scheme, libGLES_<tag>.so, and takes the first thing it sees. The user guide seems to expect that the driver won't have gone for the primary method of just calling the library libGLES.so, so the intention is that you create a symlink called libGLES.so that points to libGLES_mgd.so, and EGL picks it up first. I'd sanity check that there isn't a libGLES.so in /vendor/lib/egl etc which might be getting picked up first, and also, have you restarted the OS before attempting to trace an app? The system must be restarted in order for the new lib to be picked up (older versions of Android it was sufficient to just restart the app process by force closing it).

    If you still have trouble can you provide directory listings of /vendor/lib/egl/ and /system/lib/egl/ as they were before you started?

    Cheers,

    Chris

Children