From 80d02558522ef82d058d079f34d7f92b23baad26 Mon Sep 17 00:00:00 2001 From: AdarshGrewal Date: Sun, 18 Jan 2026 02:23:42 +0530 Subject: [PATCH] peridot: Build possible display components from source Change-Id: I32fbc3230c1ab0df0ca1a2346f56677f1f9125ae --- Android.bp | 151 ------------------ peridot-vendor.mk | 10 +- ...dor.qti.hardware.display.allocator-service | Bin 37720 -> 0 bytes ...vendor.qti.hardware.display.demura-service | Bin 21008 -> 0 bytes ....qti.hardware.display.allocator-service.rc | 9 -- ...dware.display.composer-service_peridot.rc} | 0 ...dor.qti.hardware.display.demura-service.rc | 7 - ...dware.graphics.mapper-impl-qti-display.xml | 50 ------ ...qti.hardware.display.allocator-service.xml | 43 ----- ...or.qti.hardware.display.demura-service.xml | 40 ----- ...re.graphics.mapper@4.0-impl-qti-display.so | Bin 98992 -> 0 bytes 11 files changed, 1 insertion(+), 309 deletions(-) delete mode 100755 proprietary/vendor/bin/hw/vendor.qti.hardware.display.allocator-service delete mode 100755 proprietary/vendor/bin/hw/vendor.qti.hardware.display.demura-service delete mode 100644 proprietary/vendor/etc/init/vendor.qti.hardware.display.allocator-service.rc rename proprietary/vendor/etc/init/{vendor.qti.hardware.display.composer-service.rc => vendor.qti.hardware.display.composer-service_peridot.rc} (100%) delete mode 100644 proprietary/vendor/etc/init/vendor.qti.hardware.display.demura-service.rc delete mode 100644 proprietary/vendor/etc/vintf/manifest/android.hardware.graphics.mapper-impl-qti-display.xml delete mode 100644 proprietary/vendor/etc/vintf/manifest/vendor.qti.hardware.display.allocator-service.xml delete mode 100644 proprietary/vendor/etc/vintf/manifest/vendor.qti.hardware.display.demura-service.xml delete mode 100644 proprietary/vendor/lib64/hw/android.hardware.graphics.mapper@4.0-impl-qti-display.so diff --git a/Android.bp b/Android.bp index 47fe079..85ef7e5 100644 --- a/Android.bp +++ b/Android.bp @@ -731,50 +731,6 @@ cc_prebuilt_library_shared { soc_specific: true, } -cc_prebuilt_library_shared { - name: "android.hardware.graphics.mapper@4.0-impl-qti-display", - owner: "xiaomi", - strip: { - none: true, - }, - target: { - android_arm64: { - srcs: [ - "proprietary/vendor/lib64/hw/android.hardware.graphics.mapper@4.0-impl-qti-display.so", - ], - shared_libs: [ - "liblog", - "libcutils", - "libutils", - "libhidlbase", - "libgrallocutils", - "libgralloccore", - "libgralloctypes", - "libsync", - "vendor.qti.hardware.display.mapper@3.0", - "vendor.qti.hardware.display.mapper@4.0", - "vendor.qti.hardware.display.mapperextensions@1.0", - "android.hardware.graphics.mapper@2.0", - "android.hardware.graphics.mapper@2.1", - "vendor.qti.hardware.display.mapperextensions@1.1", - "android.hardware.graphics.mapper@3.0", - "android.hardware.graphics.mapper@4.0", - "libdmabufheap", - "vendor.qti.hardware.display.mapperextensions@1.2", - "vendor.qti.hardware.display.mapperextensions@1.3", - "libc++", - "libc", - "libm", - "libdl", - ], - }, - }, - compile_multilib: "64", - relative_install_path: "hw", - prefer: true, - soc_specific: true, -} - cc_prebuilt_library_shared { name: "audio.bluetooth_qti.default", owner: "xiaomi", @@ -39426,15 +39382,6 @@ prebuilt_etc_xml { soc_specific: true, } -prebuilt_etc_xml { - name: "android.hardware.graphics.mapper-impl-qti-display.xml", - owner: "xiaomi", - src: "proprietary/vendor/etc/vintf/manifest/android.hardware.graphics.mapper-impl-qti-display.xml", - filename_from_src: true, - sub_dir: "vintf/manifest", - soc_specific: true, -} - prebuilt_etc_xml { name: "android.hardware.radio.config.xml", owner: "xiaomi", @@ -39732,15 +39679,6 @@ prebuilt_etc_xml { soc_specific: true, } -prebuilt_etc_xml { - name: "vendor.qti.hardware.display.allocator-service.xml", - owner: "xiaomi", - src: "proprietary/vendor/etc/vintf/manifest/vendor.qti.hardware.display.allocator-service.xml", - filename_from_src: true, - sub_dir: "vintf/manifest", - soc_specific: true, -} - prebuilt_etc_xml { name: "vendor.qti.hardware.display.composer-service_peridot.xml", owner: "xiaomi", @@ -39750,15 +39688,6 @@ prebuilt_etc_xml { soc_specific: true, } -prebuilt_etc_xml { - name: "vendor.qti.hardware.display.demura-service.xml", - owner: "xiaomi", - src: "proprietary/vendor/etc/vintf/manifest/vendor.qti.hardware.display.demura-service.xml", - filename_from_src: true, - sub_dir: "vintf/manifest", - soc_specific: true, -} - prebuilt_etc_xml { name: "vendor.qti.hardware.perf2.xml", owner: "xiaomi", @@ -41103,52 +41032,6 @@ cc_prebuilt_binary { soc_specific: true, } -cc_prebuilt_binary { - name: "vendor.qti.hardware.display.allocator-service", - owner: "xiaomi", - target: { - android_arm64: { - srcs: [ - "proprietary/vendor/bin/hw/vendor.qti.hardware.display.allocator-service", - ], - shared_libs: [ - "liblog", - "libcutils", - "libutils", - "libbinder", - "libbinder_ndk", - "libhidlbase", - "libgrallocutils", - "libgralloccore", - "libgralloctypes", - "vendor.qti.hardware.display.mapper@3.0", - "vendor.qti.hardware.display.mapper@4.0", - "android.hardware.graphics.mapper@4.0", - "android.hardware.graphics.mapper@3.0", - "android.hardware.graphics.mapper@2.1", - "vendor.qti.hardware.display.mapperextensions@1.0", - "vendor.qti.hardware.display.mapperextensions@1.1", - "libdmabufheap", - "vendor.qti.hardware.display.mapperextensions@1.2", - "vendor.qti.hardware.display.mapperextensions@1.3", - "android.hardware.graphics.allocator-V1-ndk", - "libdisplaydebug", - "libc++", - "libc", - "libm", - "libdl", - ], - }, - }, - compile_multilib: "64", - strip: { - none: true, - }, - prefer: true, - relative_install_path: "hw", - soc_specific: true, -} - cc_prebuilt_binary { name: "vendor.qti.hardware.display.color-service", owner: "xiaomi", @@ -41203,40 +41086,6 @@ cc_prebuilt_binary { soc_specific: true, } -cc_prebuilt_binary { - name: "vendor.qti.hardware.display.demura-service", - owner: "xiaomi", - target: { - android_arm64: { - srcs: [ - "proprietary/vendor/bin/hw/vendor.qti.hardware.display.demura-service", - ], - shared_libs: [ - "liblog", - "libcutils", - "libutils", - "libbinder", - "libbinder_ndk", - "libfilefinder", - "libdisplaydebug", - "libsdmutils", - "vendor.qti.hardware.display.demura-V1-ndk", - "libc++", - "libc", - "libm", - "libdl", - ], - }, - }, - compile_multilib: "64", - strip: { - none: true, - }, - prefer: true, - relative_install_path: "hw", - soc_specific: true, -} - cc_prebuilt_binary { name: "vendor.qti.hardware.perf2-hal-service", owner: "xiaomi", diff --git a/peridot-vendor.mk b/peridot-vendor.mk index 665df10..25c2783 100644 --- a/peridot-vendor.mk +++ b/peridot-vendor.mk @@ -992,10 +992,8 @@ PRODUCT_COPY_FILES += \ vendor/xiaomi/peridot/proprietary/vendor/etc/init/vendor.qti.diag_userdebug.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.diag_userdebug.rc \ vendor/xiaomi/peridot/proprietary/vendor/etc/init/vendor.qti.hardware.alarm-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.alarm-service.rc \ vendor/xiaomi/peridot/proprietary/vendor/etc/init/vendor.qti.hardware.capabilityconfigstore@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.capabilityconfigstore@1.0-service.rc \ - vendor/xiaomi/peridot/proprietary/vendor/etc/init/vendor.qti.hardware.display.allocator-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.display.allocator-service.rc \ vendor/xiaomi/peridot/proprietary/vendor/etc/init/vendor.qti.hardware.display.color-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.display.color-service.rc \ - vendor/xiaomi/peridot/proprietary/vendor/etc/init/vendor.qti.hardware.display.composer-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.display.composer-service.rc \ - vendor/xiaomi/peridot/proprietary/vendor/etc/init/vendor.qti.hardware.display.demura-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.display.demura-service.rc \ + vendor/xiaomi/peridot/proprietary/vendor/etc/init/vendor.qti.hardware.display.composer-service_peridot.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.display.composer-service_peridot.rc \ vendor/xiaomi/peridot/proprietary/vendor/etc/init/vendor.qti.hardware.dsp@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.dsp@1.0-service.rc \ vendor/xiaomi/peridot/proprietary/vendor/etc/init/vendor.qti.hardware.perf2-hal-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.perf2-hal-service.rc \ vendor/xiaomi/peridot/proprietary/vendor/etc/init/vendor.qti.hardware.qseecom@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.qseecom@1.0-service.rc \ @@ -1150,7 +1148,6 @@ PRODUCT_PACKAGES += \ android.hardware.bluetooth.audio-impl-qti \ android.hardware.bluetooth@1.0-impl-qti \ android.hardware.bluetooth@1.1-impl-qti \ - android.hardware.graphics.mapper@4.0-impl-qti-display \ audio.bluetooth_qti.default \ audio.primary.pineapple \ com.dsi.ant@1.0-impl \ @@ -2419,7 +2416,6 @@ PRODUCT_PACKAGES += \ vendor.qti.ims.rcsuceaidlservice-V1-java \ ImsRtpService-aidl.xml \ android.hardware.drm_wfdhdcp-service.xml \ - android.hardware.graphics.mapper-impl-qti-display.xml \ android.hardware.radio.config.xml \ android.hardware.radio.data.xml \ android.hardware.radio.messaging.xml \ @@ -2453,9 +2449,7 @@ PRODUCT_PACKAGES += \ vendor.qti.hardware.alarm.xml \ vendor.qti.hardware.data.connectionaidl.xml \ vendor.qti.hardware.data.iwlandata.xml \ - vendor.qti.hardware.display.allocator-service.xml \ vendor.qti.hardware.display.composer-service_peridot.xml \ - vendor.qti.hardware.display.demura-service.xml \ vendor.qti.hardware.perf2.xml \ vendor.qti.hardware.qconfig-service.xml \ vendor.qti.hardware.qseecom@1.0-service.xml \ @@ -2519,10 +2513,8 @@ PRODUCT_PACKAGES += \ vendor.dolby.media.c2@1.0-service \ vendor.qti.hardware.alarm-service \ vendor.qti.hardware.capabilityconfigstore@1.0-service \ - vendor.qti.hardware.display.allocator-service \ vendor.qti.hardware.display.color-service \ vendor.qti.hardware.display.composer-service \ - vendor.qti.hardware.display.demura-service \ vendor.qti.hardware.perf2-hal-service \ vendor.qti.hardware.qseecom@1.0-service \ vendor.qti.hardware.sensorscalibrate-service \ diff --git a/proprietary/vendor/bin/hw/vendor.qti.hardware.display.allocator-service b/proprietary/vendor/bin/hw/vendor.qti.hardware.display.allocator-service deleted file mode 100755 index bb9345ebb6017b13f6463c34bba89f2a7de99ddc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37720 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 diff --git a/proprietary/vendor/etc/init/vendor.qti.hardware.display.allocator-service.rc b/proprietary/vendor/etc/init/vendor.qti.hardware.display.allocator-service.rc deleted file mode 100644 index 058212b..0000000 --- a/proprietary/vendor/etc/init/vendor.qti.hardware.display.allocator-service.rc +++ /dev/null @@ -1,9 +0,0 @@ -service vendor.qti.hardware.display.allocator /vendor/bin/hw/vendor.qti.hardware.display.allocator-service - class hal animation - user system - group graphics drmrpc - capabilities SYS_NICE - onrestart restart surfaceflinger - # MIUI ADD: Performance_MemoryEnhance - writepid /sys/kernel/reserve_pool/pid - # END Performance_MemoryEnhance diff --git a/proprietary/vendor/etc/init/vendor.qti.hardware.display.composer-service.rc b/proprietary/vendor/etc/init/vendor.qti.hardware.display.composer-service_peridot.rc similarity index 100% rename from proprietary/vendor/etc/init/vendor.qti.hardware.display.composer-service.rc rename to proprietary/vendor/etc/init/vendor.qti.hardware.display.composer-service_peridot.rc diff --git a/proprietary/vendor/etc/init/vendor.qti.hardware.display.demura-service.rc b/proprietary/vendor/etc/init/vendor.qti.hardware.display.demura-service.rc deleted file mode 100644 index 77c6ec8..0000000 --- a/proprietary/vendor/etc/init/vendor.qti.hardware.display.demura-service.rc +++ /dev/null @@ -1,7 +0,0 @@ -service vendor.qti.hardware.display.demura /vendor/bin/hw/vendor.qti.hardware.display.demura-service - interface aidl vendor.qti.hardware.display.demura.IDemuraFileFinder/default - class hal - oneshot - disabled - user system - group graphics diff --git a/proprietary/vendor/etc/vintf/manifest/android.hardware.graphics.mapper-impl-qti-display.xml b/proprietary/vendor/etc/vintf/manifest/android.hardware.graphics.mapper-impl-qti-display.xml deleted file mode 100644 index d7f429a..0000000 --- a/proprietary/vendor/etc/vintf/manifest/android.hardware.graphics.mapper-impl-qti-display.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - vendor.qti.hardware.display.mapper - passthrough - 4.0 - - IQtiMapper - default - - - - android.hardware.graphics.mapper - passthrough - 4.0 - - IMapper - default - - - - - diff --git a/proprietary/vendor/etc/vintf/manifest/vendor.qti.hardware.display.allocator-service.xml b/proprietary/vendor/etc/vintf/manifest/vendor.qti.hardware.display.allocator-service.xml deleted file mode 100644 index 49e7c1f..0000000 --- a/proprietary/vendor/etc/vintf/manifest/vendor.qti.hardware.display.allocator-service.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - android.hardware.graphics.allocator - 1 - - IAllocator - default - - - diff --git a/proprietary/vendor/etc/vintf/manifest/vendor.qti.hardware.display.demura-service.xml b/proprietary/vendor/etc/vintf/manifest/vendor.qti.hardware.display.demura-service.xml deleted file mode 100644 index 926538f..0000000 --- a/proprietary/vendor/etc/vintf/manifest/vendor.qti.hardware.display.demura-service.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - vendor.qti.hardware.display.demura - 1 - IDemuraFileFinder/default - - diff --git a/proprietary/vendor/lib64/hw/android.hardware.graphics.mapper@4.0-impl-qti-display.so b/proprietary/vendor/lib64/hw/android.hardware.graphics.mapper@4.0-impl-qti-display.so deleted file mode 100644 index 76b7bcc22558fa839024e64508e1ecc465995157..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98992 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