From 03e628c6e734d16993886c11b8065e59e8206330 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Gapi=C5=84ski?= Date: Tue, 11 Apr 2023 16:53:07 +0200 Subject: [PATCH] Added widevine drm support --- .../vendor/devices-community/gd_rpi4/BoardConfig.mk | 1 + aosptree/vendor/devices-community/gd_rpi4/device.mk | 1 + .../vendor/devices-community/gd_rpi4/drm/board.mk | 3 +++ .../vendor/devices-community/gd_rpi4/drm/device.mk | 5 +++++ .../gd_rpi4/drm/sepolicy/vendor/file.te | 1 + .../gd_rpi4/drm/sepolicy/vendor/file_contexts | 4 ++++ .../gd_rpi4/drm/sepolicy/vendor/hal_drm_widevine.te | 13 +++++++++++++ .../gd_rpi4/drm/sepolicy/vendor/service_contexts | 1 + manifests/glodroid.xml | 4 ++++ 9 files changed, 33 insertions(+) create mode 100644 aosptree/vendor/devices-community/gd_rpi4/drm/board.mk create mode 100644 aosptree/vendor/devices-community/gd_rpi4/drm/device.mk create mode 100644 aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/file.te create mode 100644 aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/file_contexts create mode 100644 aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/hal_drm_widevine.te create mode 100644 aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/service_contexts diff --git a/aosptree/vendor/devices-community/gd_rpi4/BoardConfig.mk b/aosptree/vendor/devices-community/gd_rpi4/BoardConfig.mk index 2de1e2e..98cf274 100644 --- a/aosptree/vendor/devices-community/gd_rpi4/BoardConfig.mk +++ b/aosptree/vendor/devices-community/gd_rpi4/BoardConfig.mk @@ -5,6 +5,7 @@ BC_PATH := $(patsubst $(CURDIR)/%,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))) include glodroid/configuration/common/board-common.mk +include glodroid/devices-community/gd_rpi4/drm/board.mk BOARD_MESA3D_GALLIUM_DRIVERS := vc4 v3d BOARD_MESA3D_VULKAN_DRIVERS := broadcom diff --git a/aosptree/vendor/devices-community/gd_rpi4/device.mk b/aosptree/vendor/devices-community/gd_rpi4/device.mk index 9c59603..af392c1 100644 --- a/aosptree/vendor/devices-community/gd_rpi4/device.mk +++ b/aosptree/vendor/devices-community/gd_rpi4/device.mk @@ -3,6 +3,7 @@ # Copyright (C) 2020-2023 Roman Stratiienko (r.stratiienko@gmail.com) $(call inherit-product, glodroid/configuration/common/device-common.mk) +$(call inherit-product, glodroid/devices-community/gd_rpi4/drm/device.mk) # Firmware PRODUCT_COPY_FILES += \ diff --git a/aosptree/vendor/devices-community/gd_rpi4/drm/board.mk b/aosptree/vendor/devices-community/gd_rpi4/drm/board.mk new file mode 100644 index 0000000..864bacf --- /dev/null +++ b/aosptree/vendor/devices-community/gd_rpi4/drm/board.mk @@ -0,0 +1,3 @@ +TARGET_ENABLE_MEDIADRM_64 := true + +BOARD_VENDOR_SEPOLICY_DIRS += glodroid/devices-community/gd_rpi4/drm/sepolicy/vendor diff --git a/aosptree/vendor/devices-community/gd_rpi4/drm/device.mk b/aosptree/vendor/devices-community/gd_rpi4/drm/device.mk new file mode 100644 index 0000000..f98021d --- /dev/null +++ b/aosptree/vendor/devices-community/gd_rpi4/drm/device.mk @@ -0,0 +1,5 @@ +$(call inherit-product, vendor/brcm/rpi4/rpi4-vendor.mk) + +PRODUCT_PACKAGES += \ + android.hardware.drm-service.clearkey \ + diff --git a/aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/file.te b/aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/file.te new file mode 100644 index 0000000..3afd706 --- /dev/null +++ b/aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/file.te @@ -0,0 +1 @@ +type mediadrm_vendor_data_file, file_type, data_file_type; diff --git a/aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/file_contexts b/aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/file_contexts new file mode 100644 index 0000000..0726ccd --- /dev/null +++ b/aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/file_contexts @@ -0,0 +1,4 @@ +/vendor/bin/hw/android\.hardware\.drm-service\.widevine u:object_r:hal_drm_widevine_exec:s0 +/vendor/bin/hw/android\.hardware\.drm-service\.clearkey u:object_r:hal_drm_clearkey_exec:s0 +# Data +/data/vendor/mediadrm(/.*)? u:object_r:mediadrm_vendor_data_file:s0 diff --git a/aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/hal_drm_widevine.te b/aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/hal_drm_widevine.te new file mode 100644 index 0000000..669a93c --- /dev/null +++ b/aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/hal_drm_widevine.te @@ -0,0 +1,13 @@ +type hal_drm_widevine, domain; +type hal_drm_widevine_exec, exec_type, vendor_file_type, file_type; + +init_daemon_domain(hal_drm_widevine) + +hal_server_domain(hal_drm_widevine, hal_drm) + +vndbinder_use(hal_drm_widevine); + +allow hal_drm_widevine hal_allocator_server:fd use; +allow hal_drm mediacodec:fd use; + +hal_client_domain(hal_drm_widevine, hal_graphics_composer); diff --git a/aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/service_contexts b/aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/service_contexts new file mode 100644 index 0000000..efca7fa --- /dev/null +++ b/aosptree/vendor/devices-community/gd_rpi4/drm/sepolicy/vendor/service_contexts @@ -0,0 +1 @@ +android.hardware.drm.IDrmFactory/widevine u:object_r:hal_drm_service:s0 diff --git a/manifests/glodroid.xml b/manifests/glodroid.xml index 924b52d..3ee95a7 100644 --- a/manifests/glodroid.xml +++ b/manifests/glodroid.xml @@ -2,6 +2,7 @@ + @@ -56,6 +57,9 @@ + + +