diff --git a/Android.mk b/Android.mk
index e552590..3af0041 100644
--- a/Android.mk
+++ b/Android.mk
@@ -7,5 +7,25 @@
LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE),X6833B)
+
include $(call all-makefiles-under,$(LOCAL_PATH))
+
+include $(CLEAR_VARS)
+
+DISPLAY_SYMLINKS := \
+ $(TARGET_OUT_VENDOR)/bin/hw/android.hardware.graphics.allocator@4.0-service-mediatek
+
+$(DISPLAY_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
+ $(hide) echo "Linking $@"
+ @ln -sf $(TARGET_BOARD_PLATFORM)/$(notdir $@).$(TARGET_BOARD_PLATFORM) $@
+
+VENDOR_PLATFORM_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR)/, $(strip $(shell cat $(DEVICE_PATH)/symlink/vendor.txt)))
+$(VENDOR_PLATFORM_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
+ $(hide) echo "Linking $(notdir $@)"
+ @ln -sf $(TARGET_BOARD_PLATFORM)/$(notdir $@) $@
+
+ALL_DEFAULT_INSTALLED_MODULES += \
+ $(DISPLAY_SYMLINKS) \
+ $(VENDOR_PLATFORM_SYMLINKS)
+
endif
diff --git a/BoardConfig.mk b/BoardConfig.mk
index edaffa8..b1f5ccb 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -116,6 +116,9 @@ TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm
TARGET_BOARD_PLATFORM := mt6789
BOARD_HAS_MTK_HARDWARE := true
+# Properties
+TARGET_VENDOR_PROP += $(CONFIGS_PATH)/properties/vendor.prop
+
# Recovery
BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true
BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true
diff --git a/configs/properties/vendor.prop b/configs/properties/vendor.prop
new file mode 100644
index 0000000..e4b0349
--- /dev/null
+++ b/configs/properties/vendor.prop
@@ -0,0 +1,17 @@
+# Display
+debug.sf.use_phase_offsets_as_durations=1
+debug.sf.late.sf.duration=27600000
+debug.sf.late.app.duration=20000000
+debug.sf.early.sf.duration=27600000
+debug.sf.early.app.duration=20000000
+debug.sf.earlyGl.sf.duration=27600000
+debug.sf.earlyGl.app.duration=20000000
+debug.sf.hwc.min.duration=23000000
+ro.hardware.egl=meow
+ro.hardware.hwcomposer=mtk_common
+ro.hardware.gralloc=common
+ro.hardware.vulkan=mali
+ro.surface_flinger.force_hwc_copy_for_virtual_displays=true
+ro.surface_flinger.max_frame_buffer_acquired_buffers=3
+ro.vendor.mtk_ovl_bringup=0
+ro.vendor.mtk_pq_support=2
diff --git a/configs/vintf/manifest.xml b/configs/vintf/manifest.xml
index dabc5e3..8d4cb0e 100644
--- a/configs/vintf/manifest.xml
+++ b/configs/vintf/manifest.xml
@@ -103,12 +103,12 @@
android.hardware.graphics.composer
hwbinder
- 2.1
+ 2.3
IComposer
default
- @2.1::IComposer/default
+ @2.3::IComposer/default
android.hardware.graphics.mapper
diff --git a/device.mk b/device.mk
index dc072ca..d8409e1 100644
--- a/device.mk
+++ b/device.mk
@@ -52,6 +52,15 @@ PRODUCT_PACKAGES += \
# Dalvik configs
$(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk)
+# Display
+PRODUCT_PACKAGES += \
+ android.hardware.graphics.composer@2.3-service \
+ android.hardware.memtrack-service.mediatek-mali
+
+PRODUCT_PACKAGES += \
+ android.hardware.graphics.allocator@4.0.vendor \
+ libdrm.vendor
+
# Dynamic partitions
PRODUCT_USE_DYNAMIC_PARTITIONS := true
diff --git a/proprietary-files.txt b/proprietary-files.txt
index 4d515d7..dc30afb 100644
--- a/proprietary-files.txt
+++ b/proprietary-files.txt
@@ -1,5 +1,144 @@
## x6833b package version: X6833B-H894DEFGHI-T-GL-231102V2897, unless stated otherwise
+# Display
+vendor/bin/hw/mt6789/android.hardware.graphics.allocator@4.0-service-mediatek.mt6789
+vendor/bin/hw/vendor.mediatek.hardware.pq@2.2-service
+vendor/etc/init/android.hardware.graphics.allocator@4.0-service-mediatek.rc
+vendor/etc/init/vendor.mediatek.hardware.pq@2.2-service.rc
+-vendor/etc/vintf/manifest/manifest_hwcomposer.xml
+vendor/etc/AbnormalDisplayLog_dynamic.xml
+vendor/etc/VideoLog_dynamic.xml
+vendor/lib/egl/mt6789/libGLES_mali.so
+vendor/lib/egl/egl.cfg
+vendor/lib/egl/libGLES_meow.so
+vendor/lib/egl/libMEOW_data.so
+vendor/lib/egl/libMEOW_gift.so
+vendor/lib/egl/libMEOW_qt.so
+vendor/lib/egl/libMEOW_trace.so
+vendor/lib/hw/mt6789/android.hardware.graphics.allocator@4.0-impl-mediatek.so
+vendor/lib/hw/mt6789/android.hardware.graphics.mapper@4.0-impl-mediatek.so
+vendor/lib/hw/mt6789/gralloc.common.so
+vendor/lib/hw/mt6789/vendor.mediatek.hardware.pq@2.15-impl.so
+vendor/lib/hw/mt6789/vulkan.mali.so
+vendor/lib/mt6789/arm.graphics-V1-ndk_platform.so
+vendor/lib/mt6789/libaalservice.so
+vendor/lib/mt6789/libaiselector.so
+vendor/lib/mt6789/libdpframework.so
+vendor/lib/mt6789/libgpudataproducer.so
+vendor/lib/mt6789/libmtk_drvb.so
+vendor/lib/mt6789/libnir_neon_driver.so
+vendor/lib/mt6789/libpq_cust_base.so
+vendor/lib/mt6789/libpq_prot.so
+vendor/lib/mt6789/libpqparamparser.so
+vendor/lib/libDefaultFpsActor.so
+vendor/lib/libFrameRecord.so
+vendor/lib/libNoFpsActor.so
+vendor/lib/libaal_cust.so
+vendor/lib/libaal_key.so
+vendor/lib/libaal_mtk.so
+vendor/lib/libged.so
+vendor/lib/libgpu_aux.so
+vendor/lib/libgpud.so
+vendor/lib/libgralloc_extra.so
+vendor/lib/libgralloc_metadata.so
+vendor/lib/libgralloctypes_mtk.so
+vendor/lib/libion_mtk.so
+vendor/lib/libion_ulit.so
+vendor/lib/libladder.so
+vendor/lib/libmml.so
+vendor/lib/libpqframework.so
+vendor/lib/libudf.so
+vendor/lib/vendor.mediatek.hardware.mmagent@1.0.so
+vendor/lib/vendor.mediatek.hardware.mmagent@1.1.so
+vendor/lib/vendor.mediatek.hardware.mms@1.0.so
+vendor/lib/vendor.mediatek.hardware.mms@1.1.so
+vendor/lib/vendor.mediatek.hardware.mms@1.2.so
+vendor/lib/vendor.mediatek.hardware.mms@1.3.so
+vendor/lib/vendor.mediatek.hardware.mms@1.4.so
+vendor/lib/vendor.mediatek.hardware.mms@1.5.so
+vendor/lib/vendor.mediatek.hardware.pq@2.0.so
+vendor/lib/vendor.mediatek.hardware.pq@2.1.so
+vendor/lib/vendor.mediatek.hardware.pq@2.10.so
+vendor/lib/vendor.mediatek.hardware.pq@2.11.so
+vendor/lib/vendor.mediatek.hardware.pq@2.12.so
+vendor/lib/vendor.mediatek.hardware.pq@2.13.so
+vendor/lib/vendor.mediatek.hardware.pq@2.14.so
+vendor/lib/vendor.mediatek.hardware.pq@2.15.so
+vendor/lib/vendor.mediatek.hardware.pq@2.2.so
+vendor/lib/vendor.mediatek.hardware.pq@2.3.so
+vendor/lib/vendor.mediatek.hardware.pq@2.4.so
+vendor/lib/vendor.mediatek.hardware.pq@2.5.so
+vendor/lib/vendor.mediatek.hardware.pq@2.6.so
+vendor/lib/vendor.mediatek.hardware.pq@2.7.so
+vendor/lib/vendor.mediatek.hardware.pq@2.8.so
+vendor/lib/vendor.mediatek.hardware.pq@2.9.so
+vendor/lib64/egl/mt6789/libGLES_mali.so
+vendor/lib64/egl/libGLES_meow.so
+vendor/lib64/egl/libMEOW_data.so
+vendor/lib64/egl/libMEOW_gift.so
+vendor/lib64/egl/libMEOW_qt.so
+vendor/lib64/egl/libMEOW_trace.so
+vendor/lib64/hw/mt6789/android.hardware.graphics.allocator@4.0-impl-mediatek.so
+vendor/lib64/hw/mt6789/android.hardware.graphics.mapper@4.0-impl-mediatek.so
+vendor/lib64/hw/mt6789/gralloc.common.so
+vendor/lib64/hw/mt6789/vendor.mediatek.hardware.pq@2.15-impl.so
+vendor/lib64/hw/mt6789/vulkan.mali.so
+vendor/lib64/hw/hwcomposer.mtk_common.so
+vendor/lib64/mt6789/arm.graphics-V1-ndk_platform.so
+vendor/lib64/mt6789/libaalservice.so
+vendor/lib64/mt6789/libaiselector.so
+vendor/lib64/mt6789/libdpframework.so
+vendor/lib64/mt6789/libgpudataproducer.so
+vendor/lib64/mt6789/libmtk_drvb.so
+vendor/lib64/mt6789/libnir_neon_driver.so
+vendor/lib64/mt6789/libpq_cust_base.so
+vendor/lib64/mt6789/libpq_prot.so
+vendor/lib64/mt6789/libpqparamparser.so
+vendor/lib64/libDefaultFpsActor.so
+vendor/lib64/libFrameRecord.so
+vendor/lib64/libNoFpsActor.so
+vendor/lib64/libaal_cust.so
+vendor/lib64/libaal_key.so
+vendor/lib64/libaal_mtk.so
+vendor/lib64/libcomposer_ext.so
+vendor/lib64/libged.so
+vendor/lib64/libgpu_aux.so
+vendor/lib64/libgpud.so
+vendor/lib64/libgralloc_extra.so
+vendor/lib64/libgralloc_metadata.so
+vendor/lib64/libgralloctypes_mtk.so
+vendor/lib64/libion_mtk.so
+vendor/lib64/libion_ulit.so
+vendor/lib64/libladder.so
+vendor/lib64/libmml.so
+vendor/lib64/libpqframework.so
+vendor/lib64/libudf.so
+vendor/lib64/vendor.mediatek.hardware.composer_ext@1.0.so
+vendor/lib64/vendor.mediatek.hardware.mmagent@1.0.so
+vendor/lib64/vendor.mediatek.hardware.mmagent@1.1.so
+vendor/lib64/vendor.mediatek.hardware.mms@1.0.so
+vendor/lib64/vendor.mediatek.hardware.mms@1.1.so
+vendor/lib64/vendor.mediatek.hardware.mms@1.2.so
+vendor/lib64/vendor.mediatek.hardware.mms@1.3.so
+vendor/lib64/vendor.mediatek.hardware.mms@1.4.so
+vendor/lib64/vendor.mediatek.hardware.mms@1.5.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.0.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.1.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.10.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.11.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.12.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.13.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.14.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.15.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.2.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.3.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.4.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.5.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.6.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.7.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.8.so
+vendor/lib64/vendor.mediatek.hardware.pq@2.9.so
+
# Firmware
vendor/firmware/BT_FW.cfg
vendor/firmware/WIFI_RAM_CODE_soc2_2_1d_1.bin
diff --git a/symlink/vendor.txt b/symlink/vendor.txt
new file mode 100644
index 0000000..7e0715f
--- /dev/null
+++ b/symlink/vendor.txt
@@ -0,0 +1,32 @@
+lib/egl/libGLES_mali.so
+lib/hw/android.hardware.graphics.allocator@4.0-impl-mediatek.so
+lib/hw/android.hardware.graphics.mapper@4.0-impl-mediatek.so
+lib/hw/gralloc.common.so
+lib/hw/vendor.mediatek.hardware.pq@2.15-impl.so
+lib/hw/vulkan.mali.so
+lib/arm.graphics-V1-ndk_platform.so
+lib/libaiselector.so
+lib/libaalservice.so
+lib/libdpframework.so
+lib/libgpudataproducer.so
+lib/libmtk_drvb.so
+lib/libnir_neon_driver.so
+lib/libpq_cust_base.so
+lib/libpq_prot.so
+lib/libpqparamparser.so
+lib64/egl/libGLES_mali.so
+lib64/hw/android.hardware.graphics.allocator@4.0-impl-mediatek.so
+lib64/hw/android.hardware.graphics.mapper@4.0-impl-mediatek.so
+lib64/hw/gralloc.common.so
+lib64/hw/vendor.mediatek.hardware.pq@2.15-impl.so
+lib64/hw/vulkan.mali.so
+lib64/arm.graphics-V1-ndk_platform.so
+lib64/libaalservice.so
+lib64/libaiselector.so
+lib64/libdpframework.so
+lib64/libgpudataproducer.so
+lib64/libmtk_drvb.so
+lib64/libnir_neon_driver.so
+lib64/libpq_cust_base.so
+lib64/libpq_prot.so
+lib64/libpqparamparser.so
\ No newline at end of file