20 Commits
bka ... vic

Author SHA1 Message Date
Rodney Etienne
d075507ba7 pyxis: Fix qcom hardware Soong namespace 2025-09-23 13:26:58 -04:00
Rodney Etienne
04225f3de9 pyxis: Add missing commas 2025-09-01 02:50:37 -04:00
Rodney Etienne
d4bce53a4e pyxis: Fix up dependencies 2025-09-01 02:45:19 -04:00
Rodney Etienne
44c44d9ada pyxis: Update dependencies 2025-09-01 00:42:13 -04:00
Rodney Etienne
db8a86c633 pyxis: Fix up dependencies 2025-08-23 18:52:28 -04:00
Rodney Etienne
ed1a573b03 pyxis: Fix up dependencies 2025-08-23 18:17:59 -04:00
Rodney Etienne
6bce9162a5 pyxis: Initialize for Evolution X 10.x 2025-08-20 08:10:45 -04:00
Bruno Martins
81a02e7c6e pyxis: Set camera override format from reserved via soong config
Change-Id: I6a089e783f26c4515940d74f8e912dffa2789550
2025-07-06 17:28:32 +02:00
Ivan Vecera
4ecf0855f3 pyxis: Disable checkelf for libraries with undefined symbols
Some libraries have intentionally undefined symbols that are resolved during
dynamic loading. Disable checkelf for such libraries to avoid build failure.

Change-Id: I6fb9028cbc97a74ce31f7911e69b3feebc3f4557
2025-01-07 12:51:13 +01:00
Ivan Vecera
df2f383620 pyxis: Fix fingerprint HAL SONAME
Change-Id: I7987fbf680c79931668182d88e8962ab6e4500c5
2025-01-07 12:50:57 +01:00
Ivan Vecera
8860cbcd8b pyxis: Commonize keymaster blobs
Change-Id: I31a67c6d01ce045f4dabc9d3f6b8ff74a3fe4c16
2025-01-07 12:50:40 +01:00
Ivan Vecera
433d6fb0e2 pyxis: Commonize libqcbor.so
Change-Id: Ida3c199898d2d8a23edfa2389edeb9c74a0b6a01
2025-01-07 12:50:18 +01:00
Ivan Vecera
71a6dee2cf pyxis: Use libprotobuf-cpp-full-vendorcompat
Use libprotobuf-cpp-full-vendorcompat instead of libprotobuf-cpp-full-v29
and do not patch libswregistrationalgo library.

Change-Id: I84d738beea21d9ba5b928ac09c6ea9cb075892b8
2025-01-07 12:50:15 +01:00
Ivan Vecera
320cde935c pyxis: Switch to py extract utils
Change-Id: I10a2bc3472ff3294823a4565f80b558c6c14d9ec
2025-01-07 12:49:16 +01:00
Ivan Vecera
3e68131a29 pyxis: Set camera IDs remapping property and drop camera provider blobs
Recent change I13a3bd186e7fc48e797e3c6f9039a1dae1fb733f allows to
provide camera IDs remapping as expected by camera module, without
needing to use prebuilt camera provider.

Patch com.qti.chi.override.so to rename existing OEM defined exported
property from 'persist.vendor.camera.xiaomi.remapid' to common
'vendor.camera.remapid' and drop camera provider blobs.

Change-Id: I674953d89ce6a066e9050b3395fc61ffdbec58c1
2025-01-06 20:03:16 +00:00
Ivan Vecera
a0d944cf84 pyxis: audio: Use correct ACDB IDs for recording
Use the correct ACDB IDs for dual-mic audio recording. While stock
audio HAL blob is using 10010 the OSS HAL we are using defaults to
34 & 35. Add appropriate entries to audio configs.

Fixes: 28834f0 ("pyxis: Switch to OSS audio HAL")
Change-Id: Ied853a1346dc79a066bade197eff469fb82f0adb
2025-01-02 09:42:40 +01:00
Yumi Yukimura
b1cc2e6329 pyxis: overlay: Add some padding on the start of status bar
The clock is placed against the screen's corner on 15, without gap. Fix it.

Change-Id: Ib6dc4788306d19d30fadafa7f7f02086bc045752
2024-11-12 21:52:55 +01:00
LuK1337
8b2f4d3d50 pyxis: Adjust override prop key names
Change-Id: I436bbf425023dbe54cf3e2c35f50a5575511bc38
2024-11-12 21:52:55 +01:00
Beverly
50dc323d0b pyxis: overlay: Update pixel pitch
Bug: 319894241
Flag: ACONFIG com.android.systemui.device_entry_udfps_refactor DEVELOPMENT
Test: manual

Change-Id: Iaa9576cb95ebe73043b7030b2b176f67bc90e3a1
2024-11-12 21:52:55 +01:00
Michael Bestas
348296de23 pyxis: Drop COMMON_LUNCH_CHOICES
As of 14 QPR2 this is broken, let's remove it instead of updating it
every 3 months. breakfast is the way to go.

Change-Id: I097bd54b894d9a49c7ce8b1ab6f343349e268fd8
2024-06-20 16:06:31 +02:00
15 changed files with 149 additions and 90 deletions

View File

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

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2022 The LineageOS Project
# Copyright (C) 2022-2025 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#

View File

@@ -112,6 +112,8 @@
<device name="SND_DEVICE_IN_HEADSET_MIC" acdb_id="10008"/>
<device name="SND_DEVICE_IN_USB_HEADSET_MIC" acdb_id="10009"/>
<device name="SND_DEVICE_IN_VOICE_RECOG_USB_HEADSET_MIC" acdb_id="10009"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_STEREO" acdb_id="10010"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_STEREO" acdb_id="10010"/>
<device name="SND_DEVICE_OUT_HEADPHONES" acdb_id="10012"/>
<device name="SND_DEVICE_OUT_HEADPHONES_44_1" acdb_id="10012"/>
<device name="SND_DEVICE_OUT_USB_HEADSET" acdb_id="10012"/>

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2022 The LineageOS Project
# Copyright (C) 2022-2025 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
@@ -27,6 +27,9 @@ PRODUCT_COPY_FILES += \
TARGET_SCREEN_HEIGHT := 2340
TARGET_SCREEN_WIDTH := 1080
# Camera
$(call soong_config_set,camera,override_format_from_reserved,true)
# Overlays
DEVICE_PACKAGE_OVERLAYS += \
$(LOCAL_PATH)/overlay \
@@ -47,10 +50,6 @@ PRODUCT_SHIPPING_API_LEVEL := 28
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH)
# VNDK
PRODUCT_COPY_FILES += \
prebuilts/vndk/v29/arm/arch-arm-armv7-a-neon/shared/vndk-core/libprotobuf-cpp-full.so:$(TARGET_COPY_OUT_VENDOR)/lib/libprotobuf-cpp-full-v29.so
# WiFi
PRODUCT_PACKAGES += \
TargetWifiOverlay

27
evolution.dependencies Normal file
View File

@@ -0,0 +1,27 @@
[
{
"repository": "device_xiaomi_sdm710-common",
"target_path": "device/xiaomi/sdm710-common",
"branch": "vic"
},
{
"repository": "vendor_xiaomi_sdm710-common",
"target_path": "vendor/xiaomi/sdm710-common",
"branch": "vic"
},
{
"repository": "vendor_xiaomi_pyxis",
"target_path": "vendor/xiaomi/pyxis",
"branch": "vic"
},
{
"repository": "hardware_xiaomi",
"target_path": "hardware/xiaomi",
"branch": "vic"
},
{
"repository": "kernel_xiaomi_sdm710",
"target_path": "kernel/xiaomi/sdm710",
"branch": "vic"
}
]

52
extract-files.py Executable file
View File

@@ -0,0 +1,52 @@
#!/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_fixup_remove,
lib_fixups,
lib_fixups_user_type,
)
from extract_utils.main import (
ExtractUtils,
ExtractUtilsModule,
)
namespace_imports = [
'hardware/qcom-caf/sdm845',
'hardware/xiaomi',
'vendor/xiaomi/sdm710-common',
]
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,
}
blob_fixups: blob_fixups_user_type = {
'vendor/lib/hw/com.qti.chi.override.so': blob_fixup()
.binary_regex_replace(b'persist.vendor.camera.xiaomi.remapid',
b'vendor.camera.remapid\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0'),
} # fmt: skip
module = ExtractUtilsModule(
'pyxis',
'xiaomi',
blob_fixups=blob_fixups,
lib_fixups=lib_fixups,
namespace_imports=namespace_imports,
)
if __name__ == '__main__':
utils = ExtractUtils.device_with_common(module, 'sdm710-common', module.vendor)
utils.run()

View File

@@ -1,29 +0,0 @@
#!/bin/bash
#
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2020 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
function blob_fixup() {
case "${1}" in
vendor/lib/libswregistrationalgo.so)
${PATCHELF} --replace-needed "libprotobuf-cpp-full.so" "libprotobuf-cpp-full-v29.so" "${2}"
;;
esac
}
# 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=pyxis
export DEVICE_COMMON=sdm710-common
export VENDOR=xiaomi
"./../../${VENDOR}/${DEVICE_COMMON}/extract-files.sh" "$@"

View File

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

View File

@@ -11,6 +11,13 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit some common Lineage stuff.
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
TARGET_USES_MINI_GAPPS := true
WITH_GMS := true
EXTRA_UDFPS_ANIMATIONS := true
TARGET_SUPPORTS_QUICK_TAP := true
TARGET_FACE_UNLOCK_SUPPORTED := true
TARGET_DISABLE_EPPE := true
# Inherit from pyxis device
$(call inherit-product, device/xiaomi/pyxis/device.mk)
@@ -23,6 +30,5 @@ PRODUCT_MODEL := Mi 9 Lite
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi
PRODUCT_BUILD_PROP_OVERRIDES += \
PRIVATE_BUILD_DESC="pyxis-user 11 RKQ1.200826.002 V12.5.3.0.RFCEUXM release-keys"
BUILD_FINGERPRINT := Xiaomi/pyxis_eea/pyxis:11/RKQ1.200826.002/V12.5.3.0.RFCEUXM:user/release-keys
BuildDesc="pyxis-user 11 RKQ1.200826.002 V12.5.3.0.RFCEUXM release-keys" \
BuildFingerprint=Xiaomi/pyxis_eea/pyxis:11/RKQ1.200826.002/V12.5.3.0.RFCEUXM:user/release-keys

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2020, The LineageOS 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.
*/
-->
<!-- These resources are around just to allow their values to be customized
for different hardware and product builds. -->
<resources>
<!-- The radius of the enrollment progress bar, in dp -->
<integer name="config_udfpsEnrollProgressBar" translatable="false">107</integer>
</resources>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2019-2022 Evolution X
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- About device screen, build maintainer -->
<string name="build_device_url">https://t.me/EvolutionXPyxis</string>
<string name="build_maintainer_summary">CSSABLACK</string>
<string name="build_maintainer_donate_url">https://www.paypal.com/paypalme/czarsuperstar</string>
</resources>

View File

@@ -18,4 +18,11 @@
<resources>
<!-- Height of the status bar header bar when on Keyguard -->
<dimen name="status_bar_header_height_keyguard">@*android:dimen/status_bar_height</dimen>
<!-- Microns/ums (1000 um = 1mm) per pixel for the given device. If unspecified, UI that
relies on this value will not be sized correctly. -->
<item name="pixel_pitch" format="float" type="dimen">62.19</item>
<!-- the padding on the start of the statusbar -->
<dimen name="status_bar_padding_start">30px</dimen>
</resources>

View File

@@ -1,5 +1,10 @@
# Unpinned blobs from pyxis-user 11 RKQ1.200826.002 V12.5.3.0.RFCEUXM release-keys
# Libraries with undefined symbols:
# - libVDSuperPhotoAPI
# - libhvx_proxy_stub
# - libmmcamera_faceproc
# ACDB
vendor/etc/acdbdata/Tutu/Tutu_Bluetooth_cal.acdb:vendor/etc/acdbdata/Forte/Forte_Bluetooth_cal.acdb
vendor/etc/acdbdata/Tutu/Tutu_General_cal.acdb:vendor/etc/acdbdata/Forte/Forte_General_cal.acdb
@@ -35,7 +40,7 @@ vendor/lib/hw/com.qti.chi.override.so
vendor/lib/libFaceGrade.so
vendor/lib/libSNPE.so
vendor/lib/libVDClearShot.so
vendor/lib/libVDSuperPhotoAPI.so
vendor/lib/libVDSuperPhotoAPI.so;DISABLE_CHECKELF
vendor/lib/libXMFD_AgeGender.so
vendor/lib/lib_denoiser3.so
vendor/lib/libc++_shared.so
@@ -49,7 +54,7 @@ vendor/lib/libcom.qti.chinodeutils.so
vendor/lib/libmialgo_fs.so
vendor/lib/libmialgo_sd.so
vendor/lib/libmibokeh_712.so
vendor/lib/libmmcamera_faceproc.so
vendor/lib/libmmcamera_faceproc.so;DISABLE_CHECKELF
vendor/lib/libmmcamera_faceproc2.so
vendor/lib/libmpbase.so
vendor/lib/libnanopb.so
@@ -60,7 +65,7 @@ vendor/lib/libvideoutils.so
vendor/lib/libvidhance.so
vendor/lib64/libVDClearShot.so
vendor/lib64/libVDDualCameraClearShot.so
vendor/lib64/libVDSuperPhotoAPI.so
vendor/lib64/libVDSuperPhotoAPI.so;DISABLE_CHECKELF
vendor/lib64/libmialgoengine.so
vendor/lib64/libmibokeh_712.so
vendor/lib64/libmpbase.so
@@ -174,18 +179,6 @@ vendor/etc/camera/model_front.dlc
vendor/etc/camera/sceneDetection.xml
vendor/etc/camera/visidon_clearshot_params_algoup.xml
# Camera (provider)
vendor/lib/hw/android.hardware.camera.provider@2.4-impl.so
vendor/lib/android.hardware.camera.provider@2.4-external.so
vendor/lib/android.hardware.camera.provider@2.4-legacy.so
vendor/lib/camera.device@1.0-impl.so
vendor/lib/camera.device@3.2-impl.so
vendor/lib/camera.device@3.3-impl.so
vendor/lib/camera.device@3.4-impl.so
vendor/lib/camera.device@3.5-impl.so
vendor/lib/vendor.qti.hardware.camera.device@2.0.so
vendor/lib/vendor.qti.hardware.camera.device@3.5.so
# Camera (sensors)
vendor/lib/camera/com.qti.sensor.pyxis_imx582.so
vendor/lib/camera/com.qti.sensor.pyxis_imx586.so
@@ -230,24 +223,15 @@ vendor/etc/hdr_config.cfg
vendor/etc/sdr_config.cfg
# Fingerprint
vendor/lib64/hw/fingerprint.goodix_fod.so:vendor/lib64/hw/fingerprint.goodix_fod.default.so
vendor/lib64/hw/fingerprint.goodix_fod.so:vendor/lib64/hw/fingerprint.goodix_fod.default.so;FIX_SONAME
vendor/lib64/libarm_proxy_skel.so
vendor/lib64/libgf_hal.so
vendor/lib64/libhvx_proxy_stub.so
vendor/lib64/libhvx_proxy_stub.so;DISABLE_CHECKELF
# Gatekeeper
vendor/bin/hw/android.hardware.gatekeeper@1.0-service-qti
vendor/etc/init/android.hardware.gatekeeper@1.0-service-qti.rc
vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so
vendor/lib64/libqcbor.so
# Keymaster
vendor/bin/hw/android.hardware.keymaster@4.0-service-qti
vendor/etc/init/android.hardware.keymaster@4.0-service-qti.rc
vendor/lib64/libkeymasterdeviceutils.so
vendor/lib64/libkeymasterprovision.so
vendor/lib64/libkeymasterutils.so
vendor/lib64/libqtikeymaster4.so
# Sensors
vendor/bin/hw/vendor.qti.hardware.sensorscalibrate@1.0-service

1
setup-makefiles.py Executable file
View File

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

View File

@@ -1,15 +0,0 @@
#!/bin/bash
#
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2020 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
set -e
export DEVICE=pyxis
export DEVICE_COMMON=sdm710-common
export VENDOR=xiaomi
"./../../${VENDOR}/${DEVICE_COMMON}/setup-makefiles.sh" "$@"