Honestly, none of ARM SBCs have documented GPU. For example, the famous RK3399, the most interesting chip for now, because of the board prices and capabilities (it's hexa core, dual clustered CPU, 2 Cortex-A72 + 4 Cortex-A53, PCIe, USB3 etc. RPi is not even close to that), even in the
leaked documentation, doesn't have anything on GPU. In the "open" documentation it does have a GPU part, it's funny, for example the chapter, promisingly called Register Description, consists of this:
The GPU base addressis 0xff9a_0000.
What else you might need, eh?
But HDMI and eDP transmitter controllers are kind of documented. this is really what's needed for being able to draw on the screen something.
Speaking of those blobs, it's probably an OpenGL ES implementation, am not sure, it would be of interest for anything except 3D acceleration. Anyway, it's rather the fact, that Linux often sucks with 2D graphics (desktop) too on these boards compared to Android on the same boards - for some reasons the former can't use libraries provided for the latter. despite it's all linux. doh. apparently SoC/board vendors care much more about Android. but libraries are not compatible between even different linuxes.
What I know, vendors provide some open source "driver", doing little (but that doesn't mean that the driver isn't a horrible mess one can't even dream about figuring things out over there), and closed source user space libraries, doing everything. For example,
this link has a lot of material about it regarding ARM Mali GPUs. Open sourse tons of "doing almost nothing" are there as well.
even though everybody and his/her dog tell you that this is relevant only to 3D, you see by your eyes how linux GUI is sluggish even on things like Odroid-XU4, RockPro64, Tinkerboard etc and how Android is not! Maybe because there are yet some 2D engines, separate from GPU, that can accelerate 2D drawing, and again, they are better supported on android than on linux. anyway, it's not even close to the OS-independent using these blobs, as you can see on the example of andorid/linux incompatibilities. I don't know what that RiscOS does with linux drivers, probably they mimick linux inside to use it. 2D "engines" may be or not open and well documented. I stumbled across something in the Allwinner R40 SoC, but it's so messy and twisted, can't say about it much yet, apart from that chip has a very complex graphical "pipeline".
Broadcom's VideoCore thing is rather a peak of anti-design hostility to the hobbyists, both by their horrible design - GPU is the real main CPU in the system, whereas ARM CPU is a toy controller - and their unwillingness to realease documentation. For the system programming, broadcom SoCs are trash, so in my opinion, people wanting to do system programming thing are better off to switch to something else as soon as possible. especially given how numerous this range is and that that "huge" RPi community is a little of help for the osdev. they don't do OS developing anyway and won't help you much.
Personally, I hope, that in the nearest future, I can be more elaborative with this respect (display). At least for Allwinner SoCs. Basically, Freescale (NXP) iMX6 SoCs have "kind of" the same HDMI TX IPs, but they are documented, so, I hope, this way, - to figure out how to do it on the Allwinner SoC I have. RK3399 as well, as I've said. But it's a "leaked" pdf. where I am now, it's early for touching HDMI inappropriately.
By the way, about the price of RK3399 boards. They aren't that much more in price. Given the capabilities they have. On the example of RockPro64. They put the normal PCIe 4 lane slot and that means opening the possibility of connecting any PCIe expansion cards that are happy with 4 lanes. They sell PCIe-SATA bridge card, bringing SATA here. They have rather inexpensive PCIe-M.2 adapter, with which you can connect freaking NVMe SSDs! it's >1GB/s of the speed. Finally, this board got right UHS-I support for SD cards, a very important improvement. ~70MB/s compared to the sluggish pre UHS-I ~23MB/s of the maximum throughput, on the interface often serving the role of the main storage on SBCs. This UHS-I problem is really a very disappointing example of screwing up things. by SoC vendors. they have been licensing UHS-I capable controllers for their SoCs for ages, but then designed incapable PMICs and their reference design boards (that in turn encouraged everybody else to do the same). Not enough voltage regulators for providing a dedicated one for the SD controller, so that it could switch from the 3.3V to 1.8V signaling, needed for UHS-I. Or just f&cking it up without the reason. Almost all current SBCs have UHS-I capable controllers and almost none of them can provide voltage switch due to f&cking up by design. A bitter example is RK3328, with the specifically designed for it RK805 PMIC. *sigh Fortunately, with RK3399, things have changed. Most RK3399 boards (but not all!), provide voltage switch capabilties. Given SD cards play a very important role in the SBC (main storage often), it's not a trivial problem.
It's a pleasant thing that osdev people start to have a look at ARM boards, the only irritating thing is that they unwisely narrow their perspective to only RPi, which is way not the best out there by any means. People, come on, look around, there are so much better things to play with! By the way, Sinovoip, the vendor of Banana Pis (I have Banana Pi M2 Ultra), is about to release a 24 core server ARM board! Of course, it won't be 100$ of price, but also, I am sure, it would a competitive price still.
Here is the link with the video included, where they compile linux on that beast.