Ok so rather than me banging on in lots of tangential topics about how important upstream support is, I thought I would start a new thread to discuss efforts to bring mainline linux support to our Geminis.
At this time we have less than no information about what kernel our devices will be running when shipped. Hopefully this won't remain the case for much longer!
Taking a look at the latest mainline kernel sources we can see that there is no device tree for any Helio X27 devices, so there is no upstream support at present. There is support for a couple of closely related X20 SoC devices (MT6797) which is apparently
identical to the X27, just with slower clock speeds.
Here is a useful reference for the X27 chip -
https://en.wikichip.org/wiki/mediatek/helio/mt6797xOne likely stumbling block will be wireless drivers (WiFi/LTE/BT). If we are lucky we will just need to copy across the firmware blobs from the stock linux rootfs that is supplied with the Gemini to bring the wifi and BT up. LTE will be harder probably.
One definite stumbling block is the Mali GPU. We can just forget open source 3D hardware acceleration. There has been some open source development for earlier Mali hardware (Mali 400) but we won't be seeing anything for the T880 any time soon, probably ever. However framebuffer support will be fine for a lot of use cases, and the CPU is more that fast enough for software video playback. Of course the display panel will need to be supported first.
Another question is whether we can get access to UART. Probably not but it would be awesome if we could. This is why I should have bought a second device so I could take a soldering iron to it - oh well!
Bootloader - will this be littlekernel? Will we have sources and be able to build our own binaries? If we can build our own blobs, will they need signing with keys held by Mediatek/Planet Computers? It may be that we need to patch the bootloader to bring up mainline support e.g. for proper initialisation of various hardware - clock speeds, setting MAC address, enabling virtualisation etc etc