A lot of functionality of newer Android releases (Android/AOSP 13 and later) rely on eBPF [1] for both interception of process insights and sandboxing of processes. eBPF in a nutshell is a way to build kernel hooks, so that you can also disallow or intercept syscalls or kernel API calls that the Apps are executing behind the scenes.
eBPF was introduced with Kernel 4.14 officially (but partly long before that). Most LineageOS supported devices still rely on older kernels, the most range being around the Kernel 4.4 or 4.9 branches, which lack that eBPF functionality. The LineageOS maintainers were backporting a lot of things already, but that's the "hardcut of now unsupported legacy devices" that people are experiencing with their old phones.
The issue here is that upstream vendors (e.g. Fairphone, actually meaning upstream Qualcomm IoT) only maintain their outdated kernel versions, and never maintain them in the sense of updating their driver code into newer kernel releases. The drivers are always stuck in an outdated state of a feature frozen kernel.
I'm just making this specific example with the Fairphone because "5 to 8 years support" isn't what most people would think it is. It means "only the really critical security patches of old stuff gets backported" and does not mean "hey we migrated our old code to a new kernel and Android version".
For example, Fairphone 1, 2, 3, 3+ are all stuck in old kernels right now (4.9 being the latest backport for the FP3+) and are essentially not updatable because of this.
I don't try to blame Fairphone here, because other manufacturers are much much worse in this regard. Fairphone and Pixel are already the "as good as it can get" for third-party ROMs case.
I mentioned postmarketOS specifically, because they're trying to fix that by upstreaming the kernel drivers, so that Linux support of those devices will stay updated with newer kernel releases (hopefully).
> only maintain their outdated kernel versions, and never maintain them in the sense of updating their driver code into newer kernel releases
Just an aside, but this is one of the major downsides of monolithic kernels, and a case where microkernels would have had more consumer friendly upsides.
I don't think Android is really using eBPF for much. Last I remember they were loath to adding more things and they've definitely locked away the ability to load arbitrary new programs because they couldn't secure the attack surface it opened up.
eBPF was introduced with Kernel 4.14 officially (but partly long before that). Most LineageOS supported devices still rely on older kernels, the most range being around the Kernel 4.4 or 4.9 branches, which lack that eBPF functionality. The LineageOS maintainers were backporting a lot of things already, but that's the "hardcut of now unsupported legacy devices" that people are experiencing with their old phones.
The issue here is that upstream vendors (e.g. Fairphone, actually meaning upstream Qualcomm IoT) only maintain their outdated kernel versions, and never maintain them in the sense of updating their driver code into newer kernel releases. The drivers are always stuck in an outdated state of a feature frozen kernel.
I'm just making this specific example with the Fairphone because "5 to 8 years support" isn't what most people would think it is. It means "only the really critical security patches of old stuff gets backported" and does not mean "hey we migrated our old code to a new kernel and Android version".
For example, Fairphone 1, 2, 3, 3+ are all stuck in old kernels right now (4.9 being the latest backport for the FP3+) and are essentially not updatable because of this.
I don't try to blame Fairphone here, because other manufacturers are much much worse in this regard. Fairphone and Pixel are already the "as good as it can get" for third-party ROMs case.
I mentioned postmarketOS specifically, because they're trying to fix that by upstreaming the kernel drivers, so that Linux support of those devices will stay updated with newer kernel releases (hopefully).
[1] https://source.android.com/docs/core/architecture/kernel/bpf