How did Android's update support become so inconsistent?
How did Android's update support become so inconsistent?
As a point of comparison, Microsoft ships its OS across a variety of manufacturers and largely keeps it maintained across them (give or take some exceptions like enterprise environments & the like).
Even unlocked Android phones purchased independently of carriers have inconsistent lengths of support, so it doesn't seem to be entirely a result of carriers, so...What happened here?
Good explanation and lines in with why iPhone get years of support as they have full control of hardware and drivers.
Kind poster, I understood about 4% of what you wrote and absorbed 2% (entirely not your fault). Would you say that this explains why Google only supports their Chromebooks for 5 years?
ETA: My question is based on what you wrote here:
This only concerns the kernel which is rather unimportant when it comes to Android updates. You can keep using an ancient kernel for an insanely long time but upgrade the Android userspace. The vast majority of LineageOS devices use the original kernel they released with (+bug fixes, usually).
Only when Android has a hard requirement on a new kernel feature do you need to actually upgrade it. This is usually end of the line for a device in custom ROMs because it is infeasible to do in most cases.
Take the Oneplus One (bacon) for example. It was released oven 9 years ago with kernel 3.4 and only lost LineageOS support with Android 12 because that requires eBPF for firewalling apps which is a relatively recent addition to the kernel.
The shims for the HAL you mentioned are in userspace. The original BLOBs they shim use the original OEM kernel interfaces in order to do their magic. It's just that Android might require newer/different interfaces from the HAL BLOBs; that's what the shims are for.