4 ms·
While the situation is definitely undesirable, it's not Arm's fault that it is hard to update your SBC. Arm doesn't make the single board computers (SBCs), they
by gsliepen 4y ago
While the situation is definitely undesirable, it's not Arm's fault that it is hard to update your SBC. Arm doesn't make the single board computers (SBCs), they just license processor designs to system-on-chip (SoC) vendors, and then other vendors build SBCs around the SoCs. You buy something from the SBC vendor, and they should ultimately provide you with support, but most of them just don't care.
Ideally Arm would have created fully open source drivers, but they might have reasons not to, like having to protect their intellectual property (IP), or perhaps even IP they licensed from third parties that is included in their own products. Also, if no customer of Arm (and remember, you are not a customer of Arm, SoC vendors are) asks for an open source driver, they might not want to spend the effort making one.
Arm is certainly not alone in this, it's the same for virtually all other mobile GPU vendor, and also NVIDIA doesn't provide open source drivers. Note that Arm does make updates to their closed-source user-space driver available (see https://developer.arm.com/downloads/-/mali-drivers/user-space https://developer.arm.com/downloads/-/mali-drivers/user-spac..., it also depends on a kernel driver but that one is open source) for some SBCs, however with SoCs, the problem is that there is a tight integration between components, and the GPU itself for example might depend on clock and voltage regulators added by the SoC vendor that the GPU has no control over, so only the SoC vendor can provide the software/patches necessary to make everything work together. Ideally the SoC vendor provides regular updates, which the SBC vendor passes on to you, but they often don't.
Luckily, the open source community is working towards upstreaming all the various bits that the proprietary vendors neglect to, and there is the open-source Panfrost driver which is working for a wide range of Mali GPUs already. So some boards, for example the ASUS TinkerBoard, now fully work with upgradable, upstream kernels.