miatoll: Add support for Dolby Atmos

Co-authored-by: Sugakesshaa <sugakesshaa@pixelos.net>
Change-Id: Ia97eb58c63d02e95f546fd35874d0201525331c2
Signed-off-by: basamaryan <basam.aryan@gmail.com>
Signed-off-by: Ritesh <SahanyRitesh@proton.me>
This commit is contained in:
Adithya R
2025-01-29 14:43:35 +08:00
committed by Onelots
parent 682f6fb2ab
commit afac20ea12
10 changed files with 82 additions and 3 deletions

View File

@@ -21,7 +21,7 @@ TARGET_2ND_CPU_VARIANT := cortex-a76
# Audio
AUDIO_FEATURE_ENABLED_AHAL_EXT := false
AUDIO_FEATURE_ENABLED_DLKM := true
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := false
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := true
AUDIO_FEATURE_ENABLED_DTS_EAGLE := false
AUDIO_FEATURE_ENABLED_DYNAMIC_LOG := false
AUDIO_FEATURE_ENABLED_EXT_AMPLIFIER := true

View File

@@ -83,6 +83,12 @@ PRODUCT_PACKAGES += \
vendor.qti.hardware.display.allocator-service \
vendor.qti.hardware.memtrack-service
# Dolby
TARGET_USES_DOLBY := true
PRODUCT_PACKAGES += \
XiaomiDolby
# DRM
PRODUCT_PACKAGES += \
android.hardware.drm-service.clearkey

View File

@@ -41,6 +41,10 @@
<library name="volume_listener" path="libvolumelistener.so"/>
<library name="audiosphere" path="libasphere.so"/>
<library name="shoebox" path="libshoebox.so"/>
<!-- DOLBY DAP -->
<library name="dap_sw" path="libswdap_v3_6.so"/>
<library name="dap_hw" path="libhwdap_v3_6.so"/>
<!-- DOLBY END -->
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
@@ -89,6 +93,12 @@
<effect name="notification_helper" library="volume_listener" uuid="0b776dde-0590-11e5-81ba-0025b32654a0"/>
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
<effect name="shoebox" library="shoebox" uuid="1eab784c-1a36-4b2a-b7fc-e34c44cab89e"/>
<!-- DOLBY DAP -->
<effectProxy name="dap" library="proxy" uuid="9d4921da-8225-4f29-aefa-39537a04bcaa">
<libsw library="dap_sw" uuid="6ab06da4-c516-4611-8166-452799218539"/>
<libhw library="dap_hw" uuid="a0c30891-8246-4aef-b8ad-d53e26da0253"/>
</effectProxy>
<!-- DOLBY END -->
</effects>
<postprocess>
<stream type="music">

View File

@@ -49,6 +49,10 @@ lib_fixups: lib_fixups_user_type = {
}
blob_fixups: blob_fixups_user_type = {
'odm/bin/hw/vendor.dolby_v3_6.hardware.dms360@2.0-service': blob_fixup()
.add_needed('libstagefright_foundation-v33.so'),
'odm/etc/dolby/multimedia_dolby_dax_default.xml': blob_fixup()
.regex_replace('volume-leveler-enable value="true"', 'volume-leveler-enable value="false"'),
'vendor/etc/camera/camxoverridesettings.txt': blob_fixup()
.regex_replace('0x10082', '0')
.regex_replace('0x1F', '0x0'),

View File

@@ -423,6 +423,29 @@ vendor/lib64/libcvp_common.so
vendor/lib64/libcvp_stub.so
vendor/lib64/vendor.qti.hardware.cvp@1.0.so
# Dolby Atmos - from OnePlus 9RT MT2111_14.0.0.730(EX01)
odm/bin/hw/vendor.dolby_v3_6.hardware.dms360@2.0-service|7951f0ede5108f0080bb8abb18651058db9e46ae|40f823e97a6f900749964d294f0473bd69ae7fd2
odm/etc/dolby/multimedia_dolby_dax_default.xml|be49c4cde1bc41f67fbfa2c49ba6d8f4e40eb8dc|885abbd34100dfdfb7a798449f35670a8e661a14
odm/etc/init/vendor.dolby_v3_6.hardware.dms360@2.0-service.rc|5da96cf855061860f27dff6399505f8d1f1daeee
odm/etc/vintf/manifest/manifest_dax_dolby_v3_6.xml|c4704e5bc4da7cdf291c79389f379c8355eaf730
odm/lib/libdapparamstorage_v3_6.so|c6c36fba280f2373034cf754870611614bf0f22f
odm/lib/libdeccfg_v3_6.so|742cadaf61aea20eabdac099668bfd43ddf4bb35
odm/lib/libdlbdsservice_v3_6.so|eac269dfbf334f4cc9d5900fb1c53dbfbaea4d6b
odm/lib/libqtigef.so;MODULE_SUFFIX=_odm|c7d588a80c3aac52b160db6ded1528bb8b8fd7bd
odm/lib/libstagefright_soft_ddpdec_v3_6.so:odm/lib/libstagefright_soft_ddpdec.so;FIX_SONAME|7b9a91a1d15c90a0d804d372554e561380cd109e|1710eaab77e4cb8bc596c739c2dcf90e05f9009f
odm/lib/soundfx/libhwdap_v3_6.so|1992eea271d67bef7482377605a2efa4c2f6dba8
odm/lib/soundfx/libswdap_v3_6.so|3e521eb43ea5b43e2436f2c46d7b8f169b2f1553
odm/lib/vendor.dolby_v3_6.hardware.dms360@2.0-impl.so|b535d7ebc47cb933fe7654a53cc36a5bfc928639
odm/lib/vendor.dolby_v3_6.hardware.dms360@2.0.so|d6f89d6499661023dc8fe451ca5c55f1a3ba7d55
odm/lib64/libdapparamstorage_v3_6.so|d0c9e16ec5a589a9e47a8d3907d7949fd4fdb439
odm/lib64/libdeccfg_v3_6.so|25a64da2aa3bf9cb2b6fd644547ba1e94cdb47f4
odm/lib64/libdlbdsservice_v3_6.so|08ae454ff029791ba436f750ca6c717cb6d7bf36
odm/lib64/libqtigef.so;MODULE_SUFFIX=_odm|09fb25411b4767ab2f7eebdccd7cc7fd9a85feee
odm/lib64/soundfx/libhwdap_v3_6.so|e4bf45ccd3ae9d4347d1416019d96681b2c651ea
odm/lib64/soundfx/libswdap_v3_6.so|92dca01e5bc4cd654a1b72197fc744d8e5bb1b74
odm/lib64/vendor.dolby_v3_6.hardware.dms360@2.0-impl.so|5b5f4b383c03a6aaa759b1cc7f6f0aea7d1f6ba0
odm/lib64/vendor.dolby_v3_6.hardware.dms360@2.0.so|e62f04117fead61eea7f2593e7ccbb565436a0ee
# DPM (system) - from sunstone
system_ext/bin/dpmd|5a42bc4e5c841573579e0718d6e80e688767eeed
system_ext/etc/dpm/dpm.conf|95e27da8c989e96c6faea6f0697bce11955b62a5

4
sepolicy/vendor/attributes vendored Normal file
View File

@@ -0,0 +1,4 @@
# Dolby
attribute hal_dms;
attribute hal_dms_client;
attribute hal_dms_server;

View File

@@ -4,6 +4,10 @@
# Charger
/vendor/bin/batterysecret u:object_r:batterysecret_exec:s0
# Dolby
/data/vendor/dolby(/.*)? u:object_r:vendor_data_file:s0
/(odm|vendor/odm)/bin/hw/vendor\.dolby_v3_6\.hardware\.dms360@2\.0-service u:object_r:hal_dms_default_exec:s0
# Fingerprint
/vendor/bin/hw/android\.hardware\.biometrics\.fingerprint-service\.xiaomi u:object_r:hal_fingerprint_default_exec:s0

20
sepolicy/vendor/hal_dms.te vendored Normal file
View File

@@ -0,0 +1,20 @@
type hal_dms_hwservice, hwservice_manager_type, protected_hwservice;
type hal_dms_default, domain;
hal_server_domain(hal_dms_default, hal_dms)
type hal_dms_default_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(hal_dms_default)
hal_attribute_hwservice(hal_dms, hal_dms_hwservice)
binder_call(hal_dms_client, hal_dms_server)
binder_call(hal_dms_server, hal_dms_client)
hal_client_domain(hal_audio_default, hal_dms)
hal_client_domain(mediacodec, hal_dms)
allow hal_dms_default vendor_data_file:dir rw_dir_perms;
allow hal_dms_default vendor_data_file:file create_file_perms;
set_prop(hal_dms_default, vendor_audio_prop)

View File

@@ -1,2 +1,3 @@
vendor.dolby_v3_6.hardware.dms360::IDms u:object_r:hal_dms_hwservice:s0
vendor.goodix.hardware.biometrics.fingerprint::IGoodixFingerprintDaemon u:object_r:hal_fingerprint_hwservice:s0
vendor.goodix.hardware.biometrics.fingerprint::IGoodixFingerprintDaemonExt u:object_r:hal_fingerprint_hwservice:s0

View File

@@ -15,8 +15,6 @@ ro.hardware.audio_amplifier=tas2562
ro.vendor.audio.sdk.fluencetype=fluence
ro.vendor.audio.sdk.ssr=false
vendor.audio.adm.buffering.ms=2
vendor.audio.dolby.ds2.enabled=false
vendor.audio.dolby.ds2.hardbypass=false
vendor.audio.enable.mirrorlink=false
vendor.audio.feature.a2dp_offload.enable=true
vendor.audio.feature.afe_proxy.enable=true
@@ -159,6 +157,15 @@ vendor.display.qdcm.mode_combine=1
vendor.display.svi.config=1
vendor.display.svi.config_path=/vendor/etc/SVIConfig.xml
# Dolby Atmos
ro.vendor.dolby.dax.version=DAX3_3.6.0.12_r1
ro.vendor.dolby.model=PAFM00
ro.vendor.dolby.device=OP46C3
ro.vendor.dolby.manufacturer=OPLUS
ro.vendor.dolby.brand=OPLUS
vendor.audio.dolby.ds2.enabled=true
vendor.audio.dolby.ds2.hardbypass=true
# DRM
drm.service.enabled=true