Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb96f3e638 | ||
|
|
9e67156501 | ||
|
|
db65bf3ad5 | ||
|
|
28400e685e | ||
|
|
15a2cb45f6 | ||
|
|
f729ab037c | ||
|
|
949b78a8df | ||
|
|
40fc4fb1d0 | ||
|
|
b0dff02003 | ||
|
|
47a00f68b2 | ||
|
|
9a80723eea | ||
|
|
c54d438cfd | ||
|
|
e9d2a31ba7 | ||
|
|
0f01b12eb1 | ||
|
|
b478242c9a | ||
|
|
985d23e0fb | ||
|
|
02226853a6 | ||
|
|
4d57d1ba78 | ||
| feef4fc5c6 | |||
|
|
a6a3e58eeb | ||
|
|
1c3042c8a3 | ||
|
|
a8d63ac126 | ||
|
|
9a3141b828 | ||
|
|
94beb47402 | ||
|
|
8629a0e53f | ||
|
|
ba5fd8e6c6 | ||
|
|
beb6dab5b4 | ||
|
|
bee5ab4f3a | ||
|
|
552011cc7d | ||
|
|
3d8644c592 | ||
|
|
480a51fb22 | ||
|
|
355b988011 |
@@ -19,6 +19,11 @@ TARGET_2ND_CPU_ABI := armeabi-v7a
|
||||
TARGET_2ND_CPU_ABI2 := armeabi
|
||||
TARGET_2ND_CPU_VARIANT := cortex-a73
|
||||
|
||||
# ART
|
||||
WITH_DEXPREOPT := true
|
||||
DEX_PREOPT_DEFAULT := generate-vdex-and-image
|
||||
WITH_DEXPREOPT_DEBUG_INFO := false
|
||||
|
||||
# Audio
|
||||
BOARD_USES_ALSA_AUDIO := true
|
||||
BOARD_SUPPORTS_SOUND_TRIGGER := true
|
||||
@@ -37,10 +42,12 @@ TARGET_FS_CONFIG_GEN := $(COMMON_PATH)/config.fs
|
||||
DEVICE_MATRIX_FILE += hardware/qcom-caf/common/compatibility_matrix.xml
|
||||
DEVICE_MANIFEST_FILE += hardware/qcom-caf/sm8150/media/conf_files/sm6150/c2_manifest.xml
|
||||
DEVICE_MANIFEST_FILE += $(COMMON_PATH)/manifest.xml
|
||||
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
|
||||
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += \
|
||||
hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \
|
||||
hardware/xiaomi/vintf/xiaomi_framework_compatibility_matrix.xml \
|
||||
vendor/lineage/config/device_framework_matrix.xml
|
||||
hardware/xiaomi/vintf/xiaomi_framework_compatibility_matrix.xml
|
||||
|
||||
# HWUI
|
||||
HWUI_COMPILE_FOR_PERF := true
|
||||
|
||||
# Kernel
|
||||
BOARD_BOOTIMG_HEADER_VERSION := 2
|
||||
@@ -63,6 +70,7 @@ BOARD_KERNEL_CMDLINE += loop.max_part=7
|
||||
BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem,nosocket
|
||||
BOARD_KERNEL_CMDLINE += buildvariant=user
|
||||
BOARD_KERNEL_CMDLINE += androidboot.init_fatal_reboot_target=recovery
|
||||
BOARD_KERNEL_CMDLINE += kpti=off
|
||||
|
||||
TARGET_KERNEL_SOURCE := kernel/xiaomi/sm6125
|
||||
TARGET_KERNEL_CONFIG := vendor/trinket-perf_defconfig vendor/xiaomi-trinket.config
|
||||
|
||||
18
camera/Android.bp
Normal file
18
camera/Android.bp
Normal file
@@ -0,0 +1,18 @@
|
||||
cc_library_shared {
|
||||
name: "camera.qcom",
|
||||
relative_install_path: "hw",
|
||||
srcs: ["camera.cpp"],
|
||||
shared_libs: [
|
||||
"libbase",
|
||||
"libcamera_metadata",
|
||||
"libdl",
|
||||
"libhardware",
|
||||
"liblog",
|
||||
"libutils",
|
||||
],
|
||||
static_libs: [
|
||||
"android.hardware.camera.common-helper",
|
||||
],
|
||||
vendor: true,
|
||||
compile_multilib: "32",
|
||||
}
|
||||
71
camera/camera.cpp
Normal file
71
camera/camera.cpp
Normal file
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2025 The LineageOS Project
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <CameraMetadata.h>
|
||||
#include <android-base/properties.h>
|
||||
#include <cutils/log.h>
|
||||
#include <hardware/camera_common.h>
|
||||
#include <system/camera_metadata.h>
|
||||
|
||||
#include <dlfcn.h>
|
||||
#include <string.h>
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
|
||||
camera_module HMI;
|
||||
camera_module* HMI_qcom;
|
||||
|
||||
static int camera_device_open(const hw_module_t* /*module*/, const char* id,
|
||||
hw_device_t** hw_device) {
|
||||
return HMI_qcom->common.methods->open(&HMI_qcom->common, id, hw_device);
|
||||
}
|
||||
|
||||
int get_camera_info(int camera_id, struct camera_info* info) {
|
||||
int ret = HMI_qcom->get_camera_info(camera_id, info);
|
||||
if (camera_id == 61) {
|
||||
using android::hardware::camera::common::helper::CameraMetadata;
|
||||
CameraMetadata staticInfo(
|
||||
const_cast<camera_metadata_t*>(info->static_camera_characteristics));
|
||||
staticInfo.update(ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS,
|
||||
(uint8_t[]){'0', 0, '2', '0', 0}, 5);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
__attribute__((constructor)) void camera_wrapper_init() {
|
||||
auto handle = dlopen("/vendor/lib/hw/camera.trinket.so", RTLD_NOW);
|
||||
HMI_qcom = reinterpret_cast<decltype(HMI_qcom)>(dlsym(handle, "HMI"));
|
||||
|
||||
HMI = *HMI_qcom;
|
||||
|
||||
if (android::base::GetProperty("ro.build.product", "") == "laurel_sprout") {
|
||||
// laurel_sprout has a get_cam_pos function added, which breaks the struct
|
||||
// Shift all functions by one to realign the struct with AOSP
|
||||
HMI.get_camera_info = reinterpret_cast<decltype(HMI.get_camera_info)>(HMI.set_callbacks);
|
||||
HMI.set_callbacks = reinterpret_cast<decltype(HMI.set_callbacks)>(HMI.get_vendor_tag_ops);
|
||||
HMI.get_vendor_tag_ops =
|
||||
reinterpret_cast<decltype(HMI.get_vendor_tag_ops)>(HMI.open_legacy);
|
||||
HMI.open_legacy = reinterpret_cast<decltype(HMI.open_legacy)>(HMI.set_torch_mode);
|
||||
HMI.set_torch_mode = reinterpret_cast<decltype(HMI.set_torch_mode)>(HMI.init);
|
||||
HMI.init = reinterpret_cast<decltype(HMI.init)>(HMI.get_physical_camera_info);
|
||||
HMI.get_physical_camera_info = reinterpret_cast<decltype(HMI.get_physical_camera_info)>(
|
||||
HMI.is_stream_combination_supported);
|
||||
HMI.is_stream_combination_supported =
|
||||
reinterpret_cast<decltype(HMI.is_stream_combination_supported)>(
|
||||
HMI.notify_device_state_change);
|
||||
HMI.notify_device_state_change =
|
||||
reinterpret_cast<decltype(HMI.notify_device_state_change)>(HMI.reserved[0]);
|
||||
HMI.reserved[0] = nullptr;
|
||||
} else {
|
||||
// ginkgo/willow registers only 4 bytes for logical camera IDs
|
||||
// Resize the struct and correct the values to 0+20
|
||||
HMI.get_camera_info = get_camera_info;
|
||||
}
|
||||
|
||||
static auto methods = *HMI.common.methods;
|
||||
methods.open = &camera_device_open;
|
||||
HMI.common.methods = &methods;
|
||||
}
|
||||
28
common.mk
28
common.mk
@@ -4,6 +4,9 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# ART
|
||||
PRODUCT_SYSTEM_SERVER_COMPILER_FILTER := speed-profile
|
||||
|
||||
# Audio
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@7.0-impl \
|
||||
@@ -27,7 +30,8 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
# Audio configs
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/configs/audio/,$(TARGET_COPY_OUT_VENDOR)/etc)
|
||||
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/configs/audio/,$(TARGET_COPY_OUT_VENDOR)/etc) \
|
||||
$(LOCAL_PATH)/configs/audio/dax-default.xml:$(TARGET_COPY_OUT_VENDOR)/etc/dolby/dax-default.xml
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
|
||||
@@ -43,8 +47,8 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
# Camera
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.camera.provider@2.4-impl \
|
||||
android.hardware.camera.provider@2.4-service
|
||||
android.hardware.camera.provider-service_32.lineage \
|
||||
camera.qcom
|
||||
|
||||
# Charger
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -75,6 +79,10 @@ PRODUCT_PACKAGES += \
|
||||
gralloc.qcom \
|
||||
hwcomposer.qcom
|
||||
|
||||
# Dolby
|
||||
PRODUCT_PACKAGES += \
|
||||
XiaomiDolby
|
||||
|
||||
# DRM
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.drm-service.clearkey
|
||||
@@ -102,6 +110,7 @@ PRODUCT_PACKAGES += \
|
||||
IPACM_cfg.xml
|
||||
|
||||
# Kernel
|
||||
PRODUCT_ENABLE_UFFD_GC := true
|
||||
PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := true
|
||||
|
||||
# Lights
|
||||
@@ -116,13 +125,20 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
# LiveDisplay
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.lineage.livedisplay@2.0-service-sdm
|
||||
vendor.lineage.livedisplay-service.sdm
|
||||
|
||||
$(call soong_config_set,livedisplay_sdm,enable_dm,false)
|
||||
|
||||
# Media configs
|
||||
PRODUCT_PACKAGES += \
|
||||
media_codecs_c2.xml \
|
||||
media_codecs_performance_c2.xml
|
||||
|
||||
# Media
|
||||
PRODUCT_PACKAGES += \
|
||||
libstagefrighthw \
|
||||
libstagefright_foundation-v33
|
||||
|
||||
# Overlays
|
||||
DEVICE_PACKAGE_OVERLAYS += \
|
||||
$(LOCAL_PATH)/overlay \
|
||||
@@ -258,8 +274,10 @@ PRODUCT_PACKAGES += \
|
||||
# USB
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.usb@1.3-service.dual_role_usb \
|
||||
android.hardware.usb.gadget-service.qti \
|
||||
init.qcom.usb.rc \
|
||||
init.qcom.usb.sh
|
||||
init.qcom.usb.sh \
|
||||
usb_compositions.conf
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += vendor/qcom/opensource/usb/etc
|
||||
|
||||
|
||||
@@ -42,6 +42,16 @@
|
||||
<library name="audiosphere" path="libasphere.so"/>
|
||||
<library name="shoebox" path="libshoebox.so"/>
|
||||
<library name="misoundfx" path="libmisoundfx.so"/>
|
||||
<library name="v4a_re" path="libv4a_re.so"/>
|
||||
<!--DOLBY DAP-->
|
||||
<library name="dap" path="libswdap.so"/>
|
||||
<!--DOLBY END-->
|
||||
<!--DOLBY GAME-->
|
||||
<library name="gamedap" path="libswgamedap.so"/>
|
||||
<!--DOLBY END-->
|
||||
<!--DOLBY VQE-->
|
||||
<library name="vqe" path="libswvqe.so"/>
|
||||
<!--DOLBY END-->
|
||||
</libraries>
|
||||
<effects>
|
||||
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
|
||||
@@ -91,6 +101,16 @@
|
||||
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
|
||||
<effect name="shoebox" library="shoebox" uuid="1eab784c-1a36-4b2a-b7fc-e34c44cab89e"/>
|
||||
<effect name="misoundfx" library="misoundfx" uuid="5b8e36a5-144a-4c38-b1d7-0002a5d5c51b"/>
|
||||
<effect name="v4a_standard_re" library="v4a_re" uuid="90380da3-8536-4744-a6a3-5731970e640f"/>
|
||||
<!--DOLBY DAP-->
|
||||
<effect name="dap" library="dap" uuid="9d4921da-8225-4f29-aefa-39537a04bcaa"/>
|
||||
<!--DOLBY END-->
|
||||
<!--DOLBY GAME-->
|
||||
<effect name="gamedap" library="gamedap" uuid="3783c334-d3a0-4d13-874f-0032e5fb80e2"/>
|
||||
<!--DOLBY END-->
|
||||
<!--DOLBY VQE-->
|
||||
<effect name="vqe" library="vqe" uuid="64a0f614-7fa4-48b8-b081-d59dc954616f"/>
|
||||
<!--DOLBY END-->
|
||||
</effects>
|
||||
<postprocess>
|
||||
<stream type="music">
|
||||
|
||||
1857
configs/audio/dax-default.xml
Normal file
1857
configs/audio/dax-default.xml
Normal file
File diff suppressed because it is too large
Load Diff
285
configs/properties/vendor.prop
Normal file
285
configs/properties/vendor.prop
Normal file
@@ -0,0 +1,285 @@
|
||||
# Audio
|
||||
aaudio.hw_burst_min_usec=2000
|
||||
aaudio.mmap_exclusive_policy=2
|
||||
aaudio.mmap_policy=2
|
||||
persist.vendor.audio.ambisonic.auto.profile=false
|
||||
persist.vendor.audio.ambisonic.capture=false
|
||||
persist.vendor.audio.apptype.multirec.enabled=false
|
||||
persist.vendor.audio.avs.afe_api_version=2
|
||||
persist.vendor.audio.delta.refresh=true
|
||||
persist.vendor.audio.fluence.speaker=true
|
||||
persist.vendor.audio.fluence.tmic.enabled=false
|
||||
persist.vendor.audio.fluence.voicecall=true
|
||||
persist.vendor.audio.fluence.voicerec=true
|
||||
persist.vendor.audio.ha_proxy.enabled=true
|
||||
persist.vendor.audio.ras.enabled=false
|
||||
persist.vendor.audio.ring.filter.mask=0
|
||||
persist.vendor.audio.spv3.enable=true
|
||||
persist.vendor.audio.voicecall.speaker.stereo=true
|
||||
ro.audio.monitorRotation=true
|
||||
ro.config.vc_call_vol_steps=11
|
||||
ro.vendor.audio.sdk.fluencetype=fluence
|
||||
ro.vendor.audio.sdk.ssr=false
|
||||
vendor.audio.adm.buffering.ms=12
|
||||
vendor.audio.chk.cal.spk=2
|
||||
vendor.audio.chk.cal.us=2
|
||||
vendor.audio.dolby.ds2.enabled=false
|
||||
vendor.audio.dolby.ds2.hardbypass=false
|
||||
vendor.audio.feature.a2dp_offload.enable=true
|
||||
vendor.audio.feature.afe_proxy.enable=true
|
||||
vendor.audio.feature.anc_headset.enable=false
|
||||
vendor.audio.feature.audiozoom.enable=false
|
||||
vendor.audio.feature.battery_listener.enable=true
|
||||
vendor.audio.feature.compr_cap.enable=false
|
||||
vendor.audio.feature.compress_in.enable=true
|
||||
vendor.audio.feature.compress_meta_data.enable=true
|
||||
vendor.audio.feature.compr_voip.enable=false
|
||||
vendor.audio.feature.concurrent_capture.enable=true
|
||||
vendor.audio.feature.custom_stereo.enable=true
|
||||
vendor.audio.feature.deepbuffer_as_primary.enable=false
|
||||
vendor.audio.feature.display_port.enable=true
|
||||
vendor.audio.feature.dsm_feedback.enable=false
|
||||
vendor.audio.feature.dynamic_ecns.enable=true
|
||||
vendor.audio.feature.external_dsp.enable=false
|
||||
vendor.audio.feature.external_speaker.enable=false
|
||||
vendor.audio.feature.external_speaker_tfa.enable=false
|
||||
vendor.audio.feature.ext_hw_plugin.enable=false
|
||||
vendor.audio.feature.fluence.enable=true
|
||||
vendor.audio.feature.fm.enable=true
|
||||
vendor.audio.feature.hdmi_edid.enable=true
|
||||
vendor.audio.feature.hdmi_passthrough.enable=false
|
||||
vendor.audio.feature.hfp.enable=true
|
||||
vendor.audio.feature.hifi_audio.enable=false
|
||||
vendor.audio.feature.hwdep_cal.enable=false
|
||||
vendor.audio.feature.incall_music.enable=true
|
||||
vendor.audio.feature.keep_alive.enable=true
|
||||
vendor.audio.feature.kpi_optimize.enable=true
|
||||
vendor.audio.feature.maxx_audio.enable=false
|
||||
vendor.audio.feature.multi_voice_session.enable=true
|
||||
vendor.audio.feature.ras.enable=true
|
||||
vendor.audio.feature.record_play_concurency.enable=false
|
||||
vendor.audio.feature.snd_mon.enable=true
|
||||
vendor.audio.feature.spkr_prot.enable=true
|
||||
vendor.audio.feature.src_trkn.enable=true
|
||||
vendor.audio.feature.ssrec.enable=false
|
||||
vendor.audio.feature.usb_offload_burst_mode.enable=true
|
||||
vendor.audio.feature.usb_offload.enable=true
|
||||
vendor.audio.feature.usb_offload_sidetone_volume.enable=false
|
||||
vendor.audio.feature.vbat.enable=true
|
||||
vendor.audio.feature.wsa.enable=false
|
||||
vendor.audio.hal.boot.timeout.ms=20000
|
||||
vendor.audio_hal.in_period_size=144
|
||||
vendor.audio.hal.output.suspend.supported=true
|
||||
vendor.audio_hal.period_multiplier=3
|
||||
vendor.audio_hal.period_size=192
|
||||
vendor.audio.hw.aac.encoder=true
|
||||
vendor.audio.offload.buffer.size.kb=256
|
||||
vendor.audio.offload.gapless.enabled=true
|
||||
vendor.audio.offload.multiaac.enable=true
|
||||
vendor.audio.offload.multiple.enabled=false
|
||||
vendor.audio.offload.passthrough=false
|
||||
vendor.audio.offload.track.enable=true
|
||||
vendor.audio.safx.pbe.enabled=false
|
||||
vendor.audio.use.sw.alac.decoder=true
|
||||
vendor.audio.use.sw.ape.decoder=true
|
||||
vendor.audio.use.sw.mpegh.decoder=true
|
||||
vendor.audio.volume.headset.gain.depcal=true
|
||||
vendor.voice.path.for.pcm.voip=true
|
||||
|
||||
# Bluetooth
|
||||
bluetooth.profile.a2dp.source.enabled=true
|
||||
bluetooth.profile.asha.central.enabled=false
|
||||
bluetooth.profile.avrcp.target.enabled=true
|
||||
bluetooth.profile.avrcp.controller.enabled=false
|
||||
bluetooth.profile.hfp.ag.enabled=true
|
||||
bluetooth.profile.gatt.enabled=true
|
||||
bluetooth.profile.hid.device.enabled=true
|
||||
bluetooth.profile.hid.host.enabled=true
|
||||
bluetooth.profile.map.server.enabled=true
|
||||
bluetooth.profile.opp.enabled=true
|
||||
bluetooth.profile.pan.nap.enabled=true
|
||||
bluetooth.profile.pan.panu.enabled=true
|
||||
bluetooth.profile.pbap.server.enabled=true
|
||||
bluetooth.profile.sap.server.enabled=false
|
||||
persist.bluetooth.a2dp_offload.disabled=false
|
||||
persist.vendor.bluetooth.modem_nv_support=true
|
||||
persist.vendor.bt.aac_frm_ctl.enabled=true
|
||||
persist.vendor.bt.aac_vbr_frm_ctl.enabled=true
|
||||
persist.vendor.qcom.bluetooth.a2dp_offload_cap=sbc-aac-aptx-aptxhd-ldac
|
||||
persist.vendor.qcom.bluetooth.aac_vbr_ctl.enabled=false
|
||||
persist.vendor.qcom.bluetooth.enable.splita2dp=true
|
||||
persist.vendor.qcom.bluetooth.scram.enabled=false
|
||||
persist.vendor.qcom.bluetooth.twsp_state.enabled=false
|
||||
ro.bluetooth.a2dp_offload.supported=true
|
||||
ro.vendor.bluetooth.wipower=false
|
||||
vendor.qcom.bluetooth.soc=cherokee
|
||||
persist.vendor.btstack.enable.twsplus=true
|
||||
persist.vendor.btstack.enable.twsplussho=true
|
||||
|
||||
# Camera
|
||||
camera.disable_zsl_mode=true
|
||||
vendor.camera.aux.packagelist=org.codeaurora.snapcam,com.android.camera
|
||||
persist.vendor.camera.logInfoMask=false
|
||||
persist.vendor.camera.perflock.enable=0
|
||||
|
||||
# Dalvik
|
||||
dalvik.vm.dex2oat64.enabled=true
|
||||
dalvik.vm.dex2oat-cpu-set=4,5,6,7
|
||||
dalvik.vm.dex2oat-threads=4
|
||||
dalvik.vm.image-dex2oat-cpu-set=4,5,6,7
|
||||
dalvik.vm.image-dex2oat-threads=4
|
||||
|
||||
# Display
|
||||
debug.sf.frame_rate_multiple_threshold=120
|
||||
ro.surface_flinger.enable_frame_rate_override=false
|
||||
ro.surface_flinger.force_hwc_copy_for_virtual_displays=true
|
||||
ro.surface_flinger.game_default_frame_rate_override=120
|
||||
ro.surface_flinger.has_wide_color_display=false
|
||||
ro.surface_flinger.max_virtual_display_dimension=4096
|
||||
ro.surface_flinger.protected_contents=true
|
||||
ro.surface_flinger.use_color_management=true
|
||||
ro.surface_flinger.set_display_power_timer_ms=800
|
||||
ro.surface_flinger.set_idle_timer_ms=3500
|
||||
ro.surface_flinger.set_touch_timer_ms=4000
|
||||
ro.surface_flinger.wcg_composition_dataspace=143261696
|
||||
ro.vendor.display.sensortype=2
|
||||
ro.vendor.display.svi=1
|
||||
vendor.display.comp_mask=0
|
||||
vendor.display.disable_excl_rect=0
|
||||
vendor.display.disable_excl_rect_partial_fb=1
|
||||
vendor.display.disable_hw_recovery_dump=1
|
||||
vendor.display.disable_offline_rotator=0
|
||||
vendor.display.disable_rotator_ubwc=1
|
||||
vendor.display.disable_rounded_corner_thread=0
|
||||
vendor.display.disable_scaler=0
|
||||
vendor.display.enable_allow_idle_fallback=1
|
||||
vendor.display.enable_async_powermode=1
|
||||
vendor.display.enable_camera_smooth=1
|
||||
vendor.display.enable_early_wakeup=1
|
||||
vendor.display.enable_optimize_refresh=1
|
||||
vendor.display.enable_perf_hint_large_comp_cycle=1
|
||||
vendor.display.enable_posted_start_dyn=1
|
||||
vendor.display.enable_rc_support=1
|
||||
vendor.display.enable_rounded_corner=0
|
||||
vendor.display.idle_time=0
|
||||
vendor.display.override_doze_mode=1
|
||||
vendor.display.svi.config=1
|
||||
vendor.display.svi.config_path=/vendor/etc/SVIConfig.xml
|
||||
vendor.display.target.version=3
|
||||
vendor.display.use_smooth_motion=1
|
||||
vendor.display.disable_partial_split=1
|
||||
|
||||
# DPM
|
||||
persist.vendor.dpmhalservice.enable=1
|
||||
|
||||
# DRM
|
||||
drm.service.enabled=true
|
||||
|
||||
# FRP
|
||||
ro.frp.pst=/dev/block/bootdevice/by-name/frp
|
||||
|
||||
# Graphics
|
||||
debug.sf.auto_latch_unsignaled=0
|
||||
debug.sf.disable_backpressure=1
|
||||
debug.sf.disable_client_composition_cache=0
|
||||
debug.sf.enable_adpf_cpu_hint=true
|
||||
debug.sf.enable_advanced_sf_phase_offset=1
|
||||
debug.sf.enable_gl_backpressure=0
|
||||
debug.sf.enable_transaction_tracing=false
|
||||
debug.sf.high_fps_early_gl_phase_offset_ns=-4000000
|
||||
debug.sf.high_fps_early_phase_offset_ns=-4000000
|
||||
debug.sf.high_fps_late_app_phase_offset_ns=1000000
|
||||
debug.sf.high_fps_late_sf_phase_offset_ns=-4000000
|
||||
debug.sf.predict_hwc_composition_strategy=0
|
||||
debug.sf.treat_170m_as_sRGB=1
|
||||
persist.sys.sf.color_mode=7
|
||||
persist.sys.sf.color_saturation=1.0
|
||||
persist.sys.sf.native_mode=258
|
||||
ro.hardware.egl=adreno
|
||||
ro.hardware.vulkan=adreno
|
||||
ro.opengles.version=196610
|
||||
vendor.gralloc.disable_ubwc=0
|
||||
vendor.gralloc.secure_preview_buffer_format=420_sp
|
||||
vendor.gralloc.secure_preview_only=1
|
||||
|
||||
# HWUI
|
||||
ro.hwui.render_ahead=5
|
||||
debug.hwui.use_hint_manager=true
|
||||
debug.hwui.target_cpu_time_percent=30
|
||||
|
||||
# Incremental FS
|
||||
ro.incremental.enable=true
|
||||
|
||||
# Logcat spam
|
||||
persist.log.tag.BackgroundInstallControlService=S
|
||||
persist.log.tag.HWUI=S
|
||||
persist.log.tag.ConnectivityService=S
|
||||
persist.log.tag.vendor.qti.bluetooth@1.0-ibs_handler=S
|
||||
persist.log.tag.vendor.qti.bluetooth@1.0-wake_lock=S
|
||||
persist.log.tag.AppOps=S
|
||||
persist.log.tag.FrameTracker=S
|
||||
|
||||
# Media
|
||||
debug.stagefright.c2inputsurface=-1
|
||||
vendor.media.target_variant=_blair
|
||||
vendor.netflix.bsp_rev=Q4350-32962-1
|
||||
|
||||
# Perf
|
||||
ro.vendor.extension_library=libqti-perfd-client.so
|
||||
vendor.perf.framepacing.enable=1
|
||||
|
||||
# Radio
|
||||
persist.dbg.ims_volte_enable=1
|
||||
persist.dbg.volte_avail_ovr=1
|
||||
persist.dbg.vt_avail_ovr=1
|
||||
persist.dbg.wfc_avail_ovr=1
|
||||
persist.vendor.data.iwlan.enable=true
|
||||
|
||||
# RIL
|
||||
persist.radio.multisim.config=dsds
|
||||
persist.vendor.radio.add_power_save=1
|
||||
persist.vendor.radio.apm_sim_not_pwdn=1
|
||||
persist.vendor.radio.custom_ecc=1
|
||||
persist.vendor.radio.enableadvancedscan=true
|
||||
persist.vendor.radio.enable_temp_dds=true
|
||||
persist.vendor.radio.procedure_bytes=SKIP
|
||||
persist.vendor.radio.rat_on=combine
|
||||
persist.vendor.radio.sib16_support=1
|
||||
ro.telephony.default_network=33,33
|
||||
persist.cust.tel.eons=1
|
||||
ro.telephony.block_binder_thread_on_incoming_calls=false
|
||||
|
||||
# ScrollOptimizer
|
||||
persist.sys.perf.scroll_opt=true
|
||||
persist.sys.perf.scroll_opt.heavy_app=1
|
||||
|
||||
# Sensors
|
||||
persist.vendor.sensors.enable.bypass_worker=true
|
||||
persist.vendor.sensors.enable.mag_filter=true
|
||||
persist.vendor.sensors.enable.rt_task=false
|
||||
persist.vendor.sensors.hal_trigger_ssr=false
|
||||
persist.vendor.sensors.support_direct_channel=false
|
||||
persist.vendor.sensors.sync_request=true
|
||||
|
||||
# SoC
|
||||
ro.boot.product.vendor.sku=holi
|
||||
ro.soc.manufacturer=QTI
|
||||
ro.soc.model=SM6375
|
||||
|
||||
# USB
|
||||
ro.usb.uvc.disable_video_encode_flag=true
|
||||
ro.usb.uvc.enabled=true
|
||||
sys.usb.mtp.batchcancel=1
|
||||
vendor.usb.controller=4e00000.dwc3
|
||||
vendor.usb.diag.func.name=ffs
|
||||
vendor.usb.dpl.inst.name=dpl
|
||||
vendor.usb.qdss.inst.name=qdss_sw
|
||||
vendor.usb.rmnet.func.name=gsi
|
||||
vendor.usb.rmnet.inst.name=rmnet
|
||||
vendor.usb.rndis.func.name=gsi
|
||||
vendor.usb.use_ffs_mtp=1
|
||||
vendor.usb.use_gadget_hal=1
|
||||
vendor.usb.uvc.payload_transfer_size=1024
|
||||
|
||||
# WiFi
|
||||
wifi.aware.interface=wifi-aware0
|
||||
14
evolution.dependencies
Normal file
14
evolution.dependencies
Normal file
@@ -0,0 +1,14 @@
|
||||
[
|
||||
{
|
||||
"repository": "hardware_xiaomi",
|
||||
"target_path": "hardware/xiaomi"
|
||||
},
|
||||
{
|
||||
"repository": "kernel_xiaomi_sm6125",
|
||||
"target_path": "kernel/xiaomi/sm6125"
|
||||
},
|
||||
{
|
||||
"repository": "vendor_xiaomi_sm6125-common",
|
||||
"target_path": "vendor/xiaomi/sm6125-common"
|
||||
}
|
||||
]
|
||||
@@ -39,6 +39,7 @@ blob_fixups: blob_fixups_user_type = {
|
||||
.add_needed('libcrypto_shim.so'),
|
||||
'vendor/etc/seccomp_policy/atfwd@2.0.policy': blob_fixup()
|
||||
.add_line_if_missing('gettid: 1'),
|
||||
('vendor/lib64/libdlbdsservice.so', 'vendor/lib/libstagefright_soft_ac4dec.so', 'vendor/lib/libstagefright_soft_ddpdec.so'): blob_fixup()
|
||||
} # fmt: skip
|
||||
|
||||
module = ExtractUtilsModule(
|
||||
|
||||
14
manifest.xml
14
manifest.xml
@@ -14,11 +14,6 @@
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IBluetoothHci/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.camera.provider</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.4::ICameraProvider/legacy/0</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.gatekeeper</name>
|
||||
<transport>hwbinder</transport>
|
||||
@@ -266,13 +261,4 @@
|
||||
<fqname>@1.0::IIWlan/slot1</fqname>
|
||||
<fqname>@1.0::IIWlan/slot2</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.lineage.livedisplay</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IPictureAdjustment</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</manifest>
|
||||
|
||||
24
overlay/hardware/xiaomi/dolby/res/values/arrays.xml
Normal file
24
overlay/hardware/xiaomi/dolby/res/values/arrays.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2023-24 Paranoid Android
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- Dolby Atmos -->
|
||||
<string-array name="dolby_profile_entries">
|
||||
<item>@string/dolby_profile_dynamic</item>
|
||||
<item>@string/dolby_profile_video</item>
|
||||
<item>@string/dolby_profile_music</item>
|
||||
<item>@string/dolby_profile_game</item>
|
||||
<item>@string/dolby_profile_voice</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="dolby_profile_values">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>8</item>
|
||||
<item>9</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
14
overlay/hardware/xiaomi/dolby/res/values/strings.xml
Normal file
14
overlay/hardware/xiaomi/dolby/res/values/strings.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2023-24 Paranoid Android
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- Dolby profiles -->
|
||||
<string name="dolby_profile_dynamic">Dynamic</string>
|
||||
<string name="dolby_profile_video">Movie/Video</string>
|
||||
<string name="dolby_profile_music">Music</string>
|
||||
<string name="dolby_profile_game">Game</string>
|
||||
<string name="dolby_profile_voice">Voice</string>
|
||||
</resources>
|
||||
@@ -5,6 +5,9 @@ audio.sys.noisy.broadcast.delay=500
|
||||
audio.sys.offload.pstimeout.secs=3
|
||||
audio.sys.routing.latency=0
|
||||
|
||||
# eBPF
|
||||
ro.bpf.kver_override=5.4.299
|
||||
|
||||
# RIL
|
||||
persist.vendor.qti.telephony.vt_cam_interface=2
|
||||
persist.vendor.radio.report_codec=1
|
||||
|
||||
@@ -208,6 +208,24 @@ vendor/etc/init/dpmQmiMgr.rc
|
||||
vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/libdpmqmihal.so
|
||||
|
||||
# Dolby
|
||||
vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service
|
||||
vendor/etc/init/vendor.dolby.hardware.dms@2.0-service.rc
|
||||
vendor/etc/media_codecs_dolby_audio.xml
|
||||
vendor/etc/vintf/manifest/manifest_vendor.dolby.hardware.dms.xml
|
||||
vendor/lib/libdapparamstorage.so
|
||||
vendor/lib/libdeccfg.so
|
||||
vendor/lib/libstagefright_soft_ac4dec.so
|
||||
vendor/lib/libstagefright_soft_ddpdec.so
|
||||
vendor/lib/soundfx/libswdap.so|810d0e266e4a77f06cba72fe8bdde2e1ede4f9f9
|
||||
vendor/lib/soundfx/libswgamedap.so
|
||||
vendor/lib/soundfx/libswvqe.so
|
||||
vendor/lib/vendor.dolby.hardware.dms@2.0.so
|
||||
vendor/lib64/libdapparamstorage.so
|
||||
vendor/lib64/libdlbdsservice.so
|
||||
vendor/lib64/vendor.dolby.hardware.dms@2.0-impl.so
|
||||
vendor/lib64/vendor.dolby.hardware.dms@2.0.so
|
||||
|
||||
# DRM
|
||||
vendor/bin/hw/vendor.qti.hardware.qseecom@1.0-service
|
||||
vendor/bin/qseecomd
|
||||
|
||||
@@ -68,6 +68,14 @@ on early-boot
|
||||
exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qti.can.sh
|
||||
setprop ro.sf.lcd_density ${vendor.display.lcd_density}
|
||||
|
||||
# SSR
|
||||
write /sys/bus/msm_subsys/devices/subsys0/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys1/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys2/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys3/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys4/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys5/restart_level RELATED
|
||||
|
||||
chown system system /mnt/vendor/persist/data/pfm/licenses
|
||||
chmod 0775 /mnt/vendor/persist/data/pfm/licenses
|
||||
|
||||
|
||||
@@ -275,7 +275,6 @@ on boot
|
||||
setprop vendor.usb.rmnet.inst.name "rmnet"
|
||||
setprop vendor.usb.dpl.inst.name "dpl"
|
||||
setprop vendor.usb.qdss.inst.name "qdss"
|
||||
setprop sys.usb.configfs 1
|
||||
|
||||
service vendor.pd_mapper /vendor/bin/pd-mapper
|
||||
class core
|
||||
@@ -311,7 +310,6 @@ on property:sys.shutdown.requested=*
|
||||
|
||||
on property:init.svc.vendor.charger=running
|
||||
setprop vendor.usb.controller 4e00000.dwc3
|
||||
setprop sys.usb.configfs 1
|
||||
|
||||
chown system system /sys/class/leds/red/brightness
|
||||
write /sys/class/leds/red/brightness 255
|
||||
|
||||
4
sepolicy/vendor/attributes
vendored
Normal file
4
sepolicy/vendor/attributes
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
# HALs
|
||||
attribute hal_dms;
|
||||
attribute hal_dms_client;
|
||||
attribute hal_dms_server;
|
||||
6
sepolicy/vendor/file_contexts
vendored
6
sepolicy/vendor/file_contexts
vendored
@@ -10,6 +10,9 @@
|
||||
# Display
|
||||
/sys/devices/platform/soc/[a-z0-9]+.qcom,mdss_mdp/drm/card([0-3])+/card([0-3])+-DSI-1/disp_param u:object_r:vendor_sysfs_graphics:s0
|
||||
|
||||
# Dolby
|
||||
/data/vendor/dolby(/.*)? u:object_r:vendor_data_file:s0
|
||||
|
||||
# Fingerprint
|
||||
/vendor/bin/hw/android\.hardware\.biometrics\.fingerprint-service\.xiaomi u:object_r:hal_fingerprint_default_exec:s0
|
||||
|
||||
@@ -31,6 +34,9 @@
|
||||
# (e.g. Google Camera App)
|
||||
/mnt/vendor/dsp/fastrpc_shell_3 u:object_r:public_adsprpcd_file:s0
|
||||
|
||||
# Hals (Dolby)
|
||||
/vendor/bin/hw/vendor\.dolby\.hardware\.dms@2\.0-service u:object_r:hal_dms_default_exec:s0
|
||||
|
||||
# IR
|
||||
/dev/spidev[0-9]\.1 u:object_r:lirc_device:s0
|
||||
|
||||
|
||||
4
sepolicy/vendor/hal_audio_default.te
vendored
4
sepolicy/vendor/hal_audio_default.te
vendored
@@ -10,3 +10,7 @@ set_prop(hal_audio_default, vendor_audio_prop)
|
||||
|
||||
allow hal_audio_default audio_socket:sock_file rw_file_perms;
|
||||
allow hal_audio_default system_suspend_hwservice:hwservice_manager find;
|
||||
|
||||
# Dolby
|
||||
allow hal_audio_default hal_dms_hwservice:hwservice_manager find;
|
||||
binder_call(hal_audio_default, hal_dms_default)
|
||||
|
||||
6
sepolicy/vendor/hal_dms.te
vendored
Normal file
6
sepolicy/vendor/hal_dms.te
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
# HwBinder IPC from client to server, and callbacks
|
||||
binder_call(hal_dms_client, hal_dms_server)
|
||||
binder_call(hal_dms_server, hal_dms_client)
|
||||
|
||||
add_hwservice(hal_dms_server, hal_dms_hwservice)
|
||||
allow hal_dms_client hal_dms_hwservice:hwservice_manager find;
|
||||
10
sepolicy/vendor/hal_dms_default.te
vendored
Normal file
10
sepolicy/vendor/hal_dms_default.te
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
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)
|
||||
|
||||
allow hal_dms_default vendor_data_file:file { rw_file_perms create unlink };
|
||||
allow hal_dms_default vendor_data_file:dir { rw_file_perms add_name remove_name };
|
||||
allow hal_dms_default mediacodec:binder call;
|
||||
binder_call(hal_dms_default, hal_audio_default)
|
||||
binder_call(hal_dms_default, platform_app)
|
||||
3
sepolicy/vendor/hwservice.te
vendored
3
sepolicy/vendor/hwservice.te
vendored
@@ -1,2 +1,5 @@
|
||||
type hal_rilnv_hwservice, hwservice_manager_type;
|
||||
type nxpese_hwservice, hwservice_manager_type;
|
||||
|
||||
# Dolby
|
||||
type hal_dms_hwservice, hwservice_manager_type;
|
||||
|
||||
3
sepolicy/vendor/hwservice_contexts
vendored
3
sepolicy/vendor/hwservice_contexts
vendored
@@ -1,3 +1,6 @@
|
||||
# Dolby
|
||||
vendor.dolby.hardware.dms::IDms u:object_r:hal_dms_hwservice:s0
|
||||
|
||||
# Fingerprint
|
||||
vendor.goodix.hardware.biometrics.fingerprint::IGoodixFingerprintDaemon u:object_r:hal_fingerprint_hwservice:s0
|
||||
vendor.qti.hardware.fingerprintext::IWTFingerprint u:object_r:hal_fingerprint_hwservice:s0
|
||||
|
||||
5
sepolicy/vendor/mediacodec.te
vendored
Normal file
5
sepolicy/vendor/mediacodec.te
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
allow mediacodec hal_dms_hwservice:hwservice_manager find;
|
||||
binder_call(mediacodec, hal_dms_default)
|
||||
|
||||
allow mediacodec hal_dms_default:binder { call transfer };
|
||||
allow mediacodec hal_dms_server:binder { call transfer };
|
||||
1
sepolicy/vendor/vendor_init.te
vendored
1
sepolicy/vendor/vendor_init.te
vendored
@@ -1,5 +1,6 @@
|
||||
set_prop(vendor_init, vendor_alarm_boot_prop)
|
||||
set_prop(vendor_init, vendor_camera_prop)
|
||||
set_prop(vendor_init, vendor_camera_remapid_prop)
|
||||
set_prop(vendor_init, vendor_video_prop)
|
||||
set_prop(vendor_init, vendor_fingerprint_prop)
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Camera
|
||||
persist.vendor.camera.privapp.list=org.codeaurora.snapcam,com.android.camera
|
||||
vendor.camera.aux.packagelist=org.codeaurora.snapcam,com.android.camera
|
||||
vendor.camera.aux.packageexcludelist=org.telegram.messenger,org.thunderdog.challegram,us.zoom.videomeetings
|
||||
|
||||
# CNE
|
||||
persist.vendor.cne.feature=1
|
||||
|
||||
19
vendor.prop
19
vendor.prop
@@ -168,7 +168,9 @@ debug.egl.hw=0
|
||||
debug.force_no_blanking=true
|
||||
debug.mdpcomp.logs=0
|
||||
debug.sf.hw=0
|
||||
debug.sf.disable_client_composition_cache=1
|
||||
debug.sf.disable_client_composition_cache=0
|
||||
debug.sf.enable_adpf_cpu_hint=true
|
||||
debug.sf.enable_gl_backpressure=0
|
||||
persist.sys.sf.color_mode=0
|
||||
persist.sys.sf.color_saturation=1.0
|
||||
persist.sys.sf.native_mode=2
|
||||
@@ -202,6 +204,10 @@ persist.vendor.sensors.support_direct_channel=false
|
||||
ro.com.android.dataroaming=true
|
||||
ro.telephony.default_network=22,22
|
||||
|
||||
# ScrollOptimizer
|
||||
persist.sys.perf.scroll_opt=true
|
||||
persist.sys.perf.scroll_opt.heavy_app=1
|
||||
|
||||
# SurfaceFlinger
|
||||
ro.surface_flinger.force_hwc_copy_for_virtual_displays=true
|
||||
ro.surface_flinger.max_frame_buffer_acquired_buffers=3
|
||||
@@ -210,8 +216,17 @@ ro.surface_flinger.protected_contents=true
|
||||
ro.surface_flinger.enable_frame_rate_override=false
|
||||
|
||||
# USB
|
||||
sys.usb.mtp.batchcancel=1
|
||||
vendor.usb.controller=4e00000.dwc3
|
||||
vendor.usb.device=4e00000.ssusb
|
||||
vendor.usb.diag.func.name=diag
|
||||
vendor.usb.use_ffs_mtp=0
|
||||
vendor.usb.dpl.inst.name=dpl
|
||||
vendor.usb.qdss.inst.name=qdss
|
||||
vendor.usb.rmnet.func.name=gsi
|
||||
vendor.usb.rmnet.inst.name=rmnet
|
||||
vendor.usb.rndis.func.name=gsi
|
||||
vendor.usb.use_ffs_mtp=1
|
||||
vendor.usb.use_gadget_hal=1
|
||||
|
||||
# Zygote
|
||||
zygote.critical_window.minute=10
|
||||
|
||||
Reference in New Issue
Block a user