12451 Commits

Author SHA1 Message Date
Apelete Seketeli
7c5c12e46a sunfish: Explicitly disable "Enable GL comp backpressure"
When blur is enabled there is severe lag while scrolling apps in App
drawer, scrolling through recents and occasionally on QS pull down.

Explicitly disabling the "Enable GL comp backpressure" prop seems to
slove the issue.

Lag & janks are gone now, even with blur.
2025-12-24 04:12:31 +01:00
Apelete Seketeli
e0f37a9cb3 sunfish: Enable ADPF CPU hints for improved UI performance
Turns on `debug.sf.enable_adpf_cpu_hint` to allow SurfaceFlinger to
utilize Android Dynamic Performance Framework CPU hints, improving
overall UI responsiveness and frame pacing on Snapdragon devices.
2025-12-24 04:11:36 +01:00
Apelete Seketeli
89ab1db3e5 sunfish: Enable full ART optimizations with VDEX/ODEX
Enable comprehensive ART optimizations including VDEX and ODEX
generation for all system components to improve first-boot performance
and reduce application startup latency.

Configuration:
- WITH_DEXPREOPT := true          # Global dexpreopt enable
- DEX_PREOPT_DEFAULT := generate-vdex-and-image  # VDEX+ODEX gen
- WITH_DEXPREOPT_DEBUG_INFO := false  # Exclude debug symbols

Results:
- Verified generation of .odex files (optimized dex)
- Verified generation of .vdex files (verification dex)
- ART images created for core system components
- First boot time significantly reduced
- Application startup latency improved

Test procedure:
1. Full system build with 'm evolution' command
2. Verified artifacts in:
   - system/framework/oat/arm64/*.odex
   - system/framework/oat/arm64/*.vdex
   - system/app/*/oat/arm64/*.odex
   - system/priv-app/*/oat/arm64/*.vdex
3. Confirmed valid ART runtime loading during boot
2025-12-24 02:55:17 +01:00
Apelete Seketeli
a492424c9b sunfish: Speed profile services and wifi-service to reduce RAM and storage
- PRODUCT_SYSTEM_SERVER_COMPILER_FILTER := speed-profile

  Specifies the compiler filter used for system server code in Android
  builds. This setting ensures that system server components are
  optimized for performance using profile-guided compilation, which
  can improve runtime efficiency.

  https://source.android.com/docs/core/runtime/configure
2025-12-24 02:55:15 +01:00
Apelete Seketeli
a74e860f97 sunfish: Enable ScrollOptimizer
- persist.sys.perf.scroll_opt=true : enhances touch responsiveness and
  reduces rendering latency during UI scroll and fling operations by
  optimizing frame pacing and buffer handling,
- persist.sys.perf.scroll_opt.heavy_app=1 : used with previous
  setting, enables dynamic detection of heavy apps based on frame
  duration and buffer load.
2025-12-24 02:55:13 +01:00
Apelete Seketeli
c224b04a54 sunfish: Fix lag while app opening and QS lags
Optimizations :
- ro.hwui.render_ahead=5 : improve handling of QS pull-down animations
                           by prefetching frames,
- debug.hwui.use_hint_manager=true : send timing hints for better CPU
                                     scheduling,
- debug.hwui.target_cpu_time_percent=30 : percentage of frame time
                                          used for CPU work ; rest is
                                          reserved for GPU work.
2025-12-24 02:55:11 +01:00
Apelete Seketeli
a8883a4daf sunfish: Enable support for backround blur
Optimization change, allowing hardware accelerated rendering of window
blur to be turned on/off in developer settngs.
https://source.android.com/docs/core/display/window-blurs
2025-12-24 02:55:09 +01:00
Apelete Seketeli
b6ae0f1767 sunfish: Fetch vendor from personal repo
Forking vendor tree into Evolution X org repositories requires
privileged rights, and pushing fails due to git lfs:

batch request: git@lfs.undocumented.software: Permission denied (publickey).: exit status 255
error: failed to push some refs to 'github.com:Evolution-X-Devices/vendor_google_sunfish.git'

Fetching vendor tree from personal repo as a work-around.
2025-12-24 02:55:07 +01:00
Apelete Seketeli
095a47f833 sunfish: Select apps based on WITH_GMS flag
Selectively build with or without GAPPS and allow files to live in
specified root path depending on WITH_GMS flag.
2025-12-24 02:55:05 +01:00
Apelete Seketeli
b06c163aff sunfish: Remove space reserved for user gapps install 2025-12-24 02:55:04 +01:00
Apelete Seketeli
fea78e3060 sunfish: Allow files to live in specified root path
Accoridng to
https://codeberg.org/petefoths-projects/unofficial-l4m-builds/wiki/Build-errors,-fixes-and-work-arounds,
this seems the correct way to address following errors:

FAILED:
build/make/core/artifact_path_requirements.mk:31: warning:  device/google/sunfish/lineage_sunfish.mk produces files inside build/make/target/product/generic_system.mks artifact path requirement.
Offending entries:
system/priv-app/OmniStyle/OmniStyle.apk
system/app/GoogleExtShared/GoogleExtShared.apk
system/app/GooglePrintRecommendationService/GooglePrintRecommendationService.apk
system/etc/permissions/privapp-permissions-google.xml
system/priv-app/DocumentsUIGoogle/DocumentsUIGoogle.apk
system/priv-app/TagGoogle/TagGoogle.apk
In file included from build/make/core/main.mk:1173:
build/make/core/artifact_path_requirements.mk:31: error: Build failed.
2025-12-24 02:55:02 +01:00
Apelete Seketeli
76572d9c9a sunfish: Select mini gapps package instead of default gapps
This addresses the following build error:

[0620/164226.950272:ERROR:payload_generation_config.cc(270)] Sum of sizes in google_dynamic_partitions_partition_list is 5195177984, which is greater than google_dynamic_partitions_size (4873781248)
[0620/164226.950297:FATAL:generate_delta_main.cc(711)] Check failed: payload_config.target.ValidateDynamicPartitionMetadata().
out/host/linux-x86/bin/../lib64/libchrome.so(base::debug::StackTrace::StackTrace(unsigned long)+0x1b) [0x7face6bfb23b]
out/host/linux-x86/bin/../lib64/libchrome.so(logging::LogMessage::~LogMessage()+0x8c) [0x7face6b89cfc]
out/host/linux-x86/bin/delta_generator(+0x10e328) [0x555d10c12328]
/lib/x86_64-linux-gnu/libc.so.6(+0x2724a) [0x7face66a124a]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x85) [0x7face66a1305]
out/host/linux-x86/bin/delta_generator(+0x10bce9) [0x555d10c0fce9]
2025-12-24 02:55:00 +01:00
Apelete Seketeli
017e023d65 sunfish: Remove xml permissions file from PRODUCT_COPY_FILES
This addresses the following build error:

[100% 166/166] writing legacy Make module rules ...
FAILED:
build/make/core/Makefile:161: error: overriding commands for target `out/target/product/sunfish/product/etc/default-permissions/default-permissions.xml', previously defined at out/soong/installs-lineage_sunfish.mk:127365
2025-12-24 02:54:58 +01:00
Apelete Seketeli
606dffa539 sunfish: Initialise Evolution X 11.x 2025-12-24 02:54:54 +01:00
basamaryan
6cbd0ebbb1 sunfish: Bump kernel BPF version override to 5.4.299
This matches android12-5.4

Test: atest netd_integration_test
Change-Id: I9b811c05610c11718d64289f10ab88c8c67df3c5
2025-10-10 16:11:48 +03:00
basamaryan
c17461c22f sunfish: Override kernel BPF version
Change-Id: I3c581f3120b6258b3b45020c5ba12f6bf5b0ee27
2025-10-10 16:11:41 +03:00
Michael Bestas
efb2cd3e1a sunfish: Enable UFFD GC
Kernel has support for it now.

Change-Id: I3863ee71477f321fe47646571b857fdc39a1902b
2025-10-10 16:11:32 +03:00
Michael Bestas
5d5d35adf4 sunfish: Drop android.hardware.power.stats@1.0-service.pixel for now
It's not compatible with FCM 6, so disable it until it's converted to
AIDL.

Change-Id: I2bea87ea39b0b626850ec123bc160fd0f5eaa072
2025-09-19 01:20:16 +03:00
Yumi Yukimura
f0209caf8a sunfish: manifest: Bump target-level to 6
Change-Id: I8d419d248f29b7d316a87d55e19ae7ff141e19a5
2025-09-19 01:20:16 +03:00
Roopesh Nataraja
67c99995c5 sunfish: Remove schedulerservice from device compatibility matrix
android.frameworks.schedulerservice is deprecated and limited to
max-level=5 in framework manifest. Hence, remove it from device
compatibility matrix to allow super image generation.

Change-Id: Icbeeeb07c9ba8c094a1c531e0a67bd1dbac8b926
2025-09-19 01:20:16 +03:00
Michael Bestas
1622de528a sunfish: Switch to AIDL health storage HAL
Change-Id: I0ae30e7480c3249eb2c70c17c3388bc1ff06ae82
2025-09-19 01:20:16 +03:00
Michael Bestas
e72c788d20 sunfish: Shim libsecureuisvc_jni with libgui_shim
Change-Id: Ic6261ee33f1b46a21c02eca9ec0d169bfd9613d2
2025-09-19 01:20:16 +03:00
Michael Bestas
590ab618d2 sunfish: Include qcom wlan namespace
Change-Id: Icccc76db58e96df48a605c5933b79cd523f7a424
2025-09-19 01:20:16 +03:00
Chi Zhang
ec6a9999f3 sunfish: sepolicy: Don't audit PowerStats access on legacy devices.
Bug: 317734530
Test: build
Change-Id: Id8c908c56ee2aea99ab0786d387a1105658b67e0
2025-09-19 01:20:16 +03:00
Nolen Johnson
afc7cf8d54 sunfish: sepolicy: Add Google Camera sepolicy
Change-Id: I6aed9e65852875df380d781e4704232f4bcadb21
2025-09-19 01:20:16 +03:00
Nolen Johnson
7c44c2e67d sunfish: sepolicy: Allow cameraserver to read more properties
Change-Id: I557b54790de6d1adec3847095c8045794870c0a6
2025-09-19 01:20:16 +03:00
Nolen Johnson
ae9bd7c527 sunfish: sepolicy: Allow sensors to create fifo_file as well
Change-Id: If071ba896db12cc7071737a7bd52b9ecc484ca9b
2025-09-19 01:20:16 +03:00
Nolen Johnson
15a7ebe23d sunfish: sepolicy: Label gralloc.qcom as same_process_hal_file
Change-Id: Icaf41166fbed739233bcaad6402a69e389eb8977
2025-09-19 01:20:16 +03:00
Michael Bestas
144b3bce57 sunfish: Drop pixelstats policy
Change-Id: I81ce5905dd87106237400a68e12a0cfb8d5075bd
2025-09-19 01:19:27 +03:00
Michael Bestas
59f210071b sunfish: Remove pixelstats-vendor
This does not build with the current hardware/google/pixel dependencies
so drop it.

Change-Id: Ifcbf49fb482164bd72ad0e1f05fa2d48ca2fbc98
2025-09-19 01:19:27 +03:00
Michael Bestas
06decba58d sunfish: Remove userdebug/eng configuration
Change-Id: I8a37c788060a4aae5a7585ea8142a6fbfec8cba4
2025-09-14 23:35:53 +03:00
Michael Bestas
1a6fc89ab1 sunfish: Drop unused AndroidBoard.mk
Change-Id: I6149ebbec9ebb3687819d8c72c31ebf124056644
2025-09-14 23:35:35 +03:00
Michael Bestas
41b6b4bd66 sunfish: Migrate mount point creation out of AndroidBoard.mk
Change-Id: Id5986b8a740e45f864eecdd2bd82d9455f128d6b
2025-09-14 23:35:35 +03:00
Alexander Koskovich
8f499e8315 sunfish: Drop PRODUCT_BUILD_SUPER_PARTITION
* Super image is not generated by a default 'm' build,
   but we at least want it for dist builds.

Change-Id: Ia12a5314632509fcd309d51ddf757efdc37499c3
2025-09-12 06:56:53 +00:00
Michael Bestas
c88379197a sunfish: Update display flags & packages
Required after display HAL blueprint conversion

Change-Id: Ifc4e10703d3424607b9dc8bcc8e417d1c88cc2f3
2025-09-10 21:19:54 +03:00
LuK1337
0bcbc16afc sunfish: Remove vendor/lineage device framework matrix inclusion
See: I78da6340f38b93fdc4c3694cb8f431f387d16c0d
Change-Id: I0b9f527de50ca02082be9b92375559f4893b2688
2025-08-24 02:00:46 +00:00
Nolen Johnson
f6612735b4 sunfish: sepolicy: Include AIDL LiveDisplay policy
Change-Id: I6ed4f79bd17fdd214f000098ffae3ead2bf4c4da
2025-08-23 04:22:39 +00:00
Nolen Johnson
80b976dec6 sunfish: Disable unsupported DA mode in LiveDisplay
Change-Id: Idcbe828086b6141e413cab7262009c1aea9c1347
2025-08-21 15:16:47 +00:00
LuK1337
4ed41dd621 sunfish: Migrate to AIDL LiveDisplay HAL
Change-Id: I4e8be836e94d442b40c63a1ac7dade3c9d9c784c
2025-08-20 06:24:57 +00:00
LuK1337
4f1c4ce498 sunfish: apktool_patch() no longer takes custom arguments
Change-Id: Idf85ae2cd0505c34e55f0e6acec2afc085372b78
2025-07-09 08:01:33 +03:00
Michael Bestas
3ba7d1a1ba sunfish: Remove deprecated config_mobile_tcp_buffers/networkAttributes
Change-Id: Ieda947e283cde11cf74a01dc1b438e1deeb902c9
2025-06-16 23:09:17 -04:00
Bruno Martins
d6f1d406d6 sunfish: Migrate Lineage Health to soong_config_set
Change-Id: I2eff39e83b9673aa2989d05de65c646241ba61da
2025-05-09 05:17:46 +03:00
Michael Bestas
02ad22ed72 sunfish: Migrate gralloc_handle_has_reserved_size to soong_config_set
Change-Id: I3aa081f081e41ba108ff91227409baad7f54d49c
2025-04-28 04:50:49 +03:00
Michael Bestas
1dfccc1c4a sunfish: Remove CleanSpec.mk
Change-Id: I6af355cfbfd5fc388ca25cd25cea9df9e74c41c3
2025-04-05 17:23:30 -04:00
Alexander Koskovich
85351a4057 sunfish: Remove vendor RenderScript implementation.
* RenderScript is deprecated on newer platforms and
   is being officially replaced.

 * On April 19, 2021, Google announced that RenderScript
   will be deprecated in Android 12, and recommended
   porting existing code to Vulkan.

   https://android-developers.googleblog.com/2021/04/android-gpu-compute-going-forward.html

Change-Id: I19460ef266a646b046f1e7d2f0b4eab7c48ae536
2025-04-02 02:00:48 +03:00
Michael Bestas
28b195391d fixup! Change TARGET_RECOVERY_UI_LIB to use fully qualified names in sunfish
Change-Id: Ie0e77bd84e757593124a71ff34422ea682f595fb
2025-03-17 14:41:11 +02:00
Michael Bestas
ee3c0a78aa Merge branch 'main' of https://android.googlesource.com/device/google/sunfish into lineage-22.2
* 'main' of https://android.googlesource.com/device/google/sunfish:
  [owners] Remove etancohen@google.com from rro_overlays/WifiOverlay/OWNERS
  Change TARGET_RECOVERY_UI_LIB to use fully qualified names in sunfish

Change-Id: I9a7dbb53506948f638b0c271ba43500b71fdbe92
2025-03-17 14:35:25 +02:00
Michael Bestas
3649ebc1d7 sunfish: Update CHRE daemon name
Change-Id: Ia1139714c5019684b1e62933fd34632aca2e02a7
2025-03-12 04:55:43 +02:00
Michael Bestas
5ff408fa9b sunfish: Set chre_daemon_dsp_library
Change-Id: If0a2be3eee2f55fcbb48ca9118f4f14f68ac1c32
2025-03-12 04:55:43 +02:00
Michael Bestas
860d06feac sunfish: Remove vendor.google.google_battery support
This is has missing symbols in BP1A and is not used anyway

Change-Id: I35615a067b0cbbd52c660a971313d0048ce4badb
2025-03-12 04:55:43 +02:00