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

Getting Mali Graphics Debugger to work - "unable to read stream"

Hello,

this is my first post here, I'm trying to get the Mali Graphics Degubber to work. I've manager to copy the mgddaemon and libGLES_mgd.so to the correct location but when I try to run mgddaemon on the shell it says:

[1]   Illegal instruction     mgddaemon

And when I hit the connect button at the MGD an error pops up saying:

Unable to read stream: No data received from the target. Check the connection.

I would love if anyone could help me, thank you very much.

Parents
  • Hi draquod,

    MGD is designed for Mali GPUs, whereas the Galaxy Ace S5830s have either Qualcomm MSM7227-1 or Broadcom BCM21553 SOCs, containing Adreno 200 and VideoCore 400 GPUs respectively. The way the interceptor works at the moment, it looks for gles libraries with the "mali" tag on Android, so at the very least you would have to rename/link the relevant gles libraries to this so that MGD could find them. If you are using any non-mali vendor specific extensions, these would not be traced, and if they affect core state items these state changes would not be tracked.

    Secondly, these SOCs actually contain ARMv6 CPUs, but the MGD interceptor and daemon are compiled for ARMv7a CPUs which is why you are getting the illegal instruction errors, as the CPU encounters an instruction it can't decode.

    Finally, MGD only officially supports Android 4.x onwards, so I couldn't guarantee it would work on versions as old as 2.3.

    Depending on the SOC in your nexus device, it may contain a Mali GPU, ARMv7 CPU, and be running Android 4.x in which case this would be a better starting point

    Thanks,

    Chris

Reply
  • Hi draquod,

    MGD is designed for Mali GPUs, whereas the Galaxy Ace S5830s have either Qualcomm MSM7227-1 or Broadcom BCM21553 SOCs, containing Adreno 200 and VideoCore 400 GPUs respectively. The way the interceptor works at the moment, it looks for gles libraries with the "mali" tag on Android, so at the very least you would have to rename/link the relevant gles libraries to this so that MGD could find them. If you are using any non-mali vendor specific extensions, these would not be traced, and if they affect core state items these state changes would not be tracked.

    Secondly, these SOCs actually contain ARMv6 CPUs, but the MGD interceptor and daemon are compiled for ARMv7a CPUs which is why you are getting the illegal instruction errors, as the CPU encounters an instruction it can't decode.

    Finally, MGD only officially supports Android 4.x onwards, so I couldn't guarantee it would work on versions as old as 2.3.

    Depending on the SOC in your nexus device, it may contain a Mali GPU, ARMv7 CPU, and be running Android 4.x in which case this would be a better starting point

    Thanks,

    Chris

Children