GrapheneOS wasn't in any way halted by the removal of Pixel device trees from the Android Open Source Project. Android 16 was released on June 10, 2025 and it reached our Stable channel before the end of the month. Our initial port took days.
Android 16 didn't only drop the Pixel device trees. They also stopped pushing anything other than quarterly/yearly releases to AOSP including device branches and monthly updates.
GrapheneOS already used adevtool which was already providing most of the device support in an automated way. We already had changes to the standard device trees from AOSP.
GrapheneOS uses auto-generation of device support via our adevtool project, which was made in collaboration with the now discontinued ProtonAOSP project. We were using adevtool long before Android 16 but didn't know we would need to greatly expand it until it was released.
We don't use device trees at all anymore. It's all auto-generated by adevtool and any changes we need are integrated into adevtool which automatically applies those across devices.
Using forks of the final AOSP device trees for Pixels would be wrong and would mean having a bunch of outdated code. A lot of the code for Pixels is still present in AOSP and still gets used via a fork of the device trees but they don't push the changes to it each month anymore. They only push changes twice per year for the major releases now, which means using the code from AOSP for Pixels results in having missing patches.
Other projects forked the final AOSP device trees and have done partial updates to those. That means they don't have all of the changes. That's not how we handled it. We replaced the device trees entirely. You can take a look at the current GrapheneOS source tree and can see there are no device trees for Pixels included since we generate those to have up-to-date support for the devices. Nearly all other projects aren't providing fully up-to-date Pixel support.
The purpose of adevtool is extracting everything needed from the stock OS factory images and generating a build system for the devices. It doesn't only handle obtaining the firmware and driver libraries/HALs. It also handles extracting all relevant resource overlays, etc.
It does far more than extracting the files and generating a build system for including those. It also handles dealing with things which aren't as simple as including files such as SELinux policies, resource overlays, carrier configs and more. It integrates all of it properly.
It would be unsustainable to manually extract all the resource overlays, SELinux policies, carrier configurations and other stuff it handles. It handles the fact there are a bunch of device-related overlays included in their Settings app and other components needed for Pixels.
https://github.com/GrapheneOS/platform_tools_arsclib is a sub-project used by adevtool for handling resource overlays (the README is outdated).
adevtool uses a combination of AOSP, the stock OS factory images and the API for fetching APNs / carrier configuration for Pixels to generate what's needed.