Hello ARM Mali devs,
We recently released an app that was pretty meticulously tested against different variants of Mali chips. However, post release we have received a wide variety of issue reports on MALi 400/450, mostly paired with Rockchip CPUs (Memopad 10, MiniX set top boxes, etc). In terms of device coverage, our internal Mali 4xx covered mostly exynos devices running software versions ranging from Honeycomb ti Kitkat which should encompass most active driver releases out there. Are there any known issues with drivers used in Rockchip based devices? Is there any way for us to test out such drivers before committing to purchasing more test devices on this end? Issue reports (generally consisting of various black screen behaviour) seem to point to shader compilation failure, but of course, very difficult to assess without devices in hand.
Many thanks!
Stephane Jacoby
Square One Games
Hi stepjac,
I did some investigating and found this:
Memopad 10 and MiniX Neo X7 [Mini] - RK3188
MiniX Neo X6 [Mini] - RK3066
MiniX Neo X8 and X6 - Amlogic SoC's
Can you confirm whether the problem only exhibits itself in those devices containing the RK3188, or does it also affect RK3066 too?
Note that both the RK3066 and RK3188 are Mali-400 GPU's. Which, if any, Mali-450 based devices have you found to cause the same problem?
I will ignore the Amlogic based ones since you explicitly mention RockChip.
The differences you are seeing between RockChip and Samsung could be 1 of 3 possibilities:
We licence the Mali GPU to SoC vendors, and if any hardware bugs are found, we release a new hw revision. Knowing what the hwrev is for the working and non-working devices will help determine if this is a factor.
We also provide the vendor with our Mali DDK (Driver), and continually update this in order to fix bugs, add features, and optimise performance/battery life. Knowing the swver is for the working and non-working devices will help determine if this is a factor.
Finally, if there is no correlation in the hwrev and swver, then I would strongly suggest this isnt an issue with ARM's Mali implementation, but could be a bug in the way RockChip have integrated Mali into the SoC vs Samsung. For this problem, you would need to contact RockChip directly asking for support on this.
I hope this was helpful. Unfortunately we dont have any of the mentioned devices, nor a reproducer, so what we can do in house is very limited for this situation.
Kind Regards,
Michael McGeagh
Hi Michael,
Thank you so much for the detailed information. Based on user reviews of our product, it would appear the issue has only been reported against RK based devices (no occurrences on Amlogic devices, however the review sample set isn't bit enough to be conclusive as of yet). Out of curiosity, is there a way to query MALI hwver / swver?
Unfortunately, support requests to RockChip and MiniX have never been responded to. The MemoPad 10 just came onto the radar, so will perhaps get more responsive support from Asus.
Really appreciate you taking the time to write such an in depth and informative response as to the ARM Mali production pipeline. Does indeed sound like a potential SoC/GPU integration issue. Will post back any findings we may run into.
Many thanks,
Stephane
Regarding hwrev and swver, the way I do it is by doing the following commands:
adb pull /system/lib/libMali.so strings libMali.so | grep REVISION
adb pull /system/lib/libMali.so
strings libMali.so | grep REVISION
This should output a big chunk of text.
REVISION should tell you the swver, in the format similar to "r3p0-02rel1" for example.
If you also look, you should see a VARIANT string in the text, this 'may' contain something similar to r1p1, r1p0 or r0p1. It does not go above r1p1 AFAIK. This is the hwrev.
Note that it may be omitted, in which case the default is used - and that default has changed depending on the swver
We also appreciate your query, and any findings you come across will be welcomed on here.
I hope that helps.