Configurable gralloc and hwcomposer HAL selection
BUG: 128842306
Test: Local boot
Change-Id: Iabc8c2a23d6da5026ae5392b9e6e4888367eed6d
diff --git a/shared/config/init.common.rc b/shared/config/init.common.rc
index 423cd05..2510857 100644
--- a/shared/config/init.common.rc
+++ b/shared/config/init.common.rc
@@ -11,6 +11,8 @@
chmod 0755 /sys/kernel/debug
setprop ro.sf.lcd_density ${ro.boot.lcd_density}
setprop ro.setupwizard.mode ${ro.boot.setupwizard_mode}
+ setprop ro.hardware.gralloc ${ro.boot.hardware.gralloc}
+ setprop ro.hardware.hwcomposer ${ro.boot.hardware.hwcomposer}
on init
diff --git a/shared/device.mk b/shared/device.mk
index 5ef2391..0f48834 100644
--- a/shared/device.mk
+++ b/shared/device.mk
@@ -184,8 +184,8 @@
#
PRODUCT_PACKAGES += \
hwcomposer.drm_minigbm \
- hwcomposer.cutf_ivsh \
- hwcomposer.cutf_cvm \
+ hwcomposer.cutf_cvm_ashmem \
+ hwcomposer.cutf_ivsh_ashmem \
hwcomposer-stats \
android.hardware.graphics.composer@2.1-impl \
android.hardware.graphics.composer@2.1-service
@@ -195,7 +195,7 @@
#
PRODUCT_PACKAGES += \
gralloc.minigbm \
- gralloc.cutf \
+ gralloc.cutf_ashmem \
android.hardware.graphics.mapper@2.0-impl \
android.hardware.graphics.allocator@2.0-impl \
android.hardware.graphics.allocator@2.0-service
diff --git a/shared/sepolicy/file_contexts b/shared/sepolicy/file_contexts
index fe53fd2..0e4700b 100644
--- a/shared/sepolicy/file_contexts
+++ b/shared/sepolicy/file_contexts
@@ -7,6 +7,8 @@
/dev/block/vdd u:object_r:system_block_device:s0
/dev/block/vde u:object_r:metadata_block_device:s0
/dev/block/zram0 u:object_r:swap_block_device:s0
+/dev/dri/card0 u:object_r:graphics_device:s0
+/dev/dri/renderD128 u:object_r:graphics_device:s0
/dev/e2e_managed u:object_r:region_e2e_test_device:s0
/dev/e2e_manager u:object_r:region_e2e_test_device:s0
/dev/e2e_primary u:object_r:region_e2e_test_device:s0
@@ -50,6 +52,6 @@
/vendor/lib(64)?/cuttlefish_auto_resources.so u:object_r:same_process_hal_file:s0
/vendor/lib(64)?/hw/gralloc.vsoc.so u:object_r:same_process_hal_file:s0
-/vendor/lib(64)?/hw/gralloc.cutf.so u:object_r:same_process_hal_file:s0
+/vendor/lib(64)?/hw/gralloc.cutf_ashmem.so u:object_r:same_process_hal_file:s0
/vendor/lib(64)?/libcuttlefish_fs.so u:object_r:same_process_hal_file:s0
/vendor/lib(64)?/vsoc_lib.so u:object_r:same_process_hal_file:s0
diff --git a/shared/sepolicy/hal_graphics_allocator_default.te b/shared/sepolicy/hal_graphics_allocator_default.te
new file mode 100644
index 0000000..e92ec75
--- /dev/null
+++ b/shared/sepolicy/hal_graphics_allocator_default.te
@@ -0,0 +1,2 @@
+allow hal_graphics_allocator_default graphics_device:dir search;
+allow hal_graphics_allocator_default graphics_device:chr_file rw_file_perms;
diff --git a/shared/sepolicy/hal_graphics_composer_default.te b/shared/sepolicy/hal_graphics_composer_default.te
index 1a9bd47..9c310f6 100644
--- a/shared/sepolicy/hal_graphics_composer_default.te
+++ b/shared/sepolicy/hal_graphics_composer_default.te
@@ -1,2 +1,3 @@
-#============= hal_graphics_composer_default ==============
vndbinder_use(hal_graphics_composer_default)
+
+allow hal_graphics_composer_default self:netlink_kobject_uevent_socket { bind create read };