diff --git a/common.mk b/common.mk index 487c668..88507ee 100644 --- a/common.mk +++ b/common.mk @@ -192,6 +192,7 @@ PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \ init.class_main.sh \ init.cust.rc \ + init.display.rc \ init.oem.debug.rc \ init.oem.minidump.sdx55m.rc \ init.oem.rc \ diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 62b5ebf..8c27080 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -88,6 +88,14 @@ LOCAL_SRC_FILES := etc/init.cust.rc LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw include $(BUILD_PREBUILT) +include $(CLEAR_VARS) +LOCAL_MODULE := init.display.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.display.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw +include $(BUILD_PREBUILT) + include $(CLEAR_VARS) LOCAL_MODULE := init.oem.debug.rc LOCAL_MODULE_TAGS := optional diff --git a/rootdir/etc/init.display.rc b/rootdir/etc/init.display.rc new file mode 100644 index 0000000..c2e7ea0 --- /dev/null +++ b/rootdir/etc/init.display.rc @@ -0,0 +1,18 @@ +on boot + chown system system /sys/class/drm/card0-DSI-1/native_display_p3_mode + chown system system /sys/class/drm/card0-DSI-1/native_display_srgb_color_mode + +# Set sRGB calibration on Natural and Boosted Mode. +on property:persist.sys.sf.native_mode=0 + write /sys/class/drm/card0-DSI-1/native_display_p3_mode 0 + write /sys/class/drm/card0-DSI-1/native_display_srgb_color_mode 1 + +# Set unmanaged calibration on Saturated Mode. +on property:persist.sys.sf.native_mode=1 + write /sys/class/drm/card0-DSI-1/native_display_srgb_color_mode 0 + write /sys/class/drm/card0-DSI-1/native_display_p3_mode 0 + +# Set P3 calibration on Adaptive/Automatic Mode. +on property:persist.sys.sf.native_mode=2 + write /sys/class/drm/card0-DSI-1/native_display_srgb_color_mode 0 + write /sys/class/drm/card0-DSI-1/native_display_p3_mode 1 diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index b1c2449..599a7c8 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -31,6 +31,7 @@ import /vendor/etc/init/hw/init.oem.minidump.sdx55m.rc import /vendor/etc/init/hw/init.oem.sec.rc #endif VENDOR_EDIT +import /vendor/etc/init/hw/init.display.rc import /vendor/etc/init/hw/init.qcom.usb.rc import /vendor/etc/init/hw/init.target.rc import /vendor/etc/init/hw/init.qcom.factory.rc diff --git a/sepolicy/vendor/file.te b/sepolicy/vendor/file.te index d31e51e..0db190d 100644 --- a/sepolicy/vendor/file.te +++ b/sepolicy/vendor/file.te @@ -11,6 +11,7 @@ type proc_watermark_boost_factor, fs_type, proc_type; # sysfs type sysfs_dash_charger, fs_type, proc_type, sysfs_type; type sysfs_dbg, fs_type, sysfs_type; +type sysfs_display_mode, fs_type, sysfs_type; type sysfs_fod, fs_type, sysfs_type; type sysfs_fsc, fs_type, sysfs_type; type sysfs_fuse, fs_type, sysfs_type; diff --git a/sepolicy/vendor/genfs_contexts b/sepolicy/vendor/genfs_contexts index eec0f79..02dddaf 100644 --- a/sepolicy/vendor/genfs_contexts +++ b/sepolicy/vendor/genfs_contexts @@ -18,6 +18,8 @@ genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/card0-DSI-1 genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/card0-DSI-1/notify_dim u:object_r:sysfs_fod:s0 genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/card0-DSI-1/notify_fppress u:object_r:sysfs_fod:s0 genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/card0-DSI-1/power_status u:object_r:sysfs_fod:s0 +genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/card0-DSI-1/native_display_p3_mode u:object_r:sysfs_display_mode:s0 +genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/card0-DSI-1/native_display_srgb_color_mode u:object_r:sysfs_display_mode:s0 genfscon sysfs /devices/platform/soc/soc:tri_state_key/hall_data_calib u:object_r:sysfs_tri_state_key:s0 genfscon sysfs /module/memplus_core/parameters u:object_r:sysfs_memplus:s0 genfscon sysfs /module/qpnp_smb5/parameters/call_on u:object_r:sysfs_dash_charger:s0 diff --git a/sepolicy/vendor/hal_display_default.te b/sepolicy/vendor/hal_display_default.te index 1dc242b..b9b4d75 100644 --- a/sepolicy/vendor/hal_display_default.te +++ b/sepolicy/vendor/hal_display_default.te @@ -13,6 +13,7 @@ binder_call(hal_display_default, vendor_hal_display_color) allow hal_display_default vendor_hal_display_postproc_hwservice:hwservice_manager find; allow hal_display_default sysfs:file rw_file_perms; +allow hal_display_default sysfs_display_mode:file rw_file_perms; allow hal_display_default sysfs_fod:file rw_file_perms; get_prop(hal_display_default, hwservicemanager_prop)