From the user’s point of view the small cheap computers have huge advantages like price, performance, portability, and running FLOSS operating systems. Underneath that, in the chip itself is a magical combination that used to fill an ATX box with components. For x86/amd64 all of those components were managed well except the graphics which were closely guarded secret places where FLOSS was often second best because the manufacturers did not produce FLOSS drivers and were often not cooperative.
With the ARMed CPUs and integrated graphics on the chip in small cheap computers a FLOSS OS was often running on Day One. It no longer takes a year or so to “catch up” by reverse-engineering after release to market. The chip-makers are mostly members of the Linux Foundation and contribute “binary blobs” to load proper software for the Linux kernel and the particular GPUs. Combine that with devices like Raspberry Pi and Beagle Boards that are very accessible for all and the passions of developers to find out how things work and this happens:
“First off, after the RadeonHD project, it was clear that i did not want to waste further time on the x86 linux desktop. It’s a political swamp, where correct insights, hard labour, and actual results are all irrelevant if you do not belong to the right political group. And the lengths this group would go to to affirm their own supposed awesomeness shocked even me. The consolidation that happened in the x86 desktop graphics market, with the few remaining players now sticking hard to their respective position towards open source software, gives little option to do real work and achieve results outside of what is dictated by corporate politics. It was time to move to something new, and the completely level and open playing field of ARM GPUs was exactly that.
Secondly, when looking at the way the world was turning, everything was becoming ARM, and (almost) everything ARM was running some form of linux. There was only one key reason why people were not running a proper full linux on their ARM devices. One key factor that made this nigh impossible: binary userspace drivers. Someone had to get stuck in, prove that this is not beyond reach, and change this stalemate forgood. This was a perfect wall for running a very hard head into.
Finally, while I have covered most sides of graphics driver development in the meantime, I had not done any real 3D driver development before. When I was the only person who cared about boring modesetting, I often had to hear how difficult 3D graphics hardware is. Some part of me always knew that that was an excuse to not deal with the boring but highly important bits, but now I got to prove that this is not the case. If the hardware is sane, a 3D driver is sane as well, but even when the hardware is sane, the sheer number of combinations possible make display driver development impossible to get absolutely right for everyone. A few FPS less is not the end of the world, a display that does not show any image means that the user will turn and walk away. And it indeed was an excuse for not dealing with what people really needed at the time.”
see The SoC GPU driver interview – Architecture Logicielle & DÃ©veloppement
The result is we are on the verge of having complete access to graphics on the small cheap computers for every purpose, HPC, servery, auxilliary computing, and, oh yes, graphics in 3D. Since the graphics unit does most of the work in this, the ARM processor is out of the way entirely. Some of these units actually use the GPU to boot the SoC. How refreshing. Because of FLOSS users will now have all the performance of their hardware without limits by hardware manufacturers or “partners” of M$, small cheap computers have rapidly evolved to be on the forefront of innovation rather than being auxiliary computing devices.
From my point of view, that IT is best done without any involvement by M$, this is the best opportunity to escape bondage that we have seen in many decades. The world can make its own software cooperatively without any “help” from the slave-masters.