21 Commits
vic ... udc

Author SHA1 Message Date
Sal Savage
b77ddbe80f venus: Replace BTM_DEF_LOCAL_NAME with a sysprop
Change-Id: I2c90efac01e61500eb1be23bb0ae6f96c2acdc53
2024-10-22 15:37:27 +09:00
ralph950412
20c388db9d venus: Add libmialgo_basic
Change-Id: Ibc30774aee0ba19138b3dd3cc06092892c1d7b90
2024-10-22 15:37:08 +09:00
ralph950412
459f332e94 venus: Inherit miuicamera if it exists
Change-Id: I2eeb1a4979fa97faab7dd09ef80f1b91646e2cff
2024-10-22 15:37:07 +09:00
00f686b741 venus: Initialize for Evolution X 9.x 2024-10-22 15:36:56 +09:00
FlowerSea0208
25d71de71c venus: Update proprietary-files list
Sort, add missing lib, remove duplicate display configs

Change-Id: I24c52d29191316458322ae2a6b33bef8d4d6906d
2024-10-22 15:36:39 +09:00
Arian
ce7ea491ee venus: Enable udfps sensor
Change-Id: If133c8ec034c7e419a76d348dd3179edbe801946
2024-10-22 15:36:39 +09:00
Arian
d7b95ff9ea venus: sensors: Add v2 suffix to sensors.xiaomi
Change-Id: Ie6ef0e5fd4653eae298a3455edf14e05508e1cfd
2024-10-22 15:36:39 +09:00
FlowerSea0208
f90aabcde2 Revert "venus: Import udfps long press sensor"
This reverts commit bf08d53168.
2024-10-22 15:36:39 +09:00
FlowerSea0208
d35ff665b9 venus: Fix soname of fingerprint.goodix_fod.lahaina
Change-Id: I3d740998e48b483cd455d1d60d75a31962367355
2024-10-22 15:36:39 +09:00
FlowerSea0208
4ac9060d9a venus: Unpin fingerprint blobs
Change-Id: I73d27a13b8c3a7f56a61397e4dd452b621c38d6c
2024-10-22 15:36:39 +09:00
Michael Bestas
9cbe1a3a85 venus: Disable ELF checks for certain libraries
Change-Id: I61dbc3559b43becc22f69ae2c1c3e8edf95e2483
2024-10-22 15:36:39 +09:00
FlowerSea0208
6b23e762a8 venus: Drop unnecessary fingerprint HAL dependency
Change-Id: If47c012af4e1fed6bc6a9c956c40e1f820694179
2024-10-22 15:36:39 +09:00
FlowerSea0208
9997e198d3 venus: Switch to source-built fx.tunnel interface
Change-Id: I1b96a1df3758106b7516ee7b9ac90bd9374f6d1c
2024-10-22 15:36:39 +09:00
FlowerSea0208
6d064f64f6 venus: Decommonize citsensorservice
Change-Id: If086a47845ebc06f81576aed81dad2c0d842a4d5
2024-10-22 15:36:39 +09:00
FlowerSea0208
d4bf17ffb8 venus: Fix soname
Change-Id: Ieaa6d07a5c7a45dbf804587bfce68fef4fa4fc34
2024-10-22 15:36:39 +09:00
FlowerSea0208
c12e668f73 venus: Updated from venus OS1.0.6.0.UKBMIXM
Change-Id: Iad22455244f7d11305e9cbe96cb85d8ebdb448b8
2024-10-22 15:36:39 +09:00
Michael Bestas
338a470ffb venus: Sync extract scripts with templates
Change-Id: I98a36854c5a0c0390592911bb2558b34eff77efc
2024-10-22 15:36:39 +09:00
FlowerSea0208
071fcecffd venus: Switch to common lineage Powershare hal
Change-Id: Ie5ed9e80b370717d2700eb7d86221d856d435b29
2024-10-22 15:36:39 +09:00
FlowerSea0208
5fc8327132 venus: Updated from venus OS1.0.5.0.UKBMIXM 2024-10-22 15:36:39 +09:00
SGCMarkus
aa21124e80 venus: unset BOARD_USERDATAIMAGE_PARTITION_SIZE
This not only saves a lot of build time when building with
TARGET_USERIMAGES_SPARSE_EXT_DISABLED and/or
TARGET_USERIMAGES_SPARSE_F2FS_DISABLED which is required
on A14, but also removes the need for the build system to
temporarily create a 40+GB userdata image.
Which means that less free space is required to start the
build.

Change-Id: Ibf48e7cdf566a4653e85352a79170b354d917234
2024-10-22 15:36:33 +09:00
Flower sea
e01a396e19 fixup! venus: Set stock TARGET_DEVICE and TARGET_PRODUCT 2024-10-22 15:36:24 +09:00
18 changed files with 150 additions and 159 deletions

View File

@@ -6,3 +6,8 @@
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/lineage_venus.mk
COMMON_LUNCH_CHOICES := \
lineage_venus-user \
lineage_venus-userdebug \
lineage_venus-eng

View File

@@ -1,29 +0,0 @@
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<!-- Copyright (C) 2020 Google Inc.
Copyright (C) 2022 The Pixel Experience Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<displayConfiguration>
<screenBrightnessRampFastDecrease>0.5</screenBrightnessRampFastDecrease>
<screenBrightnessRampFastIncrease>0.5</screenBrightnessRampFastIncrease>
<screenBrightnessRampSlowDecrease>0.04</screenBrightnessRampSlowDecrease>
<screenBrightnessRampSlowIncrease>0.05</screenBrightnessRampSlowIncrease>
<screenBrightnessMap>
<point>
<value>0.0</value>
<nits>2</nits>
</point>
<point>
<value>1.0</value>
<nits>1000.0</nits>
</point>
</screenBrightnessMap>
</displayConfiguration>

View File

@@ -9,12 +9,6 @@ $(call inherit-product, device/xiaomi/sm8350-common/common.mk)
# Inherit from miuicamera-venus
$(call inherit-product-if-exists, device/xiaomi/miuicamera-venus/device.mk)
$(call soong_config_set,camera,override_format_from_reserved,true)
$(call soong_config_set,camera,package_name,com.android.camera)
# Display Device Config
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/display_id_4630946736638489730.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/displayconfig/display_id_4630946736638489730.xml
# Fingerprint
PRODUCT_PACKAGES += \
@@ -27,7 +21,7 @@ DEVICE_PACKAGE_OVERLAYS += \
# PowerShare
PRODUCT_PACKAGES += \
vendor.lineage.powershare-service.default
vendor.lineage.powershare@1.0-service.default
# Sensors
PRODUCT_PACKAGES += \
@@ -40,10 +34,6 @@ PRODUCT_COPY_FILES += \
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH)
# Shim
PRODUCT_PACKAGES += \
libprocessgroup_shim
# Rootdir
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/rootdir/etc/init.venus.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.venus.rc

View File

@@ -21,14 +21,17 @@
},
{
"repository": "vendor_xiaomi_miuicamera-venus",
"target_path": "vendor/xiaomi/miuicamera-venus"
"target_path": "vendor/xiaomi/miuicamera-venus",
"remote": "evo-main"
},
{
"repository": "packages_apps_ViPER4AndroidFX",
"target_path": "packages/apps/ViPER4AndroidFX"
},
{
"repository": "kernel_xiaomi_venus",
"target_path": "kernel/xiaomi/sm8350"
"repository": "crdroidandroid/android_kernel_xiaomi_sm8350",
"target_path": "kernel/xiaomi/sm8350",
"remote": "github-non-los",
"branch": "14.0"
}
]

View File

@@ -1,81 +0,0 @@
#!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3
#
# SPDX-FileCopyrightText: 2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
from extract_utils.fixups_blob import (
blob_fixup,
blob_fixups_user_type,
)
from extract_utils.fixups_lib import (
lib_fixups,
lib_fixups_user_type,
)
from extract_utils.main import (
ExtractUtils,
ExtractUtilsModule,
)
namespace_imports = [
'hardware/qcom-caf/sm8350',
'hardware/xiaomi',
'vendor/qcom/opensource/display',
'vendor/xiaomi/sm8350-common',
'vendor/xiaomi/venus',
]
def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
return f'{lib}_{partition}' if partition == 'vendor' else None
lib_fixups: lib_fixups_user_type = {
**lib_fixups,
(
): lib_fixup_vendor_suffix,
}
blob_fixups: blob_fixups_user_type = {
'vendor/etc/camera/pureShot_parameter.xml': blob_fixup()
.regex_replace(r'=(\d+)>', r'="\1">'),
'vendor/etc/libnfc-nxp.conf': blob_fixup()
.regex_replace(r'NXP_T4T_NFCEE_ENABLE=0x01', r'NXP_T4T_NFCEE_ENABLE=0x00'),
'vendor/lib64/hw/camera.qcom.so': blob_fixup()
.binary_regex_replace(b'\x73\x74\x5F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x6C\x69\x63', b'\x63\x61\x6D\x65\x72\x61\x5F\x63\x6E\x66\x2E\x74\x78\x74')
.add_needed('libprocessgroup_shim.so'),
'vendor/lib64/hw/camera.xiaomi.so': blob_fixup()
.sig_replace('AA 06 00 94', '1F 20 03 D5'),
'vendor/lib64/hw/com.qti.chi.override.so': blob_fixup()
.add_needed('libprocessgroup_shim.so'),
('vendor/lib64/libalLDC.so', 'vendor/lib64/libalhLDC.so'): blob_fixup()
.clear_symbol_version('AHardwareBuffer_allocate')
.clear_symbol_version('AHardwareBuffer_describe')
.clear_symbol_version('AHardwareBuffer_lock')
.clear_symbol_version('AHardwareBuffer_release')
.clear_symbol_version('AHardwareBuffer_unlock'),
('vendor/lib64/libarcsoft_hdrplus_hvx_stub.so', 'vendor/lib64/libarcsoft_super_night_raw.so', 'vendor/lib64/libmialgo_rfs.so', 'vendor/lib64/libmiphone_preview_bokeh.so'): blob_fixup()
.clear_symbol_version('remote_handle_close')
.clear_symbol_version('remote_handle_invoke')
.clear_symbol_version('remote_handle_open')
.clear_symbol_version('remote_handle64_close')
.clear_symbol_version('remote_handle64_invoke')
.clear_symbol_version('remote_handle64_open')
.clear_symbol_version('remote_register_buf_attr')
.clear_symbol_version('remote_session_control'),
'vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so': blob_fixup()
.sig_replace('8D 0A 00 94', '1F 20 03 D5'),
'vendor/lib64/vendor.xiaomi.hardware.cameraperf@1.0-impl.so': blob_fixup()
.sig_replace('21 00 80 52 7C 00 00 94', '21 00 80 52 1F 20 03 D5'),
} # fmt: skip
module = ExtractUtilsModule(
'venus',
'xiaomi',
blob_fixups=blob_fixups,
lib_fixups=lib_fixups,
namespace_imports=namespace_imports,
)
if __name__ == '__main__':
utils = ExtractUtils.device(module)
utils.run()

52
extract-files.sh Executable file
View File

@@ -0,0 +1,52 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
function blob_fixup() {
case "${1}" in
vendor/etc/camera/pureShot_parameter.xml)
[ "$2" = "" ] && return 0
sed -i 's/=\([0-9]\+\)>/="\1">/g' "${2}"
;;
vendor/lib64/hw/camera.qcom.so)
[ "$2" = "" ] && return 0
sed -i "s/\x73\x74\x5F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x6C\x69\x63/\x63\x61\x6D\x65\x72\x61\x5F\x63\x6E\x66\x2E\x74\x78\x74/g" "${2}"
;;
vendor/lib64/hw/camera.xiaomi.so)
[ "$2" = "" ] && return 0
"${SIGSCAN}" -p "AA 06 00 94" -P "1F 20 03 D5" -f "${2}"
;;
vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so)
[ "$2" = "" ] && return 0
"${SIGSCAN}" -p "8D 0A 00 94" -P "1F 20 03 D5" -f "${2}"
;;
vendor/lib64/vendor.xiaomi.hardware.cameraperf@1.0-impl.so)
[ "$2" = "" ] && return 0
"${SIGSCAN}" -p "7C 00 00 94" -P "1F 20 03 D5" -f "${2}"
;;
esac
return 0
}
function blob_fixup_dry() {
blob_fixup "$1" ""
}
# If we're being sourced by the common script that we called,
# stop right here. No need to go down the rabbit hole.
if [ "${BASH_SOURCE[0]}" != "${0}" ]; then
return
fi
set -e
export DEVICE=venus
export DEVICE_COMMON=sm8350-common
export VENDOR=xiaomi
export VENDOR_COMMON=${VENDOR}
"./../../${VENDOR_COMMON}/${DEVICE_COMMON}/extract-files.sh" "$@"

6
lineage.dependencies Normal file
View File

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

View File

@@ -26,13 +26,13 @@ PRODUCT_NAME := lineage_venus
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi
SystemName := venus_global
SystemDevice := venus
PRODUCT_SYSTEM_NAME := venus_global
PRODUCT_SYSTEM_DEVICE := venus
PRODUCT_BUILD_PROP_OVERRIDES += \
BuildDesc="venus_global-user 14 UKQ1.231207.002 V816.0.10.0.UKBMIXM release-keys" \
DeviceName=$(SystemDevice) \
DeviceProduct=$(SystemName)
PRIVATE_BUILD_DESC="venus_global-user 14 UKQ1.231207.002 V816.0.6.0.UKBMIXM release-keys" \
TARGET_DEVICE=$(PRODUCT_SYSTEM_DEVICE) \
TARGET_PRODUCT=$(PRODUCT_SYSTEM_NAME)
# Set BUILD_FINGERPRINT variable to be picked up by both system and vendor build.prop
BUILD_FINGERPRINT := Xiaomi/venus_global/venus:14/UKQ1.231207.002/V816.0.10.0.UKBMIXM:user/release-keys
BUILD_FINGERPRINT := Xiaomi/venus_global/venus:14/UKQ1.231207.002/V816.0.6.0.UKBMIXM:user/release-keys

View File

@@ -425,17 +425,12 @@
<string ...>M -5,0 L -5,10 L 5,10 L 5,0 Z @dp</string>
@see https://www.w3.org/TR/SVG/paths.html#PathData
-->
<string translatable="false" name="config_mainBuiltInDisplayCutout">
M 127, 98
a 38, 38 0 1, 0 77,0
a 38, 38 0 1, 0 -77,0
Z
M 0, 0
L 204, 0
Z
M 0, 0
L 0, 147
@left
<string name="config_mainBuiltInDisplayCutout">
M 127,98
a 38,38 0 1 0 77,0
a 38,38 0 1 0 -77,0
Z
@left
</string>
<!-- Whether the display cutout region of the main built-in display should be forced to
@@ -469,6 +464,13 @@
<!-- The default peak refresh rate. -->
<integer name="config_defaultPeakRefreshRate">120</integer>
<!-- The properties of a UDFPS sensor in pixels, in the order listed below: -->
<integer-array name="config_udfps_sensor_props" translatable="false" >
<item>720</item> <!-- <item>sensorLocationX</item> -->
<item>2490</item> <!-- <item>sensorLocationY</item> -->
<item>132</item> <!-- <item>sensorRadius</item> -->
</integer-array>
<!-- How long it takes for the HW to start illuminating after the illumination is requested. -->
<integer name="config_udfps_illumination_transition_ms">0</integer>
</resources>

View File

@@ -16,6 +16,6 @@
Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
-->
<dimen name="status_bar_height_default">30dp</dimen>
<dimen name="status_bar_height_portrait">147px</dimen>
<dimen name="status_bar_height_portrait">137px</dimen>
<dimen name="status_bar_height_landscape">30dp</dimen>
</resources>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="status_bar_padding_top">53px</dimen>
<dimen name="status_bar_padding_top">63px</dimen>
</resources>

View File

@@ -17,7 +17,4 @@
<!-- Location on the screen of the center of the physical power button. This is a reasonable
default that should be overridden by device-specific overlays. -->
<dimen name="physical_power_button_center_screen_location_y">1380px</dimen>
<!-- Pixel pitch of the device. um/px -->
<item name="pixel_pitch" format="float" type="dimen">49.29</item>
</resources>

View File

@@ -5,6 +5,9 @@
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Whether to show Smooth Display feature in Settings Options -->
<bool name="config_show_smooth_display">true</bool>
<!-- The radius of the enrollment progress bar, in dp -->
<integer name="config_udfpsEnrollProgressBar" translatable="false">137</integer>
</resources>

View File

@@ -1,4 +1,4 @@
# These proprietary files are extracted from venus OS2.0.1.0.UKBEUXM, note the pinned blobs
# These proprietary files are extracted from venus OS1.0.6.0.UKBMIXM, note the pinned blobs
# ACDB
vendor/etc/acdbdata/Tutu/Tutu_Bluetooth_cal.acdb
@@ -192,8 +192,8 @@ vendor/lib64/libSNPE.so
vendor/lib64/libaidenoiser.so
vendor/lib64/libalAILDC.so;DISABLE_CHECKELF
vendor/lib64/libalCFR.so
vendor/lib64/libalLDC.so
vendor/lib64/libalhLDC.so
vendor/lib64/libalLDC.so;DISABLE_CHECKELF
vendor/lib64/libalhLDC.so;DISABLE_CHECKELF
vendor/lib64/libbitmlengine.so
vendor/lib64/libblink.so
vendor/lib64/libc++_shared.so
@@ -201,6 +201,9 @@ vendor/lib64/libcamera_dirty.so
vendor/lib64/libcamera_nn_stub.so
vendor/lib64/libcamera_scene.so
vendor/lib64/libcamerapostproc.so
vendor/lib64/libcapiv2svacnn.so
vendor/lib64/libcapiv2svarnn.so
vendor/lib64/libcapiv2vop.so
vendor/lib64/libchilog.so
vendor/lib64/libcom.qti.chinodeutils.so
vendor/lib64/libcvface_api.so
@@ -230,6 +233,7 @@ vendor/lib64/libmibokeh_mask_dsp.so
vendor/lib64/libmiphone_preview_bokeh.so;DISABLE_CHECKELF
vendor/lib64/libmm-color-convertor.so
vendor/lib64/libmpbase.so
vendor/lib64/libnanopb.so
vendor/lib64/libofflinedump.so
vendor/lib64/libofflinelog.so
vendor/lib64/libopencv.so
@@ -240,7 +244,13 @@ vendor/lib64/libqllengine.so;DISABLE_CHECKELF
vendor/lib64/libremosaic_wrapper.so
vendor/lib64/libremosaiclib.so
vendor/lib64/libsnpe_htp.so
vendor/lib64/libsns_api.so
vendor/lib64/libsns_device_mode_stub.so
vendor/lib64/libsns_fastRPC_util.so
vendor/lib64/libsns_low_lat_stream_stub.so
vendor/lib64/libsns_registry_skel.so
vendor/lib64/libsnsapi.so
vendor/lib64/libsnsdiaglog.so
vendor/lib64/libswregistrationalgo.so
vendor/lib64/libsynx.so
vendor/lib64/libtfestriping.so
@@ -266,10 +276,10 @@ vendor/lib64/libarcsoft_dual_sat.so
vendor/lib64/libarcsoft_dual_zoomtranslator.so
vendor/lib64/libarcsoft_dualcam_refocus_image.so
vendor/lib64/libarcsoft_dualcam_refocus_video.so
vendor/lib64/libarcsoft_hdrplus_hvx_stub.so
vendor/lib64/libarcsoft_hdrplus_hvx_stub.so;DISABLE_CHECKELF
vendor/lib64/libarcsoft_portrait_lighting.so
vendor/lib64/libarcsoft_portrait_lighting_c.so
vendor/lib64/libarcsoft_super_night_raw.so
vendor/lib64/libarcsoft_super_night_raw.so;DISABLE_CHECKELF
vendor/lib64/libarcsoft_triple_sat.so
vendor/lib64/libarcsoft_triple_zoomtranslator.so

20
proprietary-firmware.txt Normal file
View File

@@ -0,0 +1,20 @@
## All proprietary files from this list, unless pinned and noted otherwise,
## are from venus OS1.0.6.0.UKBMIXM
abl.img;AB
aop.img;AB
bluetooth.img;AB
cpucp.img;AB
devcfg.img;AB
dsp.img;AB
featenabler.img;AB
hyp.img;AB
imagefv.img;AB
keymaster.img;AB
modem.img;AB
qupfw.img;AB
shrm.img;AB
tz.img;AB
uefisecapp.img;AB
xbl_config.img;AB
xbl.img;AB

View File

@@ -1 +0,0 @@
#!./extract-files.py --regenerate_makefiles

21
setup-makefiles.sh Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
# If we're being sourced by the common script that we called,
# stop right here. No need to go down the rabbit hole.
if [ "${BASH_SOURCE[0]}" != "${0}" ]; then
return
fi
set -e
export DEVICE=venus
export DEVICE_COMMON=sm8350-common
export VENDOR=xiaomi
export VENDOR_COMMON=${VENDOR}
"./../../${VENDOR_COMMON}/${DEVICE_COMMON}/setup-makefiles.sh" "$@"

View File

@@ -1,12 +1,5 @@
# Bluetooth
bluetooth.device.default_name=Mi 11
# Fingerprint
persist.vendor.fingerprint.type=udfps_optical
persist.vendor.fingerprint.sensor_location=720|2490|132
# Sensors
ro.vendor.sensors.xiaomi.udfps=true
# USB
vendor.usb.product_string=Mi 11