Skip to content

add GrapheneOS Speech Services app#79

Open
soupslurpr wants to merge 33 commits intoGrapheneOS:16-qpr2from
soupslurpr:patch-1
Open

add GrapheneOS Speech Services app#79
soupslurpr wants to merge 33 commits intoGrapheneOS:16-qpr2from
soupslurpr:patch-1

Conversation

@soupslurpr
Copy link
Member

@soupslurpr soupslurpr commented Jan 3, 2026

thestinger and others added 30 commits December 5, 2025 14:54
Compressed APEXes are unpacked into /data/apex/decompressed before being mounted.
When APEXes aren't updated out-of-band, this unnecessarily weakens verified boot and wastes storage space.
On GrapheneOS, APEXes are not updated out-of-band.

For more details, see https://source.android.com/docs/core/ota/apex#compressed-apex
If there's exactly one "vendor/*/$PRODUCT/cmds-for-envsetup.sh" file, source it at the early
stage of lunch/choosecombo command.

This allows to define extra product-specific variables before the product makefile is parsed, which
happens quite late.
PLATFORM_SECURITY_PATCH can already be overridden with a global variable, but using per-product
variable is less error-prone.
The system_other image is gone after the first update and the OS ends up
needing to compile the code for these apps as part of performing each OS
update. GrapheneOS doesn't use JIT compilation and the AOT compilation
isn't guided by JIT profiles so this ends up using the same amount of
space and doing a bunch of unnecessary work on each device. It also
reduces the scope of verified boot by having the compiled odex code for
base system apps outside of the verified system partition.
otapreopt is currently broken, which massively slows down post-OTA boot when there's a large amount
of optimizable code in user apps.

Compilation with the "speed" compiler filter is now performed asynchronously, after boot.

Most of the system packages are not affected by this change, since they use dexpreopted code from
the system image.
This fixes an occasional issue where the navbar is in a broken state
(gesture nav works, but the bar is rendered as if it's 2/3-button nav)
after wiping data or provisioning new users.

From Danny Lin <danny@kdrag0n.dev> in ProtonAOSP.
The previous default target sdk_phone_x86_64 has been removed upstream.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants