From d105adfc53c043e15457e78fd37f912fb97457cb Mon Sep 17 00:00:00 2001 From: Tim Zimmermann Date: Thu, 17 Nov 2022 20:13:37 +0100 Subject: [PATCH] universal7885: Use linaro BSP [ K9100ii - Notes: - BOARD_HWJPEG_ANDROID_VERSION needs setting in variant device trees - libcsc, libgiantmscl and libhwjpeg blobs need to be removed from device-specific trees - Now built from source - Switched TARGET_BOOTLOADER_BOARD_NAME, used to derive the "gralloc.exynos7904" name, to exynos7904, to retain the same name as the proprietary blob and match newer devices - Renamed sysfs_graphics context to sysfs_brightness in sepolicy - This happens to get rid of video recording frame drops on A40 ] Change-Id: I67c078e3ea2fab1da19029ca3e97ce968cad77ad --- universal7885-common/BoardConfigCommon.mk | 9 ++++-- .../configs/vintf/manifest.xml | 2 +- universal7885-common/extract-files.sh | 3 -- .../vendor/hal_graphics_composer_default.te | 6 ++-- .../sepolicy/vendor/hal_light_default.te | 9 ------ .../sepolicy/vendor/property.te | 1 - .../sepolicy/vendor/property_contexts | 3 -- universal7885-common/universal7885-common.mk | 31 ++++++++++++++++--- 8 files changed, 38 insertions(+), 26 deletions(-) delete mode 100644 universal7885-common/sepolicy/vendor/hal_light_default.te diff --git a/universal7885-common/BoardConfigCommon.mk b/universal7885-common/BoardConfigCommon.mk index ee3ae58..57f6dd3 100644 --- a/universal7885-common/BoardConfigCommon.mk +++ b/universal7885-common/BoardConfigCommon.mk @@ -6,13 +6,15 @@ BOARD_VENDOR := samsung ifeq ($(TARGET_DEVICE), $(filter $(TARGET_DEVICE),a10dd a10 a20 a20e)) TARGET_SOC := exynos7884B TARGET_BOARD_PLATFORM := universal7884B -TARGET_BOOTLOADER_BOARD_NAME := universal7884B +TARGET_BOOTLOADER_BOARD_NAME := exynos7884B else ifeq ($(TARGET_DEVICE), $(filter $(TARGET_DEVICE),a30 a40)) TARGET_SOC := exynos7904 TARGET_BOARD_PLATFORM := universal7904 -TARGET_BOOTLOADER_BOARD_NAME := universal7904 +TARGET_BOOTLOADER_BOARD_NAME := exynos7904 endif +include hardware/samsung_slsi-linaro/config/BoardConfig7885.mk + TARGET_NO_BOOTLOADER := true TARGET_NO_RADIOIMAGE := true @@ -45,6 +47,9 @@ BUILD_BROKEN_VINTF_PRODUCT_COPY_FILES := true BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true BUILD_BROKEN_ENFORCE_SYSPROP_OWNER := true +# Camera - libhwjpeg, unset it to enable guard +TARGET_USES_UNIVERSAL_LIBHWJPEG := + # Display TARGET_USES_VULKAN := true diff --git a/universal7885-common/configs/vintf/manifest.xml b/universal7885-common/configs/vintf/manifest.xml index 49307b8..cc0dea0 100644 --- a/universal7885-common/configs/vintf/manifest.xml +++ b/universal7885-common/configs/vintf/manifest.xml @@ -49,7 +49,7 @@ android.hardware.graphics.composer hwbinder - @2.2::IComposer/default + @2.4::IComposer/default android.hardware.graphics.mapper diff --git a/universal7885-common/extract-files.sh b/universal7885-common/extract-files.sh index c27d6e0..c15f36c 100644 --- a/universal7885-common/extract-files.sh +++ b/universal7885-common/extract-files.sh @@ -25,9 +25,6 @@ function blob_fixup { vendor/lib*/libsensorlistener.so) grep -q libshim_sensorndkbridge.so "$2" || "$PATCHELF" --add-needed "libshim_sensorndkbridge.so" "$2" ;; - vendor/lib*/libexynosdisplay.so) - "${PATCHELF}" --replace-needed "libutils.so" "libutils-v32.so" "${2}" - ;; esac } diff --git a/universal7885-common/sepolicy/vendor/hal_graphics_composer_default.te b/universal7885-common/sepolicy/vendor/hal_graphics_composer_default.te index a5f8c63..6385570 100644 --- a/universal7885-common/sepolicy/vendor/hal_graphics_composer_default.te +++ b/universal7885-common/sepolicy/vendor/hal_graphics_composer_default.te @@ -32,10 +32,12 @@ allow hal_graphics_composer_default sysfs_decon:file r_file_perms; allow hal_graphics_composer_default sysfs_ss_writable:dir r_dir_perms; allow hal_graphics_composer_default sysfs_ss_writable:file r_file_perms; -get_prop(hal_graphics_composer_default, vendor_hwc_prop) - # /dev/ion/ allow hal_graphics_composer_default ion_device:chr_file rw_file_perms; allow hal_graphics_composer_default vendor_surfaceflinger_vndservice:service_manager { add find }; +allow hal_graphics_composer_default sysfs_brightness:file rw_file_perms; +allow hal_graphics_composer_default sysfs_brightness:dir search; + +get_prop(hal_graphics_composer_default, vendor_camera_prop) diff --git a/universal7885-common/sepolicy/vendor/hal_light_default.te b/universal7885-common/sepolicy/vendor/hal_light_default.te deleted file mode 100644 index 6cd32fd..0000000 --- a/universal7885-common/sepolicy/vendor/hal_light_default.te +++ /dev/null @@ -1,9 +0,0 @@ -# hal_light_default.te - -# /sys/devices/platform/panel@0/backlight/panel/brightness -# /sys/devices/platform/panel@0/backlight/panel/max_brightness -allow hal_light_default sysfs_backlight_writable:file rw_file_perms; -allow hal_light_default sysfs_graphics:dir search; -allow hal_light_default sysfs_graphics:file rw_file_perms; -allow hal_light_default sysfs_virtual:dir search; -allow hal_light_default sysfs_virtual:file rw_file_perms; diff --git a/universal7885-common/sepolicy/vendor/property.te b/universal7885-common/sepolicy/vendor/property.te index 680f1e3..4b7a5ee 100644 --- a/universal7885-common/sepolicy/vendor/property.te +++ b/universal7885-common/sepolicy/vendor/property.te @@ -9,7 +9,6 @@ vendor_internal_prop(vendor_gps_prop) vendor_internal_prop(vendor_nfc_prop) vendor_internal_prop(vendor_wlbtd_prop) vendor_internal_prop(vendor_wlan_prop) -vendor_internal_prop(vendor_hwc_prop) vendor_internal_prop(vendor_cbd_prop) vendor_internal_prop(vendor_radio_prop) vendor_internal_prop(vendor_fastcharge_prop) diff --git a/universal7885-common/sepolicy/vendor/property_contexts b/universal7885-common/sepolicy/vendor/property_contexts index 325b731..6d94479 100644 --- a/universal7885-common/sepolicy/vendor/property_contexts +++ b/universal7885-common/sepolicy/vendor/property_contexts @@ -64,9 +64,6 @@ vendor.wlbtd. u:object_r:vendor_wlbtd_prop:s0 # Wlan vendor.wlan. u:object_r:vendor_wlan_prop:s0 -# Hwc -hwc.exynos.vsync_mode u:object_r:vendor_hwc_prop:s0 - # TEEGRIS vendor.secureos. u:object_r:vendor_secureos_prop:s0 vendor.tzdaemon u:object_r:vendor_tzdaemon_prop:s0 diff --git a/universal7885-common/universal7885-common.mk b/universal7885-common/universal7885-common.mk index b83e7ac..3e884fd 100644 --- a/universal7885-common/universal7885-common.mk +++ b/universal7885-common/universal7885-common.mk @@ -98,6 +98,10 @@ PRODUCT_PACKAGES += \ android.hardware.camera.provider@2.5-service endif +PRODUCT_PACKAGES += \ + libGrallocWrapper \ + libacryl + # Camera app PRODUCT_PACKAGES += \ AperturePrebuilt @@ -143,10 +147,15 @@ PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \ android.hardware.graphics.allocator@2.0-impl \ android.hardware.graphics.allocator@2.0-service \ - android.hardware.graphics.composer@2.2-service \ android.hardware.graphics.mapper@2.0-impl \ libgui_vendor +PRODUCT_PACKAGES += \ + android.hardware.composer.hwc3-service.slsi \ + gralloc.exynos7904 \ + gralloc.exynos7884B \ + libion_exynos + # Health PRODUCT_PACKAGES += \ android.hardware.health@2.1-impl \ @@ -180,10 +189,6 @@ PRODUCT_PACKAGES += \ android.hardware.keymaster@4.0-service.samsung \ libkeymaster4_1support.vendor -# Light -PRODUCT_PACKAGES += \ - android.hardware.light-service.samsung - # Media PRODUCT_COPY_FILES += \ frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \ @@ -210,6 +215,22 @@ PRODUCT_COPY_FILES += \ DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay # DEVICE_PACAKGE_OVERLAYS += $(LOCAL_PATH)/overlay-rom +# OMX +PRODUCT_PACKAGES += \ + libstagefrighthw \ + libExynosOMX_Core \ + libExynosOMX_Resourcemanager \ + libOMX.Exynos.AVC.Decoder \ + libOMX.Exynos.AVC.Encoder \ + libOMX.Exynos.HEVC.Decoder \ + libOMX.Exynos.HEVC.Encoder \ + libOMX.Exynos.MPEG4.Decoder \ + libOMX.Exynos.MPEG4.Encoder \ + libOMX.Exynos.VP8.Decoder \ + libOMX.Exynos.VP8.Encoder \ + libOMX.Exynos.VP9.Decoder \ + libOMX.Exynos.WMV.Decoder + # Permissions PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \