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 };