36 Commits
vic ... bka

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
36 changed files with 104 additions and 506 deletions

View File

@@ -181,16 +181,6 @@ AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
AUDIO_FEATURE_ENABLED_CS35L41 := true
AUDIO_FEATURE_ENABLED_CS35L41_CALIBRATION_TOOL := true
# Graphics
TARGET_USES_GRALLOC1 := true
TARGET_USES_HWC2 := true
TARGET_USES_NV21_CAMERA_PREVIEW := true
# Display
TARGET_USES_DISPLAY_RENDER_INTENTS := true
TARGET_USES_COLOR_METADATA := true
TARGET_USES_DRM_PP := true
# Vendor Interface Manifest
DEVICE_MANIFEST_FILE := device/google/sunfish/manifest.xml
DEVICE_MATRIX_FILE := device/google/sunfish/compatibility_matrix.xml

View File

@@ -11,17 +11,11 @@ TARGET_KERNEL_CONFIG := sunfish_defconfig
TARGET_KERNEL_SOURCE := kernel/google/msm-4.14
TARGET_NEEDS_DTBOIMAGE := true
# Manifests
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += vendor/lineage/config/device_framework_matrix.xml
# Partitions
AB_OTA_PARTITIONS += \
vendor
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
# Reserve space for gapps install
-include vendor/lineage/config/BoardConfigReservedSize.mk
# SELinux
BOARD_SEPOLICY_DIRS += device/google/sunfish/sepolicy-lineage/dynamic
BOARD_SEPOLICY_DIRS += device/google/sunfish/sepolicy-lineage/vendor

View File

@@ -52,9 +52,6 @@ ifneq (REL,$(PLATFORM_VERSION_CODENAME))
PRODUCT_PACKAGES += com.android.vndk.current.on_vendor
endif
# Don't build super.img.
PRODUCT_BUILD_SUPER_PARTITION := false
# STOPSHIP deal with Qualcomm stuff later
# PRODUCT_RESTRICT_VENDOR_FILES := all

File diff suppressed because one or more lines are too long

View File

@@ -1,12 +1,4 @@
<compatibility-matrix version="1.0" type="device">
<hal format="hidl" optional="false">
<name>android.frameworks.schedulerservice</name>
<version>1.0</version>
<interface>
<name>ISchedulingPolicyService</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.frameworks.sensorservice</name>
<version>1.0</version>

View File

@@ -112,19 +112,6 @@ PRODUCT_COPY_FILES += \
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml
# Set the default property of tcpdump_logger on eng ROM.
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.tcpdump.log.alwayson=false \
persist.vendor.tcpdump.log.br_num=5
endif
# Disable Rescue Party on eng build
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PRODUCT_PROPERTIES += \
persist.sys.disable_rescue=true
endif
# Enable Incremental on the device via kernel module
PRODUCT_PROPERTY_OVERRIDES += \
ro.incremental.enable=module:/vendor/lib/modules/incrementalfs.ko
@@ -137,3 +124,9 @@ PRODUCT_PROPERTY_OVERRIDES += \
# Enable zygote critical window.
PRODUCT_PROPERTY_OVERRIDES += \
zygote.critical_window.minute=10
# ART
PRODUCT_SYSTEM_SERVER_COMPILER_FILTER := speed-profile
WITH_DEXPREOPT := true
DEX_PREOPT_DEFAULT := generate-vdex-and-image
WITH_DEXPREOPT_DEBUG_INFO := false

View File

@@ -41,6 +41,9 @@ PRODUCT_PRODUCT_PROPERTIES += ro.opa.eligible_device=true
PRODUCT_PACKAGES += \
HbmSVManagerOverlay
# Kernel
PRODUCT_ENABLE_UFFD_GC := true
# Lineage Health
include hardware/google/pixel/lineage_health/device.mk
@@ -77,6 +80,8 @@ PRODUCT_PACKAGES += \
disable_configstore
# Display
$(call soong_config_set,qtidisplay,drmpp,true)
$(call soong_config_set,qtidisplay,gralloc4,true)
$(call soong_config_set,qtidisplay,gralloc_handle_has_reserved_size,true)
# GPS

View File

@@ -78,10 +78,6 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/audio/cs35l41/EVT1.1/cs35l41-revB2-dsp1-spk-prot.wmfw:$(TARGET_COPY_OUT_VENDOR)/firmware/cs35l41-revB2-dsp1-spk-prot.wmfw \
$(LOCAL_PATH)/audio/cs35l41/EVT1.1/R-cs35l41-revB2-dsp1-spk-prot.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/R-cs35l41-revB2-dsp1-spk-prot.bin \
# Audio CS35L41 speaker calibration tool
PRODUCT_PACKAGES_DEBUG += \
crus_sp_cal
# Audio effects
PRODUCT_PACKAGES += \
libqcomvoiceprocessingdescriptors
@@ -98,12 +94,6 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/audio/acdbdata/Headset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/Headset_cal.acdb \
$(LOCAL_PATH)/audio/acdbdata/Speaker_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/Speaker_cal.acdb \
$(LOCAL_PATH)/audio/acdbdata/adsp_avs_config.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/adsp_avs_config.acdb
# Audio ACDB workspace files for QACT
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/audio/acdbdata/workspaceFile.qwsp:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/workspaceFile.qwsp
endif
endif
# Settings overlay packages for regulatory_info

153
device.mk
View File

@@ -26,6 +26,7 @@ PRODUCT_SOONG_NAMESPACES += \
hardware/google/pixel \
hardware/qcom/sm8150/display \
hardware/qcom/sm8150/gps \
hardware/qcom/wlan \
hardware/qcom/wlan/legacy \
hardware/qcom-caf/bootctrl \
system/chre/host/hal_generic \
@@ -44,7 +45,6 @@ PRODUCT_PRODUCT_PROPERTIES += \
masterclear.allow_retain_esim_profiles_after_fdr=true
PRODUCT_COPY_FILES += \
device/google/sunfish/default-permissions.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions.xml \
device/google/sunfish/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml
@@ -87,26 +87,17 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
$(LOCAL_PATH)/init.ramoops.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ramoops.sh \
# Partitions
PRODUCT_PACKAGES += \
vendor_firmware_mnt_mountpoint
MSM_VIDC_TARGET_LIST := sm6150 # Get the color format from kernel headers
MASTER_SIDE_CP_TARGET_LIST := sm6150 # ION specific settings
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.hardware.diag.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).diag.rc
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.hardware.mpssrfs.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).mpssrfs.rc
else
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.hardware.diag.rc.user:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).diag.rc
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.hardware.mpssrfs.rc.user:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).mpssrfs.rc
endif
# Enable DIAG issue debug
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.diagdebug.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.diagdebug.rc
endif
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.hardware.diag.rc.user:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).diag.rc
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.hardware.mpssrfs.rc.user:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).mpssrfs.rc
# A/B support
PRODUCT_PACKAGES += \
@@ -136,10 +127,6 @@ AB_OTA_POSTINSTALL_CONFIG += \
PRODUCT_PACKAGES += \
update_engine_sideload
PRODUCT_PACKAGES_DEBUG += \
f2fs_io \
check_f2fs
AB_OTA_POSTINSTALL_CONFIG += \
RUN_POSTINSTALL_vendor=true \
POSTINSTALL_PATH_vendor=bin/checkpoint_gc \
@@ -153,12 +140,6 @@ PRODUCT_PROPERTY_OVERRIDES += \
PRODUCT_PACKAGES += \
checkpoint_gc
# The following modules are included in debuggable builds only.
PRODUCT_PACKAGES_DEBUG += \
bootctl \
r.vendor \
update_engine_client
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
@@ -311,26 +292,29 @@ PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.radio.snapshot_timer=0
PRODUCT_PACKAGES += \
hwcomposer.sm6150 \
hwcomposer.qcom \
android.hardware.graphics.composer@2.4-service-sm8150 \
gralloc.sm6150 \
gralloc.qcom \
android.hardware.graphics.mapper@3.0-impl-qti-display \
android.hardware.graphics.mapper@4.0-impl-qti-display \
vendor.qti.hardware.display.allocator-service
PRODUCT_PROPERTY_OVERRIDES += \
ro.hardware.gralloc=qcom \
ro.hardware.hwcomposer=qcom
# Light HAL
PRODUCT_PACKAGES += \
lights.sm6150 \
lights.qcom \
hardware.google.light@1.1-service
PRODUCT_PROPERTY_OVERRIDES += \
ro.hardware.lights=qcom
# Memtrack HAL
PRODUCT_PACKAGES += \
vendor.qti.hardware.memtrack-service
#Bluetooth SAR HAL
PRODUCT_PACKAGES_DEBUG += \
bluetooth_sar_test
# Bluetooth SoC
PRODUCT_PROPERTY_OVERRIDES += \
vendor.qcom.bluetooth.soc=cherokee
@@ -372,7 +356,7 @@ PRODUCT_PACKAGES += \
# Storage health HAL
PRODUCT_PACKAGES += \
android.hardware.health.storage@1.0-service
android.hardware.health.storage-service.default
# Create input surface on the framework side
PRODUCT_PROPERTY_OVERRIDES += \
@@ -396,13 +380,6 @@ PRODUCT_PROPERTY_OVERRIDES += \
PRODUCT_PACKAGES += \
android.hardware.camera.provider@2.7-service-google
# Google Camera HAL test libraries in debug builds
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PACKAGES_DEBUG += \
libgoogle_camera_hal_proprietary_tests \
libgoogle_camera_hal_tests
endif
PRODUCT_PACKAGES += \
android.hardware.sensors@2.0-service.multihal
@@ -414,13 +391,6 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
android.hardware.contexthub-service.generic
# CHRE tools
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PACKAGES += \
chre_power_test_client \
chre_test_client
endif
# Boot control HAL
PRODUCT_PACKAGES += \
android.hardware.boot-service.qti \
@@ -464,19 +434,12 @@ ENABLE_VENDOR_RIL_SERVICE := true
USE_QCRIL_OEMHOOK := true
HOSTAPD := hostapd
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
HOSTAPD += hostapd_cli
endif
PRODUCT_PACKAGES += $(HOSTAPD)
WPA := wpa_supplicant.conf
WPA += wpa_supplicant
PRODUCT_PACKAGES += $(WPA)
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PACKAGES += wpa_cli
endif
# Wifi
PRODUCT_PACKAGES += \
android.hardware.wifi-service \
@@ -511,27 +474,6 @@ PRODUCT_PACKAGES += \
android.hardware.bluetooth.audio@2.0-impl \
android.hardware.audio.service
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PACKAGES += \
tinyplay \
tinycap \
tinymix \
tinypcminfo \
cplay
endif
# Audio hal xmls
# Audio Policy tables
# Audio ACDB data
# Audio ACDB workspace files for QACT
# Audio speaker tunning config data
# Audio audiozoom config data
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
$(LOCAL_PATH)/media_codecs_performance_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml \
@@ -540,24 +482,10 @@ PRODUCT_COPY_FILES += \
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.snd_card.open.retries=50
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
# Subsystem ramdump
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.sys.ssr.enable_ramdumps=1
endif
# Subsystem silent restart
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.sys.ssr.restart_level=modem,adsp,slpi
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
# Sensor debug flag
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.debug.ash.logger=0 \
persist.vendor.debug.ash.logger.time=0
endif
# setup dalvik vm configs
$(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk)
@@ -565,16 +493,6 @@ $(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk)
PRODUCT_PACKAGES += \
charger_res_images
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
# b/36703476: Set default log size to 1M
PRODUCT_PROPERTY_OVERRIDES += \
ro.logd.size=1M
# b/114766334: persist all logs by default rotating on 30 files of 1MiB
PRODUCT_PROPERTY_OVERRIDES += \
logd.logpersistd=logcatd \
logd.logpersistd.size=30
endif
# Dumpstate HAL
PRODUCT_PACKAGES += \
android.hardware.dumpstate@1.1-service.sunfish
@@ -620,13 +538,8 @@ PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.radio.log_prefix="modem_log_"
# Enable modem logging for debug
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.sys.modem.diag.mdlog=true
else
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.sys.modem.diag.mdlog=false
endif
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.sys.modem.diag.mdlog_br_num=5
@@ -641,12 +554,6 @@ PRODUCT_PROPERTY_OVERRIDES += \
# Enable stats logging in LMKD
TARGET_LMKD_STATS_LOG := true
# default usb oem functions
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.usb.usbradio.config=diag
endif
# Enable app/sf phase offset as durations. The numbers below are translated from the existing
# positive offsets by finding the duration app/sf will have with the offsets.
# For SF the previous value was 6ms which under 16.6ms vsync time (60Hz) will leave SF with ~10.5ms
@@ -663,9 +570,9 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.early.app.duration=16500000
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.earlyGl.sf.duration=13500000
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.earlyGl.app.duration=21000000
# Enable backpressure for GL comp
# Disable backpressure for GL comp to fix lag when blur is enabled
PRODUCT_PROPERTY_OVERRIDES += \
debug.sf.enable_gl_backpressure=1
debug.sf.enable_gl_backpressure=0
# Do not skip init trigger by default
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
@@ -688,10 +595,6 @@ PRODUCT_COPY_FILES += \
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
# Reliability reporting
PRODUCT_PACKAGES += \
pixelstats-vendor
PRODUCT_USE_DYNAMIC_PARTITIONS := true
# insmod files
@@ -709,10 +612,6 @@ PRODUCT_PRODUCT_PROPERTIES += \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/fstab.postinstall:$(TARGET_COPY_OUT_PRODUCT)/etc/fstab.postinstall
# powerstats HAL
PRODUCT_PACKAGES += \
android.hardware.power.stats@1.0-service.pixel
# Recovery
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.recovery.device.rc:recovery/root/init.recovery.sunfish.rc
@@ -736,13 +635,8 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
# Vendor verbose logging default property
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.verbose_logging_enabled=true
else
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.verbose_logging_enabled=false
endif
-include vendor/qcom/sm8150/proprietary/commonsys-intf/data/data_commonsys-intf_system_product.mk
-include vendor/qcom/sm8150/proprietary/commonsys-intf/data/data_commonsys-intf_vendor_product.mk
@@ -764,9 +658,6 @@ include hardware/google/pixel/citadel/citadel.mk
-include vendor/qcom/sm8150/proprietary/securemsm/config/smcinvoke_vendor_proprietary_product.mk
-include vendor/qcom/sm8150/proprietary/commonsys/securemsm/securemsm_system_product.mk
# storage
-include hardware/google/pixel/pixelstats/device.mk
# power HAL
-include hardware/google/pixel/power-libperfmgr/aidl/device.mk

16
evolution.dependencies Normal file
View File

@@ -0,0 +1,16 @@
[
{
"repository": "device_google_gs-common",
"target_path": "device/google/gs-common"
},
{
"repository": "apelete/proprietary_vendor_google_sunfish",
"target_path": "vendor/google/sunfish",
"remote" : "github-non-los",
"branch": "lineage-23.0"
},
{
"repository": "kernel_google_msm-4.14",
"target_path": "kernel/google/msm-4.14"
}
]

View File

@@ -1,20 +0,0 @@
#
# Copyright (C) 2020 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Trigger ramdump when property on
on property:vendor.radio.diag_debug=true
write /dev/kmsg "RIL Diag Issue Detected!"
write /proc/sysrq-trigger "c"

View File

@@ -1,108 +0,0 @@
#
# Copyright (C) 2018 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
on init
chmod 666 /dev/diag
on post-fs-data
# Modem logging collection
mkdir /data/vendor/radio 0777 radio radio
mkdir /data/vendor/radio/diag_logs 0777 system system
rm /data/vendor/radio/diag_logs/logs/diag_poweron_log.qmdl
# WLAN logging collection
mkdir /data/vendor/wifi 0777 system system
mkdir /data/vendor/wifi/cnss_diag 0777 system system
service diag_mdlog_start /vendor/bin/diag_mdlog
class late_start
user shell
group system diag media_rw
socket diag_router stream 0666 system system
disabled
oneshot
service diag_mdlog_stop /vendor/bin/diag_mdlog -k
class late_start
user shell
group system diag media_rw
disabled
oneshot
on boot && property:persist.vendor.sys.modem.diag.mdlog=*
rm /data/vendor/radio/diag_logs/diag_mdlog_pid
setprop vendor.sys.modem.diag.mdlog ${persist.vendor.sys.modem.diag.mdlog}
on property:vendor.sys.modem.diag.mdlog=true && property:persist.vendor.verbose_logging_enabled=true
start diag_mdlog_start
on property:vendor.sys.modem.diag.mdlog=false
start diag_mdlog_stop
on property:persist.vendor.sys.cnss.diag_qxdm=true
start vendor.cnss_diag
on property:persist.vendor.sys.cnss.diag_qxdm=false
stop vendor.cnss_diag
on property:persist.vendor.sys.cnss.diag_txt=true
start vendor.cnss_diag_txt
on property:persist.vendor.sys.cnss.diag_txt=false
stop vendor.cnss_diag_txt
service vendor.cnss_diag /vendor/bin/cnss_diag -q -u -w
class late_start
user system
group system
disabled
oneshot
service vendor.cnss_diag_txt /vendor/bin/cnss_diag -s -f -P -m /data/vendor/wifi/cnss_diag/cnss_diag.conf -t HELIUM
class late_start
user system
group system
disabled
oneshot
on property:vendor.debug.ramdump.force_crash=true
write /proc/sysrq-trigger "c"
on property:ro.vendor.bluetooth.ftm_enabled=true
start ftmd
service ftmd /vendor/bin/ftmdaemon
class late_start
user root
group bluetooth net_bt_admin misc diag net_bt
disabled
oneshot
on property:vendor.sys.logger.bluetooth=true
setprop persist.vendor.service.bdroid.snooplog true
setprop persist.vendor.service.bdroid.fwsnoop true
on property:vendor.sys.logger.bluetooth=false
setprop persist.vendor.service.bdroid.snooplog false
setprop persist.vendor.service.bdroid.fwsnoop false
on property:persist.bluetooth.btsnoopenable=true
setprop persist.vendor.service.bdroid.soclog true
on property:persist.bluetooth.btsnoopenable=false
setprop persist.vendor.service.bdroid.soclog false
on property:vendor.usb.config=*
start usbd

View File

@@ -1,11 +0,0 @@
on post-fs-data
# Modem Remote FS
mkdir /data/vendor/rfs 0770 vendor_rfs vendor_rfs
mkdir /data/vendor/rfs/mpss 0770 vendor_rfs vendor_rfs
mkdir /data/vendor/tombstones/rfs 0770 vendor_rfs vendor_rfs
write /data/vendor/rfs/mpss/mcfg_nv_list_flag "1"
chown vendor_rfs vendor_rfs /data/vendor/rfs/mpss/mcfg_nv_list_flag
chmod 0700 /data/vendor/rfs/mpss/mcfg_nv_list_flag
on property:vendor.sys.modem.diag.efsdump=true
chmod 0660 /data/vendor/rfs/mpss/modem_efs

View File

@@ -1,10 +0,0 @@
[
{
"repository": "android_device_google_gs-common",
"target_path": "device/google/gs-common"
},
{
"repository": "android_kernel_google_msm-4.14",
"target_path": "kernel/google/msm-4.14"
}
]

View File

@@ -26,4 +26,20 @@ PRODUCT_BUILD_PROP_OVERRIDES += \
BuildFingerprint=google/sunfish/sunfish:13/TQ3A.230805.001.S1/10786265:user/release-keys \
DeviceProduct=sunfish
ifeq ($(WITH_GMS),false)
PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
system/priv-app/OmniStyle/OmniStyle.apk
else
# Gapps
TARGET_USES_MINI_GAPPS := true
PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
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
endif
$(call inherit-product, vendor/google/sunfish/sunfish-vendor.mk)

View File

@@ -25,7 +25,7 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<manifest version="1.0" type="device" target-level="5">
<manifest version="1.0" type="device" target-level="6">
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
@@ -397,15 +397,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<transport>hwbinder</transport>
<fqname>@4.0::IKeymasterDevice/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.power.stats</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IPowerStats</name>
<instance>default</instance>
</interface>
</hal>
<!-- light HAL -->
<hal format="hidl">
<name>android.hardware.light</name>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2025 The Evolution X Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<string name="build_maintainer_summary" translatable="false">apelete</string>
<string name="build_maintainer_donate_url" translatable="false">https://apelete.missene.com</string>
</resources>

View File

@@ -1,35 +0,0 @@
//
// Copyright (C) 2019 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
cc_binary {
name: "pixelstats-vendor",
init_rc: ["pixelstats-vendor.sunfish.rc"],
srcs: [
"service.cpp",
],
shared_libs: [
"libbase",
"liblog",
"libutils",
"libpixelstats",
],
proprietary: true,
static_libs: ["chre_client"],
header_libs: ["chre_api"],
}

View File

@@ -1,4 +0,0 @@
service vendor.pixelstats_vendor /vendor/bin/pixelstats-vendor
class hal
user system
group system context_hub readproc

View File

@@ -1,74 +0,0 @@
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#define LOG_TAG "pixelstats"
#include <android-base/logging.h>
#include <utils/StrongPointer.h>
#include <pixelstats/DropDetect.h>
#include <pixelstats/SysfsCollector.h>
#include <pixelstats/UeventListener.h>
using android::sp;
using android::hardware::google::pixel::DropDetect;
using android::hardware::google::pixel::SysfsCollector;
using android::hardware::google::pixel::UeventListener;
#define BLOCK_STATS_LENGTH 11
#define UFSHC_PATH(filename) "/dev/sys/block/bootdevice/" #filename
const struct SysfsCollector::SysfsPaths sysfs_paths = {
.SlowioReadCntPath = UFSHC_PATH(slowio_read_cnt),
.SlowioWriteCntPath = UFSHC_PATH(slowio_write_cnt),
.SlowioUnmapCntPath = UFSHC_PATH(slowio_unmap_cnt),
.SlowioSyncCntPath = UFSHC_PATH(slowio_sync_cnt),
.CycleCountBinsPath = "/sys/class/power_supply/battery/cycle_counts",
.ImpedancePath = "/sys/devices/platform/codec_detect/resistance_left_right",
.CodecPath = "/sys/devices/platform/codec_detect/codec_state",
.SpeechDspPath = "/sys/devices/platform/codec_detect/wdsp_stat",
.Codec1Path = "/sys/devices/platform/codec_detect/headset_codec_state",
.UFSLifetimeA = UFSHC_PATH(health/lifetimeA),
.UFSLifetimeB = UFSHC_PATH(health/lifetimeB),
.UFSLifetimeC = UFSHC_PATH(health/lifetimeC),
.F2fsStatsPath = "/sys/fs/f2fs/",
.EEPROMPath = "/dev/battery_history",
.UFSErrStatsPath = {
UFSHC_PATH(err_stats/err_host_reset)
}
};
const char *const kAudioUevent = "/kernel/q6audio/q6voice_uevent";
const char *const kSSOCDetailsPath = "/sys/class/power_supply/battery/ssoc_details";
int main() {
LOG(INFO) << "starting PixelStats";
// b/118713028 Expect failure until drop detect nanoapp is enabled
sp<DropDetect> dropDetector = DropDetect::start();
if (!dropDetector) {
LOG(ERROR) << "Unable to launch drop detection";
return 1;
}
UeventListener ueventListener(kAudioUevent, kSSOCDetailsPath);
std::thread listenThread(&UeventListener::ListenForever, &ueventListener);
listenThread.detach();
SysfsCollector collector(sysfs_paths);
collector.collect(); // This blocks forever.
return 0;
}

View File

@@ -119,3 +119,6 @@ bluetooth.profile.pan.nap.enabled?=true
bluetooth.profile.pan.panu.enabled?=true
bluetooth.profile.pbap.server.enabled?=true
bluetooth.profile.sap.server.enabled?=true
# eBPF
ro.bpf.kver_override=5.4.299

View File

@@ -5,7 +5,6 @@ hal_health_default unlabeled file b/156200409
hal_neuralnetworks_default default_prop file b/159570217
hal_vibrator_default default_prop file b/162700134
init_qti_chg_policy sysfs_charge file b/162702119
pixelstats_vendor sysfs file b/161875858
platform_app default_android_hwservice hwservice_manager b/156059972
shell device_config_runtime_native_boot_prop file b/175106535
shell sysfs file b/175106535

View File

@@ -10,7 +10,6 @@
/dev/qg_battery u:object_r:qg_device:s0
# system binaries
/system/bin/hw/hardware\.google\.pixelstats@1\.0-service u:object_r:pixelstats_system_exec:s0
/vendor/bin/easelmanagerd u:object_r:easel_exec:s0
/dev/battery_history u:object_r:battery_history_device:s0

View File

@@ -13,3 +13,6 @@ binder_call(grilservice_app, hal_wifi_ext)
# this denial on grilservice_app since this AudioMetric functionality is not used in legacy device.
dontaudit grilservice_app hal_audiometricext_hwservice:hwservice_manager find;
# this denial on grilservice_app since ODPM isn't accessed / available on legacy devices.
dontaudit grilservice_app hal_power_stats_service:service_manager find;

View File

@@ -23,6 +23,11 @@ allow hal_camera_default mnt_vendor_file:dir search;
allow hal_camera_default persist_camera_file:dir search;
allow hal_camera_default persist_camera_file:file r_file_perms;
# For camera hal to talk with statsd
allow hal_camera_default statsdw_socket:sock_file write;
# Silence annoying spam from Google Camera
dontaudit hal_camera_default statsd:unix_dgram_socket sendto;
# For camera hal to use system property
set_prop(hal_camera_default, camera_prop)
get_prop(hal_camera_default, camera_ro_prop)

View File

@@ -1,4 +1,3 @@
type hal_pixelstats_hwservice, hwservice_manager_type, vendor_hwservice_type;
type hal_darwinn_hwservice, hwservice_manager_type, vendor_hwservice_type;
type hal_radioext_hwservice, hwservice_manager_type, vendor_hwservice_type;
type hal_wifi_ext_hwservice, hwservice_manager_type, vendor_hwservice_type;

View File

@@ -1,4 +1,3 @@
hardware.google.pixelstats::IPixelStats u:object_r:hal_pixelstats_hwservice:s0
hardware.google.light::ILight u:object_r:hal_light_hwservice:s0
hardware.google.bluetooth.bt_channel_avoidance::IBTChannelAvoidance u:object_r:hal_bluetooth_coexistence_hwservice:s0
hardware.google.bluetooth.sar::IBluetoothSar u:object_r:hal_bluetooth_coexistence_hwservice:s0

View File

@@ -1,2 +0,0 @@
hal_attribute(pixelstats)type pixelstats_system, domain, coredomain;
init_daemon_domain(pixelstats_system)type pixelstats_system_exec, exec_type, file_type, system_file_type;

View File

@@ -1,18 +0,0 @@
unix_socket_connect(pixelstats_vendor, chre, chre)
get_prop(pixelstats_vendor, hwservicemanager_prop)
hwbinder_use(pixelstats_vendor)
allow pixelstats_vendor hal_pixelstats_hwservice:hwservice_manager find;
binder_call(pixelstats_vendor, pixelstats_system)
allow pixelstats_vendor fwk_stats_hwservice:hwservice_manager find;
binder_use(pixelstats_vendor)
allow pixelstats_vendor fwk_stats_service:service_manager find;
allow pixelstats_vendor sysfs_scsi_devices_0000:file rw_file_perms;
allow pixelstats_vendor battery_history_device:chr_file r_file_perms;
# UeventListener
r_dir_file(pixelstats_vendor, sysfs_pixelstats)
r_dir_file(pixelstats_vendor, sysfs_typec_info)

View File

@@ -1,5 +1,7 @@
# Camera service uses gralloc, gralloc mapper wants to talk to the GPU
# and use debug properties
get_prop(cameraserver, camera_prop)
get_prop(cameraserver, camera_ro_prop)
get_prop(cameraserver, vendor_display_prop)
# It's confirmed that all attempts of access gpu_device by the gralloc mapper

View File

@@ -14,5 +14,6 @@ r_dir_file(sensors, sysfs_msm_subsys)
allow sensors sysfs_ssr:file r_file_perms;
allow sensors sensors_vendor_data_file:dir rw_dir_perms;
allow sensors sensors_vendor_data_file:file create_file_perms;
allow sensors sensors_vendor_data_file:fifo_file create_file_perms;
dontaudit sensors sysfs_esoc:dir r_dir_perms;

View File

@@ -40,5 +40,5 @@
/dev/block/platform/soc/1d84000\.ufshc/by-name/vbmeta_system_[ab] u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/1d84000\.ufshc/by-name/multiimgoem_[ab] u:object_r:custom_ab_block_device:s0
/vendor/lib(64)?/hw/gralloc\.sm6150\.so u:object_r:same_process_hal_file:s0
/vendor/lib(64)?/hw/gralloc\.qcom\.so u:object_r:same_process_hal_file:s0
/vendor/lib(64)?/hw/vulkan\.adreno\.so u:object_r:same_process_hal_file:s0

View File

@@ -1,26 +0,0 @@
LOCAL_PATH := $(call my-dir)
#A/B builds require us to create the mount points at compile time.
#Just creating it for all cases since it does not hurt.
FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/firmware_mnt
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT)
$(FIRMWARE_MOUNT_POINT):
@echo "Creating $(FIRMWARE_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/firmware_mnt
# copy kernel headers to the build tree
$(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr: $(wildcard $(PRODUCT_VENDOR_KERNEL_HEADERS)/*)
rm -rf $@
mkdir -p $@/include
cp -a $(PRODUCT_VENDOR_KERNEL_HEADERS)/. $@/include
#----------------------------------------------------------------------
# build and sign the final stage of bootloader
#----------------------------------------------------------------------
.PHONY: aboot
ifeq ($(USESECIMAGETOOL), true)
aboot: gensecimage_target gensecimage_install
else
aboot: $(INSTALLED_BOOTLOADER_MODULE)
endif

View File

@@ -51,6 +51,8 @@ blob_fixups: blob_fixups_user_type = {
.patch_file('osaifu-keitai.patch'),
'product/etc/sysconfig/nexus.xml': blob_fixup()
.regex_replace('qulacomm', 'qualcomm'),
'system_ext/lib64/libsecureuisvc_jni.so': blob_fixup()
.add_needed('libgui_shim.so'),
'system_ext/priv-app/HbmSVManager/HbmSVManager.apk': blob_fixup()
.apktool_patch('HbmSVManager.patch'),
(

View File

@@ -145,7 +145,7 @@ system_ext/priv-app/EuiccSupportPixelPermissions/EuiccSupportPixelPermissions.ap
system_ext/priv-app/RilConfigService/RilConfigService.apk
# SecureUI - from barbet AP2A.240805.005
system_ext/lib64/libsecureuisvc_jni.so;SYMLINK=system_ext/app/com.qualcomm.qti.services.secureui/lib/arm64/libsecureuisvc_jni.so|f90a20ddbf58c75d811f2637bd43662aab653653
system_ext/lib64/libsecureuisvc_jni.so;SYMLINK=system_ext/app/com.qualcomm.qti.services.secureui/lib/arm64/libsecureuisvc_jni.so|f90a20ddbf58c75d811f2637bd43662aab653653|27f5d0a332ab03b07fea46bc613289d913510e69
# SecureUI
system_ext/app/com.qualcomm.qti.services.secureui/com.qualcomm.qti.services.secureui.apk

View File

@@ -5,3 +5,14 @@ media.mediadrmservice.enable=true
# Graphics
ro.hardware.egl=adreno
ro.hardware.vulkan=adreno
ro.surface_flinger.supports_background_blur=1
debug.sf.enable_adpf_cpu_hint=true
# HWUI
ro.hwui.render_ahead=5
debug.hwui.use_hint_manager=true
debug.hwui.target_cpu_time_percent=30
# ScrollOptimizer
persist.sys.perf.scroll_opt=true
persist.sys.perf.scroll_opt.heavy_app=1