628 Commits

Author SHA1 Message Date
Evgenii Stepanov
42ce2c6739 sapphire: Disable Kernel MTE
Bug: 280343521
Test: cat /proc/cmdline | grep kasan=off
Change-Id: I42781e8efdc4cf5a89baca1af8c3d62a4984c4f2
2026-01-05 11:48:32 +08:00
Fabian Leutenegger
9b3eeabeca sapphire: Enable lazy RCU from cmdline
Change-Id: Icdc7bfe8556d995b99ecff96a9ebe602de207bd1
2026-01-05 11:48:32 +08:00
Martin Liu
9e40d5749b sapphire: Disable zone dma32
As HW doesn't have 32 bit address limitation, we can disable
zone dma32 to simplify memory management and improve performance.

Bug: 224535283
Test: boot, test basic wifi, faceauth, camera, UDFP features

Change-Id: Ia7c1098ddd4b91738702dd99552661dbe18cfaa5
Signed-off-by: Martin Liu <liumartin@google.com>
2026-01-05 11:48:32 +08:00
Jake Weinstein
cb7613d7d4 sapphire: Remove video entry from cmdline 2026-01-05 11:48:32 +08:00
Michael Bestas
eb1a7e94ff sapphire: Move Lineage Health HAL to select()
- Its deprecated

vendor/lineage/config/BoardConfigSoong.mk:34: warning:
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_PATH is deprecated, please
migrate to
soong_config_set,lineage_health,charging_control_charging_path
vendor/lineage/config/BoardConfigSoong.mk:42: warning:
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_ENABLED is deprecated, please
migrate to
soong_config_set,lineage_health,charging_control_charging_enabled
vendor/lineage/config/BoardConfigSoong.mk:46: warning:
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_DISABLED is deprecated, please
migrate to
soong_config_set,lineage_health,charging_control_charging_disabled
vendor/lineage/config/BoardConfigSoong.mk:50: warning:
TARGET_HEALTH_CHARGING_CONTROL_SUPPORTS_BYPASS is deprecated, please
migrate to
soong_config_set,lineage_health,charging_control_supports_bypass
vendor/lineage/config/BoardConfigSoong.mk:74: warning:
TARGET_INIT_VENDOR_LIB is deprecated, please migrate to
soong_config_set,libinit,vendor_init_lib
[W][2025-05-11T16:15:28-0400][1258695] logParams():267 Process will be
UID/EUID=0 in the global user namespace, and will have user root-level
access to files
[W][2025-05-11T16:15:28-0400][1258695] logParams():277 Process will be
GID/EGID=0 in the global user namespace, and will have group root-level
access to files
vendor/lineage/config/BoardConfigSoong.mk:34: warning:
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_PATH is deprecated, please
migrate to
soong_config_set,lineage_health,charging_control_charging_path
vendor/lineage/config/BoardConfigSoong.mk:42: warning:
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_ENABLED is deprecated, please
migrate to
soong_config_set,lineage_health,charging_control_charging_enabled
vendor/lineage/config/BoardConfigSoong.mk:46: warning:
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_DISABLED is deprecated, please
migrate to
soong_config_set,lineage_health,charging_control_charging_disabled
vendor/lineage/config/BoardConfigSoong.mk:50: warning:
TARGET_HEALTH_CHARGING_CONTROL_SUPPORTS_BYPASS is deprecated, please
migrate to
soong_config_set,lineage_health,charging_control_supports_bypass
2026-01-05 11:48:32 +08:00
Arian
07cc8ff583 sapphire: Use patchelf 0.17.2 as the default patchelf version
This will also be used for the utility functions like FIX_SONAME
2026-01-05 11:48:31 +08:00
EmanuelCN
9598418788 sapphire: init: rm package cache on early boot
* Because Android won't do it on a dirty flash so certain elements will be broken if something is changed in UI.

Signed-off-by: Gustavo Mendes <gusttavo.me@outlook.com>
Change-Id: I611d082319c1d90b2a133e207516d5a2e9a33512
Signed-off-by: angelomds42 <angelomds42@gmail.com>
Signed-off-by: kibria5 <mdkibria687@gmail.com>
2026-01-05 11:48:31 +08:00
John Galt
a41f03b68b sapphire: overlay: Pin adreno stack
* Based on
* https://github.com/AOSPA/android_vendor_aospa/blob/uvite/overlay/AOSPAFrameworksOverlay/res/values/config.xml#L18

Signed-off-by: kibria5 <mdkibria687@gmail.com>
2026-01-05 11:48:31 +08:00
Liekoo
8563e78f5e sapphire: Change PRODUCT_DEX_PREOPT_DEFAULT_COMPILER_FILTER to speed-profile
It seems that the everything flag causes a problem with the system
taking a very long time to boot (from 2 to 15 minutes), because DEX is
being optimized all this time. To fix this we change the flag from
everything to speed-profile.
2026-01-05 11:48:31 +08:00
Liekoo
3fdcb9a590 sapphire: build IR AIDL from source 2026-01-05 11:48:31 +08:00
artemscine
0abcde3375 sapphire: Drop QtiLimits 2026-01-05 11:48:31 +08:00
AdarshGrewal
94b533bd51 sapphire: Build libsndcardparser from source 2026-01-05 11:48:31 +08:00
Liekoo
cfc5a10d51 sapphire: clean up dup 2026-01-05 11:48:31 +08:00
Michael Bestas
00ccdf46a0 sm6225-common: Switch to AIDL USB HAL
Change-Id: I70f6a4e57eef577d86987bfae44f381a4f107624
Signed-off-by: artemscine <artempemine@gmail.com>
2026-01-05 11:48:31 +08:00
Michael Bestas
490f3aefa5 sm6225-common: Remove media_codecs_google_c2*
AOSP codecs can be used by default and it is not necessary to include
them device side.

Change-Id: I8227b06f0466b614f12fa9008402b92461ea3dd0
2026-01-05 11:48:31 +08:00
Michael Bestas
92983c3bfd sm6225-common: Use AOSP default Codec2/OMX ranks
debug.stagefright.ccodec=4
is the default value in frameworks.

debug.stagefright.omx_default_rank=0
was used to rank OMX SW codecs lower than OMX HW codecs
but we have removed all OMX SW codecs now.

Change-Id: Idf55ec02c2c0f4d2fa73f949cffef0d820a54570
2026-01-05 11:48:31 +08:00
Arian
b4436cfc1c sm6225-common: Kill libstagefrighthw
This will not be loaded when vendor.media.omx=0 is set

Change-Id: I6c87910028feae4c0711ce9bfc0ed2fb5e7445c0
2026-01-05 11:48:31 +08:00
Aaron Kling
561866fd88 sm6225-common: Remove software omx codec references
These are no longer available as of Android 14 QPR3. The C2 codecs
available by default in the swcodec apex will be used instead.

Change-Id: I8cdf3e700823779a7382c66c3df8410d41209b7c
2026-01-05 11:48:31 +08:00
Sungtak Lee
f5c2686c23 sapphire: properties: Disable OMX
Bug: 222649162
Test: make
Change-Id: Iaf1046c610804c5bdb3b0f591e9907539534ea06
2026-01-05 11:48:31 +08:00
Liekoo
6d1503b3ed Revert "sapphire: Set a multiplier to 10 for the panel dimensions"
This reverts commit eea38c98cfde466efc6083457f78fad6e604f920.
2026-01-05 11:48:30 +08:00
Arian
a7064f61f8 sapphire: Use libhidlbase_shim for vendor.libdpmframework
Change-Id: Iefe50b82b5b13bbdee10819a0c60c14240fab7ce
Signed-off-by: artemscine <artempemine@gmail.com>
2026-01-05 11:48:30 +08:00
artemscine
13d0436eec sapphire: sepolicy: Label more sysfs wakeup nodes
Change-Id: I81af1a4501a6ce64d32f50fc8995d8e671af43f1
Signed-off-by: artemscine <artempemine@gmail.com>
2026-01-05 11:48:30 +08:00
Wrdn28
35d78baab3 sapphire: props: Enable VoLTE by default 2026-01-05 11:48:30 +08:00
Pranav Vashi
ff6a3d1602 sapphire: Add missing stagefright libraries
06-30 23:37:15.059  1475  1475 E vndksupport: Could not load libstagefrightdolby.so from default namespace: dlopen failed: library "libstagefright_softomx.so" not found: needed by /vendor/lib/libstagefrightdolby.so in namespace (default).
06-30 23:37:15.060  1475  1475 E vndksupport: Could not load libstagefright_softomx_plugin.so from default namespace: dlopen failed: library "libstagefright_softomx_plugin.so" not found.

Change-Id: Ic073c46f938e4875ca45b41dc32bc69fce734c87
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2026-01-05 11:48:30 +08:00
daniml3
15bf8c3bfe sapphire: Set a multiplier to 10 for the panel dimensions
* In some cases (for example Xiaomi), the panel dimensions are divided
  by 10 in their libsdmcore. This makes that when building OSS
  libsdmcore the panel dimensions must be divided by 10 manually
  in the device's DTS for proper behavior of some display elements.

* For solving this, add a configurable multiplier so there is no need
  of having two different DTS for OSS / prebuilt libsdmcore.

Signed-off-by: Nikita Savchenko <NikitaSavc@yandex.ru>
Change-Id: I02ef88bbb0b1f4a754d8b2b7c6e2078fde21a0e0
2026-01-05 11:48:30 +08:00
Cosmin Tanislav
81b087d607 sapphire: props: Add missing prop for support for udfps long press sensor
Signed-off-by: ReStranger <restranger@disroot.org>
2026-01-05 11:48:30 +08:00
pedro
c63ba51292 sapphire: overlay: Update pixel pitch 2026-01-05 11:48:30 +08:00
Omar Mohamed
c4f4b7c130 sapphire: Limit max refresh rate on lockscreen 2026-01-05 11:48:30 +08:00
Jesse Chan
433495f94c sapphire: overlay: configure SQLite to operate in MEMORY mode
This change yields considerable SQLite performance gains. It
should be generally safe as this device has irremovable battery.

Some OEMs have been doing this for years.

Change-Id: I541709fc771d4b501b56b8555e5e8a04486d0293
2026-01-05 11:48:30 +08:00
Liekoo
e6c8fa4710 sapphire: Change DEXPREOPT_FILTER 2026-01-05 11:48:30 +08:00
Asier Ruiz
a371ad3f8f sapphire: Add SystemUI restart in restart advanced menu 2026-01-05 11:48:30 +08:00
Michael Bestas
9923d83ad4 sapphire: Inherit common partition reserved sizes
Change-Id: I444ce2fcd37cdfa58d83a7e872dc547fb05a2a89
2026-01-05 11:48:30 +08:00
Kumar Anand
e6b0aecc86 sapphire: wifi: Enable automatic channel selection
* Automatic Channel Selection algorithms and implementations
   are used to enable interfaces to automatically figure
   out which channel configuration to use for initiating
   communication, for any mode of operation which initiates
   radiation (AP, Mesh, IBSS, P2P).

   https://wireless.wiki.kernel.org/en/users/documentation/acs
2026-01-05 11:48:30 +08:00
LuK1337
ddffb1e22d sapphire: wifi: Enable DFS channel scanning in P2P search
* Fixes P2P when connected to 5GHz access point.

Change-Id: I31890645510931c7e7a65759c915a09fec77a1cf
2026-01-05 11:48:30 +08:00
Luk1337
949b02563f sapphire: wifi: Disable RX wakelock feature 2026-01-05 11:48:30 +08:00
Alan Chen
ddbb6fb213 sapphire: wifi: Enable Optimized Power Management
- This config was renamed as of CLO commit [1] and [2].

[1]: 10989ba376
[2]: 9ef1447db3

Change-Id: Ie6ffbeebb45e5dd97b98592b7dfc195a4fb7045d
2026-01-05 11:48:30 +08:00
Alex Naidis
8351e99c03 sapphire: wifi: Smarter decisions on whether to use a 2 or 5Ghz AP
Implement a smarter system on whether to connect
to the provided 2Ghz or 5Ghz network.

Change-Id: Idd41e3d9a5e2bde3ea9b4873dffc4274d1530324
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
2026-01-05 11:48:30 +08:00
Sunil Ravi
14d5283651 sapphire: wifi: Disable TDLS offchannel
TDLS off-channel feature is needed only for
certification. Disable the feature in production
builds.

Bug: 161320896
Test: Basic wifi sanity test.
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2026-01-05 11:48:30 +08:00
Yaroslav Furman
3c797b8b77 sapphire: wifi: Disable all logging 2026-01-05 11:48:30 +08:00
Jabiyeff
170b31a935 sapphire: props: Force disable iorapd
* Its eating more RAM and slowdown device
* Thanks for CAFEBABE find this
2026-01-05 11:48:29 +08:00
Michael Bestas
6ce282e549 sapphire: prop: Fix screen record lag 2026-01-05 11:48:29 +08:00
kevinjava
ce92ecc300 sapphire: Set RELAX_USES_LIBRARY_CHECK to true
error: mismatch in the <uses-library> tags between the build system and the manifest:
        - required libraries in build system: []
                         vs. in the manifest: []
        - optional libraries in build system: []
            and missing ones in build system: []
                         vs. in the manifest: [androidx.window.extensions, androidx.window.sidecar]
        - tags in the manifest (device/xiaomi/sapphire/prebuilt/app/GoogleCameraGo/GoogleCameraGo.apk):
                uses-library-not-required:'androidx.window.extensions'          uses-library-not-required:'androidx.window.sidecar'
note: the following options are available:
        - to temporarily disable the check on command line, rebuild with RELAX_USES_LIBRARY_CHECK=true (this will set compiler filter "verify" and disable AOT-compilation in dexpreopt)
        - to temporarily disable the check for the whole product, set PRODUCT_BROKEN_VERIFY_USES_LIBRARIES := true in the product makefiles
        - to fix the check, make build system properties coherent with the manifest
        - for details, see build/make/Changes.md
2026-01-05 11:48:29 +08:00
hefatss
3eed64bda2 sapphire: Drop Dolby Atmos
Change-Id: If1580bd793f459a0ade889fa1f6bb15af8773c98
2026-01-05 11:48:29 +08:00
Arian
b84e1a1220 sapphire: Allow setsockopt syscall for qcom c2audio
```strace -f vendor/bin/hw/vendor.qti.media.c2@1.0-service```

```
[...]
[pid  5194] socket(AF_UNIX, SOCK_SEQPACKET|SOCK_CLOEXEC, 0) = 13
[pid  5194] setsockopt(13, SOL_SOCKET, SO_SNDTIMEO, "\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 13
[pid  5194] --- SIGSYS {si_signo=SIGSYS, si_code=SYS_SECCOMP, si_call_addr=0x7a905a365c, si_syscall=__NR_setsockopt, si_arch=AUDIT_ARCH_AARCH64} ---
```

Change-Id: Ifa0420883cbf663f8c7576798b1f35031f660f54
2026-01-05 11:48:29 +08:00
Michael Bestas
534bc2cd99 sapphire: Sync extract scripts with 22 templates
Change-Id: I7963ae050cfb193c5d0c2636da9c1e8f82bcdbdb
2026-01-05 11:48:29 +08:00
AmeChanRain
963e04b536 sapphire: Use Shim for missing symbols
04-03 15:00:34.291  1443  1443 F linker  : CANNOT LINK EXECUTABLE "/vendor/bin/hw/vendor.dolby.media.c2@1.0-service": cannot locate symbol "_ZN7android13FilterWrapper17getParamReflectorEv" referenced by "/vendor/lib64/libcodec2_hidl@1.0.so"...
04-03 15:00:34.324  1444  1444 F linker  : CANNOT LINK EXECUTABLE "/vendor/bin/hw/vendor.qti.media.c2@1.0-service": cannot locate symbol "_ZN7android13FilterWrapper17getParamReflectorEv" referenced by "/vendor/lib64/libcodec2_hidl@1.0.so"...
04-03 15:00:34.339  1445  1445 F linker  : CANNOT LINK EXECUTABLE "/vendor/bin/hw/vendor.qti.media.c2audio@1.0-service": cannot locate symbol "_ZN7android13FilterWrapper17getParamReflectorEv" referenced by "/vendor/lib64/libcodec2_hidl@1.0.so"...
04-03 15:00:35.065  1613  1613 F linker  : CANNOT LINK EXECUTABLE "/vendor/bin/vendor.dpmd": cannot locate symbol "_ZN7android8hardware6Parcel7setDataEPKhm" referenced by "/vendor/lib64/vendor.libdpmframework.so"...
2026-01-05 11:48:29 +08:00
Kyuofox
f03347b535 sapphire: Allow gettid call for atfwd
We never know what upstream is thinking:
W ATFWD-daemon: libminijail[4756]: failed to get path of fd 3: No such file or directory
W ATFWD-daemon: libminijail[4756]: allowing syscall: connect
W ATFWD-daemon: libminijail[4756]: allowing syscall: fcntl
W ATFWD-daemon: libminijail[4756]: allowing syscall: sendto
W ATFWD-daemon: libminijail[4756]: allowing syscall: socket
W ATFWD-daemon: libminijail[4756]: allowing syscall: writev
W ATFWD-daemon: libminijail[4756]: logging seccomp filter failures
E ATFWD-daemon: libminijail[4756]: blocked syscall: gettid

Change-Id: I42e638f9f25395b37df57471fce68cc73e11e83f
Signed-off-by: Kyuofox <kyuofox@gmail.com>
Signed-off-by: Frost <159105703+Karan-Frost@users.noreply.github.com>
2026-01-05 11:48:29 +08:00
Michael Bestas
b164259dec sapphire: Sync extract scripts with templates
Change-Id: I98a36854c5a0c0390592911bb2558b34eff77efc
2026-01-05 11:48:29 +08:00
Bruno Martins
7b6f2709d6 sapphire: Mark CNE symlink target as required package
Change-Id: I19c7d2ff968a72156edde722f50e2744e3062e0e
2026-01-05 11:48:29 +08:00
Bruno Martins
850ff51ecb sapphire: Declare EGL libs as symlinks during extraction
Change-Id: I4b2f3e79b5e518889d9771bf8990e27babca8b61
2026-01-05 11:48:29 +08:00