Compare commits

12 Commits
vic ... bka

Author SHA1 Message Date
64886f5410 cmi: overlay-lineage: Enable screen-off UDFPS support 2025-11-27 10:17:55 +00:00
fe5daa7ee0 cmi: Welcome Evolution X 2025-11-17 20:51:59 +00:00
428d93be6d cmi: Spoof BuildFingerprint as Pixel Beta
* It is necessary to pass integrity with the built-in Keybox Importer, as our stock fingerprint is not Valid
2025-11-17 20:51:59 +00:00
c54711f716 cmi: Add namespace for missing module needed by libmialgoengine.so
Module "libmialgoengine" is defined in namespace "vendor/xiaomi/cmi" which can read these 6 namespaces: ["vendor/xiaomi/cmi" "hardware/qcom-caf/common/libqti-perfd-client" "hardware/xiaomi"
"vendor/qcom/opensource/display" "vendor/xiaomi/sm8250-common" "."]
Module "libgrallocutils" can be found in these namespaces: ["hardware/qcom-caf/msm8996" "hardware/qcom-caf/msm8998" "hardware/qcom-caf/sdm845" "hardware/qcom-caf/sm8150" "hardware/qcom-caf/s
m8250" "hardware/qcom-caf/sm8350" "hardware/qcom-caf/sm8450" "hardware/qcom-caf/sm8550" "hardware/qcom-caf/sm8650" "hardware/qcom-caf/sm8750" "hardware/qcom/sdm845" "hardware/qcom/sm7250/dis
play" "hardware/qcom/sm8150/display"]
2025-11-17 20:51:59 +00:00
6d6b982d16 cmi: Move/Add missing files for MiuiCamera
- Move common files to MiuiCamera Package
- vendor/lib64/libarcsat.so is a common file and already included in device/xiaomi/camera
2025-11-17 20:51:58 +00:00
9df4221587 cmi: Add MiuiCamera Package 2025-11-17 16:32:19 +00:00
ad1cad3b6f cmi: Move buildflags > lineage_cmi.mk 2025-11-17 16:32:19 +00:00
9a6601be7d cmi: Drop specific kernel config 2025-11-17 16:32:19 +00:00
4a16c82023 cmi: switch to device extract only 2025-11-17 16:32:16 +00:00
johnmart19
1dea32ded8 cmi: Patch audio library for VNDK 34
VNDK 36 crashing:
Revision: '0'
ABI: 'arm'
Timestamp: 2025-06-19 09:37:19.685329738+0300
Process uptime: 0s
Cmdline: /vendor/bin/hw/android.hardware.audio.service
pid: 1093, tid: 1180, name: HwBinder:1093_2  >>> /vendor/bin/hw/android.hardware.audio.service <<<
uid: 1041
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x00000040
Cause: null pointer dereference
    r0  00000000  r1  f3cc0730  r2  00000003  r3  00000003
    r4  f418f780  r5  00000024  r6  00000001  r7  00000000
    r8  f3aacbf4  r9  f3f8600c  r10 f418f780  r11 f418f780
    ip  f2166a38  sp  f27ff4f8  lr  f216409f  pc  f2133588

Requires Evolution-X/hardware_lineage_compat@51c1ec2 to work
2025-11-17 16:32:16 +00:00
Demon000
6ab2148f84 cmi: Support UDFPS on AoD 2025-11-17 16:32:06 +00:00
Sebastiano Barezzi
f696869498 cmi: Move to the new libinit implementation
Change-Id: I4207a94ff62f0c515c91e186f0ace348c6db7b1d
2025-10-28 02:26:39 +01:00
11 changed files with 89 additions and 38 deletions

View File

@@ -12,9 +12,6 @@ DEVICE_PATH := device/xiaomi/cmi
# Display # Display
TARGET_SCREEN_DENSITY := 440 TARGET_SCREEN_DENSITY := 440
# Kernel
TARGET_KERNEL_CONFIG += vendor/xiaomi/cmi.config
# OTA assert # OTA assert
TARGET_OTA_ASSERT_DEVICE := cmi TARGET_OTA_ASSERT_DEVICE := cmi

View File

@@ -0,0 +1,4 @@
sensors.elliptic.so
sensors.ssc.so
sensors.touch.so
sensors.udfps.so

View File

@@ -4,9 +4,6 @@
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
# Fingerprint
TARGET_HAS_UDFPS := true
# Inherit from sm8250-common # Inherit from sm8250-common
$(call inherit-product, device/xiaomi/sm8250-common/kona.mk) $(call inherit-product, device/xiaomi/sm8250-common/kona.mk)
@@ -18,10 +15,6 @@ PRODUCT_AAPT_PREF_CONFIG := xxhdpi
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/audio/,$(TARGET_COPY_OUT_VENDOR)/etc) $(call find-copy-subdir-files,*,$(LOCAL_PATH)/audio/,$(TARGET_COPY_OUT_VENDOR)/etc)
# Boot animation
TARGET_SCREEN_HEIGHT := 2340
TARGET_SCREEN_WIDTH := 1080
# Camera # Camera
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
libMegviiFacepp-0.5.2 \ libMegviiFacepp-0.5.2 \
@@ -33,7 +26,7 @@ PRODUCT_COPY_FILES += \
$(call find-copy-subdir-files,qdcm_calib_data_*.xml,$(LOCAL_PATH)/qdcm/,$(TARGET_COPY_OUT_VENDOR)/etc/) $(call find-copy-subdir-files,qdcm_calib_data_*.xml,$(LOCAL_PATH)/qdcm/,$(TARGET_COPY_OUT_VENDOR)/etc/)
# Init # Init
$(call soong_config_set,libinit,vendor_init_lib,//$(LOCAL_PATH):init_xiaomi_cmi) $(call soong_config_set,xiaomi_kona,variant_lib,//$(LOCAL_PATH):libvariant_xiaomi_cmi)
# Overlays # Overlays
DEVICE_PACKAGE_OVERLAYS += \ DEVICE_PACKAGE_OVERLAYS += \
@@ -57,6 +50,10 @@ $(call soong_config_set,lineage_powershare,powershare_path,/sys/class/power_supp
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
init.device.rc init.device.rc
# Sensors
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/sensors/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf
# Soong namespaces # Soong namespaces
PRODUCT_SOONG_NAMESPACES += \ PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH) $(LOCAL_PATH)

37
evolution.dependencies Normal file
View File

@@ -0,0 +1,37 @@
[
{
"repository": "device_xiaomi_sm8250-common",
"target_path": "device/xiaomi/sm8250-common"
},
{
"repository": "SM8250-Development/vendor_xiaomi_sm8250-common",
"target_path": "vendor/xiaomi/sm8250-common",
"remote": "gitlab"
},
{
"repository": "SM8250-Development/vendor_xiaomi_cmi",
"target_path": "vendor/xiaomi/umi",
"remote": "gitlab"
},
{
"repository": "SM8250-Development/kernel_xiaomi_sm8250",
"target_path": "kernel/xiaomi/sm8250",
"remote": "github-non-los"
},
{
"repository": "hardware_xiaomi",
"target_path": "hardware/xiaomi"
},
{
"repository": "Xiaomi-Development/device_xiaomi_camera",
"target_path": "device/xiaomi/camera",
"remote": "github-non-los",
"branch": "aosp-16"
},
{
"repository": "xiaomi-development/vendor_xiaomi_camera",
"target_path": "vendor/xiaomi/camera",
"remote": "gitlab",
"branch": "aosp-16"
}
]

View File

@@ -23,7 +23,10 @@ blob_fixups: blob_fixups_user_type = {
.binary_regex_replace( .binary_regex_replace(
b'/vendor/lib/liba2dpoffload.so', b'/vendor/lib/liba2dpoffload.so',
b'liba2dpoffload_cmi.so\x00\x00\x00\x00\x00\x00\x00\x00', b'liba2dpoffload_cmi.so\x00\x00\x00\x00\x00\x00\x00\x00',
), )
.replace_needed('libaudioroute.so', 'libaudioroute-v34.so'),
'vendor/lib/libaudioroute_ext.so': blob_fixup()
.replace_needed('libaudioroute.so', 'libaudioroute-v34.so'),
'vendor/lib64/camera/components/com.mi.node.watermark.so': blob_fixup() 'vendor/lib64/camera/components/com.mi.node.watermark.so': blob_fixup()
.add_needed('libpiex_shim.so'), .add_needed('libpiex_shim.so'),
( (
@@ -53,6 +56,7 @@ blob_fixups: blob_fixups_user_type = {
namespace_imports = [ namespace_imports = [
'hardware/qcom-caf/common/libqti-perfd-client', 'hardware/qcom-caf/common/libqti-perfd-client',
'hardware/qcom-caf/sm8250',
'hardware/xiaomi', 'hardware/xiaomi',
'vendor/qcom/opensource/display', 'vendor/qcom/opensource/display',
'vendor/xiaomi/sm8250-common', 'vendor/xiaomi/sm8250-common',
@@ -67,5 +71,5 @@ module = ExtractUtilsModule(
) )
if __name__ == '__main__': if __name__ == '__main__':
utils = ExtractUtils.device_with_common(module, 'sm8250-common', module.vendor) utils = ExtractUtils.device(module)
utils.run() utils.run()

View File

@@ -1,13 +1,12 @@
// //
// Copyright (C) 2021 The LineageOS Project // Copyright (C) 2021-2025 The LineageOS Project
// //
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
// //
cc_library_static { cc_library_static {
name: "init_xiaomi_cmi", name: "libvariant_xiaomi_cmi",
srcs: ["init_xiaomi_cmi.cpp"], srcs: ["libvariant_xiaomi_cmi.cpp"],
whole_static_libs: ["//device/xiaomi/sm8250-common:libinit_xiaomi_kona"], header_libs: ["//device/xiaomi/sm8250-common:libvariant_headers"],
include_dirs: ["system/core/init"],
recovery_available: true, recovery_available: true,
} }

View File

@@ -1,15 +1,12 @@
/* /*
* Copyright (C) 2021 The LineageOS Project * Copyright (C) 2021-2025 The LineageOS Project
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
#include <libinit_dalvik_heap.h> #include <libvariant.h>
#include <libinit_variant.h>
#include "vendor_init.h" static const variant_info cmi_info = {
static const variant_info_t cmi_info = {
.hwc_value = "", .hwc_value = "",
.sku_value = "", .sku_value = "",
@@ -22,7 +19,6 @@ static const variant_info_t cmi_info = {
.nfc = true, .nfc = true,
}; };
void vendor_load_properties() { const std::vector<variant_info> variants = {
set_variant_props(cmi_info); cmi_info,
set_dalvik_heap(); };
}

View File

@@ -1,6 +0,0 @@
[
{
"repository": "android_device_xiaomi_sm8250-common",
"target_path": "device/xiaomi/sm8250-common"
}
]

View File

@@ -14,6 +14,18 @@ $(call inherit-product, vendor/lineage/config/common_full_phone.mk)
# Inherit from cmi device # Inherit from cmi device
$(call inherit-product, device/xiaomi/cmi/device.mk) $(call inherit-product, device/xiaomi/cmi/device.mk)
# Camera
include device/xiaomi/camera/miuicamera.mk
# Build Flags
TARGET_SCREEN_HEIGHT := 2340
TARGET_SCREEN_WIDTH := 1080
TARGET_USES_MINI_GAPPS := true
TARGET_BUILD_DEVICE_AS_WEBCAM := true
TARGET_HAS_UDFPS := true
TARGET_INCLUDE_ACCORD := false
BUILD_BCR := true
PRODUCT_NAME := lineage_cmi PRODUCT_NAME := lineage_cmi
PRODUCT_DEVICE := cmi PRODUCT_DEVICE := cmi
PRODUCT_MANUFACTURER := Xiaomi PRODUCT_MANUFACTURER := Xiaomi
@@ -24,4 +36,3 @@ PRODUCT_GMS_CLIENTID_BASE := android-xiaomi
PRODUCT_BUILD_PROP_OVERRIDES += \ PRODUCT_BUILD_PROP_OVERRIDES += \
BuildDesc="cmi-user 13 RKQ1.211001.001 V816.0.2.0.TJAMIXM release-keys" \ BuildDesc="cmi-user 13 RKQ1.211001.001 V816.0.2.0.TJAMIXM release-keys" \
BuildFingerprint=Xiaomi/cmi_global/cmi:13/RKQ1.211001.001/V816.0.2.0.TJAMIXM:user/release-keys

View File

@@ -445,6 +445,12 @@
<!-- How long it takes for the HW to start illuminating after the illumination is requested. --> <!-- How long it takes for the HW to start illuminating after the illumination is requested. -->
<integer name="config_udfps_illumination_transition_ms">0</integer> <integer name="config_udfps_illumination_transition_ms">0</integer>
<!-- Type of the udfps long press sensor. Empty if long press is not supported. -->
<string name="config_dozeUdfpsLongPressSensorType" translatable="false">org.lineageos.sensor.udfps</string>
<!-- Whether to enable fp unlock when screen turns off on udfps devices -->
<bool name="config_screen_off_udfps_enabled">true</bool>
<!-- The bounding path of the cutout region of the main built-in display. <!-- The bounding path of the cutout region of the main built-in display.
Must either be empty if there is no cutout region, or a string that is parsable by Must either be empty if there is no cutout region, or a string that is parsable by
{@link android.util.PathParser}. {@link android.util.PathParser}.

View File

@@ -47,8 +47,8 @@ vendor/lib/rfsa/adsp/misound_res.bin
# Audio # Audio
vendor/lib/hw/audio.primary.kona.so:vendor/lib/hw/audio.primary.cmi.so;FIX_SONAME vendor/lib/hw/audio.primary.kona.so:vendor/lib/hw/audio.primary.cmi.so;FIX_SONAME
vendor/lib/vndk/libxlog.so
vendor/lib/liba2dpoffload.so:vendor/lib/liba2dpoffload_cmi.so;FIX_SONAME vendor/lib/liba2dpoffload.so:vendor/lib/liba2dpoffload_cmi.so;FIX_SONAME
vendor/lib/vndk/libxlog.so
vendor/lib/libaudio_log_utils.so vendor/lib/libaudio_log_utils.so
vendor/lib/libaudiocloudctrl.so vendor/lib/libaudiocloudctrl.so
vendor/lib/libaudioconfigstore.so vendor/lib/libaudioconfigstore.so
@@ -134,14 +134,17 @@ vendor/lib64/com.qti.feature2.softispsupernight.so
vendor/lib64/com.qti.feature2.sr.so vendor/lib64/com.qti.feature2.sr.so
vendor/lib64/com.qti.feature2.stub.so vendor/lib64/com.qti.feature2.stub.so
vendor/lib64/com.qti.feature2.swmf.so vendor/lib64/com.qti.feature2.swmf.so
vendor/lib64/libHalSuperSensorServer.so
vendor/lib64/libMIAIHDRhvx_interface.so vendor/lib64/libMIAIHDRhvx_interface.so
vendor/lib64/libSNPE.so vendor/lib64/libSNPE.so
vendor/lib64/libSuperSensor.so
vendor/lib64/libSuperSensorCPU.so
vendor/lib64/libalAILDC.so vendor/lib64/libalAILDC.so
vendor/lib64/libalCFR.so
vendor/lib64/libalLDC.so vendor/lib64/libalLDC.so
vendor/lib64/libalhLDC.so vendor/lib64/libalhLDC.so
vendor/lib64/libarcdualcamsat.so vendor/lib64/libarcdualcamsat.so
vendor/lib64/libarcmulticamsat.so vendor/lib64/libarcmulticamsat.so
vendor/lib64/libarcsat.so
vendor/lib64/libarcsoft_beautyshot.so vendor/lib64/libarcsoft_beautyshot.so
vendor/lib64/libarcsoft_bodyslim.so vendor/lib64/libarcsoft_bodyslim.so
vendor/lib64/libarcsoft_distortion_correction.so vendor/lib64/libarcsoft_distortion_correction.so
@@ -176,6 +179,7 @@ vendor/lib64/libfocus.so
vendor/lib64/libft2vendor.so vendor/lib64/libft2vendor.so
vendor/lib64/libhta.so vendor/lib64/libhta.so
vendor/lib64/libipebpsstriping.so vendor/lib64/libipebpsstriping.so
vendor/lib64/libmialgo_ie_capture.so
vendor/lib64/libmialgo_ie_preview.so vendor/lib64/libmialgo_ie_preview.so
vendor/lib64/libmialgo_image_colourkeeping.so vendor/lib64/libmialgo_image_colourkeeping.so
vendor/lib64/libmialgo_rfs.so vendor/lib64/libmialgo_rfs.so
@@ -184,6 +188,7 @@ vendor/lib64/libmialgo_utils.so
vendor/lib64/libmialgo_video_colourkeeping.so vendor/lib64/libmialgo_video_colourkeeping.so
vendor/lib64/libmialgo_video_enhance.so vendor/lib64/libmialgo_video_enhance.so
vendor/lib64/libmialgo_video_seg.so vendor/lib64/libmialgo_video_seg.so
vendor/lib64/libmialgoengine.so
vendor/lib64/libmibokeh_845_video.so vendor/lib64/libmibokeh_845_video.so
vendor/lib64/libmibokeh_855.so vendor/lib64/libmibokeh_855.so
vendor/lib64/libmpbase.so vendor/lib64/libmpbase.so
@@ -193,6 +198,7 @@ vendor/lib64/libmulticam_video_optical_zoom.so
vendor/lib64/libnpu.so vendor/lib64/libnpu.so
vendor/lib64/libofflinelog.so vendor/lib64/libofflinelog.so
vendor/lib64/libos.so vendor/lib64/libos.so
vendor/lib64/librelight_only.so
vendor/lib64/libremosaic_wrapper.so vendor/lib64/libremosaic_wrapper.so
vendor/lib64/libremosaichvx_stub.so vendor/lib64/libremosaichvx_stub.so
vendor/lib64/libremosaiclib.so vendor/lib64/libremosaiclib.so
@@ -204,6 +210,7 @@ vendor/lib64/libsnpe_dsp_domains_v2_system.so
vendor/lib64/libsns_registry_skel.so vendor/lib64/libsns_registry_skel.so
vendor/lib64/libst_soft_isp_calc_exposure_shared.so vendor/lib64/libst_soft_isp_calc_exposure_shared.so
vendor/lib64/libst_soft_isp_shared.so vendor/lib64/libst_soft_isp_shared.so
vendor/lib64/libsupermoon.so
vendor/lib64/libsymphony-cpu.so vendor/lib64/libsymphony-cpu.so
vendor/lib64/libsynx.so vendor/lib64/libsynx.so
vendor/lib64/libthreadutils.so vendor/lib64/libthreadutils.so
@@ -409,7 +416,6 @@ vendor/etc/init/init.vendor.sensors.rc
vendor/etc/init/vendor.qti.hardware.sensorscalibrate@1.0-service.rc vendor/etc/init/vendor.qti.hardware.sensorscalibrate@1.0-service.rc
vendor/etc/init/vendor.sensors.qti.rc vendor/etc/init/vendor.sensors.qti.rc
vendor/etc/init/vendor.sensors.sscrpcd.rc vendor/etc/init/vendor.sensors.sscrpcd.rc
vendor/etc/sensors/hals.conf
vendor/lib64/hw/vendor.qti.hardware.sensorscalibrate@1.0-impl.so vendor/lib64/hw/vendor.qti.hardware.sensorscalibrate@1.0-impl.so
vendor/lib64/libnotifyaudiohal.so vendor/lib64/libnotifyaudiohal.so
vendor/lib64/libsensorcal.so vendor/lib64/libsensorcal.so