Our latest OS release moved to using the Linux 6.18 LTS branch for both arm64 and x86_64 for the emulator, Cuttlefish and microdroid targets. We've made a highly experimental port of the Pixel kernel drivers to 6.18 and are planning on moving to it across all supported devices.
@GrapheneOS ... that must be the freedom of these 'google-free' systems...
We have a Pixel 7 working with the upstream Linux 6.18.58 release. We'll be getting all supported devices fully working with all hardware functionality. The upcoming Motorola flagship uses a fork of the 6.18 GKI LTS branch and we'll need to port it to the upstream kernel too.
Porting from the 6.1, 6.6 and 6.12 GKI LTS branches to the 6.18 GKI LTS branch is relatively simple and doesn't require a large number of changes.
Porting from GKI LTS to the upstream LTS branch is much harder. Android has thousands of extra backported fixes and improvements.
The changes required to move the Pixel drivers from 6.1, 6.6 and 6.12 to 6.18 are tiny. The changes needed to use the upstream 6.18 LTS ABI instead of the stable 6.18 GKI LTS ABI are larger but quite manageable. It's preserving all the extra improvements which is extremely hard.
The upstream Linux kernel LTS branches backport a enormous amount of bug fixes including a massive number of security fixes. Android backports much more because they want to ship many of the performance improvements, new features and additional fixes with older LTS branches.
The main purpose of the Android GKI branch is to implement a stable ABI for kernel drivers. The ABI is only stable within an LTS branch. It has no practical use case and a massive maintainability cost. This system collapsed under the massive increase in Linux kernel patches.
All of the kernel drivers for any devices we'll support are open source. It would be an egregious violation of the GPL to ship driver code specific to Linux without providing all the source code. The drivers are updated alongside the kernel so there's no actual use case for GKI.
In the past several months, Android's official Generic Kernel Image (GKI) branches have fallen behind the upstream LTS revisions. We're resolving this by moving all of the devices we support to the latest LTS branch and making a GKI replacement for the latest upstream release.