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.
Hi draquod,
Will need a bit more info to help, can you let us know:
Thanks,
Chris
First, thank you for the welcoming and quick response.
I'm testing this with a Samsung Galaxy Ace S5830 ( I would love to try it on my Nexus but it is not rooted)
Android is 2.3 and the Mali Graphics Debugger version is 1.2.1, I'm using a Windows 8 laptop to launch the commands.
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
Well, thank you very much for solving the problem.
I should have made more research about my phone hardware before testing it. ( I'm still pretty noob to the world of developing for mobile )
I will then look and find out what my Nexus "internal organs" are.
Thank you very much again.
No problem, we all start somewhere! If you let me know what nexus device you have (4/10/etc) or better yet the exact variant/model number I can advise you further as to its hardware.
I appreciate very much your help
I have a Neus 5 LG-D821, I don't know if there is a way to root it without having to backup up all the data in it.
This seems to be a Snapdragon 800, containing an Adreno 330, so not Mali powered. You can try the renaming strategy I talk about above but as I say, this is not supported by MGD so your mileage will vary. As for rooting it, I've always been able to root devices just by getting a recovery rom such as clockworkmod on there, and root it from there. The nexus devices are all well supported in this area so you shouldn't have too much trouble, and you wouldn't *need* to back up anything although it's advisable if there's something you're not willing to risk losing
Ok, I will try it then and post results, so then we will also know if MGD works on the Nexus 5.
And again, thank you for your time and effort.
Hello again,
I've finally rooted my Nexus 5 and configured the necessary files for the mgddaemon on the phone, but I really don't know how to rename or link the necessary libraries.
The Mali Graphics Debugger has been able to connect to the phone but, as expected, it recives no output to process.
I should mention that there are debugging tools available for Adreno here: Mobile Gaming & Graphics - Adreno Tools and Resources - Qualcomm Developer Network. These are designed for Adreno GPU's and should work out of the box on the Nexus5.
For MGD, the following is untested on Nexus5. At best you won't be able to trace any QCOM extensions, at worst it just won't work.
From a root shell on the device (adb shell su):
Assuming MGD is installed correctly it will find the _mali.so files. You can check logcat output for any GLES application to see if this was the case, it will report its attempts to find the libraries and its success/failure.
Hope this helps,
Thank you!
I will try it out and post results.