back

by dmitrygr·11y ago·view on hn ↗
The CPU they use is famous for lack of GPL sources and lack of stability when using their GPL-non-compliant binary blobs

YMWV! (Your mileage WILL vary)

3 comments
Additionally, they use ARM Mali GPU IP which is much less open and has far lower-quality drivers (IMHO) than the VideoCore GPU used on Raspberry Pi and friends.
I've had a lot more trouble with VideoCore IV drivers than Mali. In my experience VideoCore has massive overhead on each call to glDrawElements(), making it almost unusable for even small numbers of render state changes. When trying to work around that by batching more aggressively, I ended up with more than a half dozen or so varyings, which caused the drivers to happily crash the entire board.
Mali has massive driver stalls as soon as you start touching VBOs directly (ex to make dynamic VBOs using glBufferData). There are also a lot of fun and easy ways to shoot yourself in the foot and cause the driver to exhaust memory.

I think mobile GPU drivers in general are pretty much a wasteland, but at least VideoCore is a documented wasteland.

Fair enough. It's really sad how we have enormous GPU power available in the mobile hardware, but in practice the drivers hold them back so much that that GPU power is really limited.
There is a lot of work being done on the Mesa NIR-based VideoCore driver. I'll be exciting to see what becomes of it. http://dri.freedesktop.org/wiki/VC4/
Back in a previous life I was doing OpenGL from the NDK on Android. At least one device could be hard reset by opening a 32-bit config and calling glReadPixels. It wasn't Android's fault; it was a shoddy vendor Mali driver.

OpenGLES drivers are much, much better than they used to be (but still very bad).

TBF, the Allwinner SoCs also have 2D graphics controllers that are documented, most SoCs these days are 3D only.
can we get all the programming docs including the register maps of all the IPs on the chip? that would change everything compared to a Raspberry pi, where a lot of stuff is under NDA.

edit: I might be asking a lot, since, there is even a wikipedia page on how to find and read the docs for ARM, so I guess, it will be, as usual a giant mess of docs spread everywhere.

I would start from the A10 page on the linux-sunxi wiki [1], there is also an X11 driver that uses some of the 2D acceleration features [2].

Some things like the ethernet controller are still under NDA but that is because it is from a third party (Synopsis).

[1] https://linux-sunxi.org/A10 [2] https://github.com/ssvb/xf86-video-fbturbo

What's that page?
Ah, yes, I've seen that one (discovered it just in the past couple of weeks, actually). I thought you might have found a page dedicated to it.
Wouldn't this be a chance for drivers to get better?
The Mali is shipping in a ton of consumer smartphones and tablets already. A small amount of additional market share from development boards isn't going to make the driver problem better.