24 Commits
vic ... bka

Author SHA1 Message Date
me-cafebabe
d7a25d2828 veux: overlay: Disable high performance transitions
Partially picked from I3663bdeb0fdc23d0b0044fe9dfc8baf3a0c5be10.

Change-Id: Ida4e02e2bbe40e8fd7a74ed77f90190f7bda56bc
2025-12-19 17:25:55 +01:00
Michael Bestas
c62e935962 veux: sepolicy: Remove commonized vendor_nfc_prop definition
Change-Id: I336f8ecd48dc111aba762e4bccf635d767a12b12
2025-11-25 00:02:30 +01:00
LuK1337
37728b0c77 veux: Opt out of speaker_layout_channel_mask field
Required for ABI compatibility with audio HAL compiled before 15 QPR2.

Fixes: https://gitlab.com/LineageOS/issues/android/-/issues/9426
Change-Id: Ic910f0634ee0707c21dad77f5264fd89fb33f1c0
2025-11-17 11:22:20 +01:00
Alexander Winkowski
0a994d9a07 veux: Increase timeout for waiting AudioPolicy service
Starting from Android 15 QPR2, the following error may occur on boot:

05-07 08:30:39.558  1587  1587 D AudioSystem: getService: checking for service media.audio_policy: 0x0
05-07 08:30:39.558  1587  1587 E AudioProductStrategies-JNI: AudioSystem::listAudioProductStrategies error -32
05-07 08:30:39.558  1587  1587 W AudioProductStrategy: : initializeAudioProductStrategies failed

It results in SystemUI crash when playing voice messages and some other media content:

05-07 08:31:28.497  2035  2035 E AndroidRuntime: FATAL EXCEPTION: main
05-07 08:31:28.497  2035  2035 E AndroidRuntime: Process: com.android.systemui, PID: 2035
05-07 08:31:28.497  2035  2035 E AndroidRuntime: java.lang.RuntimeException: Null or empty currentSystemRoutes. Something is wrong.
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at android.media.MediaRouter2.loadSystemRoutes(MediaRouter2.java:664)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at android.media.MediaRouter2.<init>(MediaRouter2.java:643)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at android.media.MediaRouter2.findOrCreateProxyInstanceForCallingUser(MediaRouter2.java:436)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at android.media.MediaRouter2.getInstance(MediaRouter2.java:393)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at com.android.settingslib.media.RouterInfoMediaManager.<init>(go/retraceme 98c1d6b541fb48b642632a57fb1abda3fa1bc8c0067c3f3b805d743ecdfb8ef1:39)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at com.android.settingslib.media.InfoMediaManager.createInstance(go/retraceme 98c1d6b541fb48b642632a57fb1abda3fa1bc8c0067c3f3b805d743ecdfb8ef1:34)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at com.android.systemui.media.controls.domain.pipeline.MediaDeviceManager.onMediaDataLoaded(go/retraceme 98c1d6b541fb48b642632a57fb1abda3fa1bc8c0067c3f3b805d743ecdfb8ef1:120)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at com.android.systemui.media.controls.domain.pipeline.MediaDataManager$Listener.onMediaDataLoaded$default(go/retraceme 98c1d6b541fb48b642632a57fb1abda3fa1bc8c0067c3f3b805d743ecdfb8ef1:30)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at com.android.systemui.media.controls.domain.pipeline.MediaSessionBasedFilter$onMediaDataLoaded$1.run(go/retraceme 98c1d6b541fb48b642632a57fb1abda3fa1bc8c0067c3f3b805d743ecdfb8ef1:45)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:991)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:102)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at android.os.Looper.loopOnce(Looper.java:232)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:317)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:8934)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
05-07 08:31:28.497  2035  2035 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)

Increasing the timeout a bit fixes this issue.

Change-Id: I096895c5deca3984d9a1b30cc5e15d690e4844a8
2025-10-30 13:49:25 +01:00
Kuba Wojciechowski
b6eaaffa9c veux: Disable kpti
It can also help increase performance by a lot in some scenarios.

Change-Id: Ica465f586a44129047c266597316045fab762550
Signed-off-by: Kuba Wojciechowski <nullbytepl@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-10-25 18:29:50 +02:00
ahmedtohamy1
acecf1199a veux: Compile HWUI for performance
optimizing compiler flags for HWUI. * -fno-omit-frame-pointer, -marm, -mapcs

Signed-off-by: JaswalAshish <ashish@m.ms.evolution-x.org>
Change-Id: Ia141b59cd1334eede94cfbec5a66c2d0d7784cd4
2025-10-25 18:28:36 +02:00
ghostrider-reborn
8f4f2b1539 veux: overlay: Disable alpha compositing in WM
* Completely eliminates occasional jank in few animations

Change-Id: Ia4cb48664a52242374419a923d07fcf584fe50cf
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-10-25 18:27:37 +02:00
helliscloser
d7c04bd8bb veux: Explicitly disable "Enable GL comp backpressure"
When blur is enabled,
There is severe lag in; Launcher3 while scrolling apps in App drawer, Scrolling through recents and occasionally on QS pull down.

Enabling or completely removing the prop here d6233e0e7c doesn't seem to make an effect.
Explicitly disabling the "Enable GL comp backpressure" prop seems to slove the issue.

Lag & janks are gone now, even with blur.

Change-Id: Ia82d84d6ee867caa52ae93b72fbff132070bf808
Signed-off-by: helliscloser <mrumais@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-10-25 18:22:48 +02:00
TheMysticle
dc871ad9cc veux: Enable ADPF CPU hints for improved UI performance
Turns on `debug.sf.enable_adpf_cpu_hint` to allow SurfaceFlinger to utilize Android Dynamic Performance Framework CPU hints, improving overall UI responsiveness and frame pacing on Snapdragon devices.

Change-Id: Ia715ab89ffc8a18130904e5588f9e4b487a20faa
2025-10-25 18:19:11 +02:00
Ghosuto
59b402643a veux: Enable Client Composition Cache
- All latest soc use it by default. with this cache can improve performance by reusing composition, This can result in smoother UI performance and potentially lower power consumption

- cons: It does increase memory usage because the system needs to store these results, but its not a big issue cause most devices are 12gb ver. and fine for 8gb also

Signed-off-by: Ghosuto <clash.raja10@gmail.com>
2025-10-25 18:17:04 +02:00
johnmart19
33fd4ccc3f veux: Enable full ART optimizations with VDEX/ODEX
Enable comprehensive ART optimizations including VDEX and ODEX
generation for all system components to improve first-boot
performance and reduce application startup latency.

Configuration:
- WITH_DEXPREOPT := true          # Global dexpreopt enable
- DEX_PREOPT_DEFAULT := generate-vdex-and-image  # VDEX+ODEX gen
- WITH_DEXPREOPT_DEBUG_INFO := false  # Exclude debug symbols

Results:
- Verified generation of .odex files (optimized dex)
- Verified generation of .vdex files (verification dex)
- ART images created for core system components
- First boot time significantly reduced
- Application startup latency improved

Test procedure:
1. Full system build with 'm evolution' command
2. Verified artifacts in:
   - system/framework/oat/arm64/*.odex
   - system/framework/oat/arm64/*.vdex
   - system/app/*/oat/arm64/*.odex
   - system/priv-app/*/oat/arm64/*.vdex
3. Confirmed valid ART runtime loading during boot

Signed-off-by: johnmart19 <johnivan19999@gmail.com>
Signed-off-by: Quince <quinceroms@gmail.com>
2025-10-25 18:14:21 +02:00
Rve27
f390bd492a veux: Enable ScrollOptimizer
Change-Id: I1d415521e3e10839afb87f1c6691a6057deab797
Signed-off-by: Rve27 <rve27github@gmail.com>
Signed-off-by: Quince <quinceroms@gmail.com>
2025-10-25 18:13:16 +02:00
Mathieu Chartier
207ecf732b veux: Speed profile services and wifi-service to reduce RAM and storage
Signed-off-by: Mathieu Chartier <mathieuc@google.com>
Signed-off-by: Quince <quinceroms@gmail.com>
2025-10-25 18:11:41 +02:00
etylix
5564b6e66a veux: props: RIL edits for battery life.
Changed “ro.ril.disable.power.collapse” value to zero.
Seems to be a debate on what value is more effective but after more reading and testing found that a value of “0” shows more improvement.
Have also added “ro.mot.eri.losalert.delay=1000 “ that helps smooth out disconnects and reconnects, saving battery.

Signed-off-by: Onelots <onelots@onelots.fr>
2025-10-13 11:31:59 +02:00
Julival Bittencourt
ecf8b92307 veux: configs: Declare android.hardware.graphics.allocator IAllocator
kernel msg:
           servicemanager: Caller(pid=19920,uid=10371,sid=u:r:untrusted_app:s0:c115,c257,c512,c768) Could not find android.hardware.graphics.allocator.IAllocator/default in the VINTF manifest. No alternative instances declared in VINTF.
2025-10-13 00:00:38 +02:00
Yumi Yukimura
f174c6666e veux: Build AOSP Radio HIDL->AIDL Wrapper
Depends-On: I790728a9be289042e5a07589934a2dd50463a507
Change-Id: Iaeb8d37f4a7f02e6e812bc4da1b413c9a6493f8f
2025-10-12 23:55:06 +02:00
930cf34d6e veux: Initialize for EvolutionX 11.X
Signed-off-by: Onelots <onelots@onelots.fr>
2025-10-03 14:52:03 +02:00
dfffba1703 TEMP: veux: manually define TARGET_DEVICE
Signed-off-by: Onelots <onelots@onelots.fr>
2025-10-02 18:39:15 +00:00
38fa4e3942 veux: Include MiuiCamera 2025-10-02 18:39:14 +00:00
thepriyanshujangid
8e00cb924d veux: hidl: add missing FCM entries
The following HALs in device manifest are not declared in FCM <= level 6:
  android.hardware.ir.IConsumerIr/default (@1)
  android.hardware.light.ILights/default (@2)
  android.hardware.usb.gadget.IUsbGadget/default (@1)
  vendor.lineage.health.IChargingControl/default (@2)
  vendor.lineage.health.IFastCharge/default (@2)
2025-09-30 21:32:39 +02:00
¨raystef66¨
7aefe1b80e veux: update FCM on IChargingControl and IFastCharge
vendor.lineage.health.IChargingControl/default (@2)
vendor.lineage.health.IFastCharge/default (@2)
2025-09-30 21:32:39 +02:00
Cassie
3712b81799 veux: overlay: Use the new auto network selection UI
Change-Id: I76698911103601d5f3ad67e1099790af8c2fdc18
2025-08-12 15:10:02 +02:00
kailua
1538157a16 veux: update-sha1sums: chmod +x 2025-07-28 16:29:30 +02:00
LuK1337
d34309000e veux: Migrate to py extract utils
Signed-off-by: Onelots <onelots@onelots.fr>
Co-authored-by: LuK1337 <priv.luk@gmail.com>
Co-authored-by: Skyblueborb <tomaszborbely0710@gmail.com>
2025-07-28 16:29:24 +02:00
18 changed files with 211 additions and 186 deletions

View File

@@ -36,6 +36,11 @@ TARGET_2ND_CPU_ABI2 := armeabi
TARGET_2ND_CPU_VARIANT := cortex-a55
TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a55
# ART
WITH_DEXPREOPT := true
DEX_PREOPT_DEFAULT := generate-vdex-and-image
WITH_DEXPREOPT_DEBUG_INFO := false
# Audio
AUDIO_FEATURE_ENABLED_DLKM := true
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
@@ -80,6 +85,9 @@ ODM_MANIFEST_SKUS += \
ODM_MANIFEST_SN100_FILES := \
$(DEVICE_PATH)/configs/vintf/manifest_ese.xml
# HWUI
HWUI_COMPILE_FOR_PERF := true
# Kernel
BOARD_KERNEL_BASE := 0x00000000
BOARD_KERNEL_IMAGE_NAME := Image
@@ -104,6 +112,7 @@ BOARD_KERNEL_CMDLINE := \
service_locator.enable=1 \
androidboot.usbcontroller=4e00000.dwc3 \
swiotlb=0 \
kpti=off \
loop.max_part=7 \
cgroup.memory=nokmem,nosocket \
iptable_raw.raw_before_defrag=1 \

View File

@@ -23,6 +23,14 @@ ro.config.dha_th_rate=2.3
ro.config.sdha_apps_bg_max=64
ro.config.sdha_apps_bg_min=8
# RIL Powersaving
persist.radio.add_power_save=1
pm.sleep_mode=1
ro.ril.disable.power.collapse=0
ro.ril.fast.dormancy.rule=1
ro.ril.fast.dormancy.timeout=3
ro.mot.eri.losalert.delay=1000
# IMS Debugging
persist.vendor.ims.disableADBLogs=1
persist.vendor.ims.disableDebugLogs=1

View File

@@ -181,7 +181,10 @@ 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
@@ -246,6 +249,10 @@ 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

View File

@@ -5,11 +5,20 @@
<compatibility-matrix version="2.0" type="framework">
<hal format="aidl" optional="true">
<name>vendor.lineage.health</name>
<version>2</version>
<interface>
<name>IChargingControl</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.lineage.health</name>
<version>2</version>
<interface>
<name>IFastCharge</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.goodix.hardware.biometrics.fingerprint</name>
<version>2.0-1</version>
@@ -47,6 +56,13 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.graphics.allocator</name>
<interface>
<name>IAllocator</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>android.hardware.boot</name>
<version>1</version>
@@ -63,6 +79,14 @@
<instance>clearkey</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>android.hardware.ir</name>
<version>1</version>
<interface>
<name>IConsumerIr</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.biometrics.fingerprint</name>
<version>2.3</version>
@@ -95,6 +119,14 @@
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>android.hardware.light</name>
<version>2</version>
<interface>
<name>ILights</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>android.hardware.sensors</name>
<version>2</version>

View File

@@ -46,6 +46,36 @@
<transport>hwbinder</transport>
<fqname>@1.1::IRadioConfig/default</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.data</name>
<fqname>IRadioData/slot1</fqname>
<fqname>IRadioData/slot2</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.messaging</name>
<fqname>IRadioMessaging/slot1</fqname>
<fqname>IRadioMessaging/slot2</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.modem</name>
<fqname>IRadioModem/slot1</fqname>
<fqname>IRadioModem/slot2</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.network</name>
<fqname>IRadioNetwork/slot1</fqname>
<fqname>IRadioNetwork/slot2</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.sim</name>
<fqname>IRadioSim/slot1</fqname>
<fqname>IRadioSim/slot2</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.voice</name>
<fqname>IRadioVoice/slot1</fqname>
<fqname>IRadioVoice/slot2</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.soundtrigger</name>
<transport>hwbinder</transport>

View File

@@ -41,6 +41,7 @@ ART_BUILD_TARGET_NDEBUG := true
ART_BUILD_TARGET_DEBUG := false
ART_BUILD_HOST_NDEBUG := true
ART_BUILD_HOST_DEBUG := false
PRODUCT_SYSTEM_SERVER_COMPILER_FILTER := speed-profile
# Audio
PRODUCT_PACKAGES += \
@@ -87,6 +88,12 @@ PRODUCT_COPY_FILES += \
frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/$(AUDIO_SKU_DIR)/bluetooth_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/$(AUDIO_SKU_DIR)/r_submix_audio_policy_configuration.xml
$(call soong_config_set,android_hardware_audio,skip_speaker_layout_channel_mask_field,true)
# Audio service timeout
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
audio.service.client_wait_ms=10000
# Bluetooth
PRODUCT_PACKAGES += \
android.hardware.bluetooth@1.1.vendor \
@@ -456,6 +463,7 @@ PRODUCT_PACKAGES += \
librmnetctl
PRODUCT_PACKAGES += \
android.hardware.radio-service.compat \
android.hardware.radio@1.5.vendor \
android.hardware.radio.config@1.2.vendor \
android.hardware.radio.deprecated@1.0.vendor \
@@ -574,6 +582,3 @@ $(call inherit-product, vendor/xiaomi/veux/veux-vendor.mk)
# Remove unwanted packages
PRODUCT_PACKAGES += \
RemovePackagesVeux
# AGC CAMERA
$(call inherit-product, vendor/xiaomi/AGC-Camera/config.mk)

View File

@@ -1,4 +1,10 @@
[
{
"repository": "Xiaomi-Development/device_xiaomi_camera",
"target_path": "device/xiaomi/camera",
"remote": "github-non-los",
"branch": "aosp-16"
},
{
"repository": "hardware_xiaomi",
"target_path": "hardware/xiaomi"
@@ -12,9 +18,9 @@
"target_path": "vendor/xiaomi/veux"
},
{
"repository": "takixamru/vendor_xiaomi_agc-camera.git",
"target_path": "vendor/xiaomi/AGC-Camera",
"repository": "xiaomi-development/vendor_xiaomi_camera",
"target_path": "vendor/xiaomi/camera",
"remote": "gitlab",
"branch": "main"
"branch": "aosp-16"
}
]

87
extract-files.py Normal file
View File

@@ -0,0 +1,87 @@
#!/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.main import (
ExtractUtils,
ExtractUtilsModule,
)
namespace_imports = [
'device/xiaomi/veux',
'hardware/qcom-caf/sm8350',
'hardware/qcom-caf/wlan',
'hardware/xiaomi',
'vendor/qcom/opensource/commonsys/display',
'vendor/qcom/opensource/commonsys-intf/display',
'vendor/qcom/opensource/dataservices',
'vendor/qcom/opensource/display',
]
def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
return f'{lib}_{partition}' if partition == 'vendor' else None
blob_fixups: blob_fixups_user_type = {
'odm/etc/build_*.prop': blob_fixup()
.regex_replace(r'.*marketname.*\n', r'')
.regex_replace(r'cert', r'model'),
'system_ext/etc/init/wfdservice.rc': blob_fixup()
.regex_replace(r'^(?!service)(.*)wfdservice$', r'\g<1>wfdservice64'),
'system_ext/lib64/libwfdnative.so': blob_fixup()
.remove_needed('android.hidl.base@1.0.so'),
'vendor/etc/camera/camxoverridesettings.txt': blob_fixup()
.regex_replace(r'0x10080', r'0')
.regex_replace(r'0x1F', r'0x0'),
'vendor/etc/init/init.batterysecret.rc': blob_fixup()
.regex_replace(r'on charger', r'on property:init.svc.vendor.charger=running'),
'vendor/etc/libnfc-pn557.conf': blob_fixup()
.call(lambda file_path, content:
content if "NXP RF" in content
else content + '\n' + open(f"{SRC}/vendor/libnfc-nxp_RF.conf").read()),
'vendor/lib64/android.hardware.secure_element@1.0-impl.so': blob_fixup()
.remove_needed('android.hidl.base@1.0.so'),
'vendor/lib64/camera/components/com.qti.node.mialgocontrol.so': blob_fixup()
.add_needed('libpiex_shim.so'),
('vendor/lib64/libwvhidl.so', 'vendor/lib64/mediadrm/libwvdrmengine.so'): blob_fixup()
.add_needed('libcrypto_shim.so'),
('vendor/lib64/libdlbdsservice.so',
'vendor/lib/libstagefright_soft_ac4dec.so',
'vendor/lib/libstagefright_soft_ddpdec.so'): blob_fixup()
.replace_needed('libstagefright_foundation.so', 'libstagefright_foundation-v33.so'),
'vendor/etc/libnfc-sn100.conf': blob_fixup()
.regex_replace(r'(DEFAULT_ISODEP_ROUTE.*?)0x01', r'\g<1>0xC0')
.regex_replace(r'(DEFAULT_SYS_CODE_ROUTE.*?)0x00', r'\g<1>0xC0')
.regex_replace(r'(DEFAULT_OFFHOST_ROUTE.*?)0x01', r'\g<1>0xC0')
.regex_replace(r'(OFFHOST_ROUTE_ESE.*?)01', r'\g<1>C0')
.regex_replace(r'$', r'\nDEFAULT_NFCF_ROUTE=0xC0'),
}
module = ExtractUtilsModule(
'veux',
'xiaomi',
blob_fixups=blob_fixups,
namespace_imports=namespace_imports,
)
if __name__ == '__main__':
utils = ExtractUtils.device(module)
utils.run()

View File

@@ -1,132 +0,0 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
set -e
DEVICE=veux
VENDOR=xiaomi
# Load extract_utils and do some sanity checks
MY_DIR="${BASH_SOURCE%/*}"
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
ANDROID_ROOT="${MY_DIR}/../../.."
export TARGET_ENABLE_CHECKELF=false
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
if [ ! -f "${HELPER}" ]; then
echo "Unable to find helper script at ${HELPER}"
exit 1
fi
source "${HELPER}"
# Default to sanitizing the vendor folder before extraction
CLEAN_VENDOR=true
ONLY_FIRMWARE=
KANG=
SECTION=
while [ "${#}" -gt 0 ]; do
case "${1}" in
--only-firmware)
ONLY_FIRMWARE=true
;;
-n | --no-cleanup)
CLEAN_VENDOR=false
;;
-k | --kang)
KANG="--kang"
;;
-s | --section)
SECTION="${2}"
shift
CLEAN_VENDOR=false
;;
*)
SRC="${1}"
;;
esac
shift
done
if [ -z "${SRC}" ]; then
SRC="adb"
fi
function blob_fixup() {
case "${1}" in
odm/etc/build_*.prop)
[ "$2" = "" ] && return 0
sed -i "/marketname/d" "${2}"
sed -i "s/cert/model/" "${2}"
;;
system_ext/etc/init/wfdservice.rc)
[ "$2" = "" ] && return 0
sed -i "/^service/! s/wfdservice$/wfdservice64/g" "${2}"
;;
system_ext/lib64/libwfdnative.so)
[ "$2" = "" ] && return 0
"${PATCHELF}" --remove-needed "android.hidl.base@1.0.so" "${2}"
;;
vendor/etc/camera/camxoverridesettings.txt)
[ "$2" = "" ] && return 0
sed -i "s/0x10080/0/g" "${2}"
sed -i "s/0x1F/0x0/g" "${2}"
;;
vendor/etc/init/init.batterysecret.rc)
[ "$2" = "" ] && return 0
sed -i "s/on charger/on property:init.svc.vendor.charger=running/g" "${2}"
;;
vendor/etc/libnfc-pn557.conf)
[ "$2" = "" ] && return 0
grep -q "NXP RF" "${2}" || cat "${SRC}/vendor/libnfc-nxp_RF.conf" >> "${2}"
;;
vendor/lib64/android.hardware.secure_element@1.0-impl.so)
[ "$2" = "" ] && return 0
"${PATCHELF}" --remove-needed "android.hidl.base@1.0.so" "${2}"
;;
vendor/lib64/camera/components/com.qti.node.mialgocontrol.so)
[ "$2" = "" ] && return 0
llvm-strip --strip-debug "${2}"
grep -q "libpiex_shim.so" "${2}" || "${PATCHELF}" --add-needed "libpiex_shim.so" "${2}"
;;
vendor/lib64/libwvhidl.so|vendor/lib64/mediadrm/libwvdrmengine.so)
[ "$2" = "" ] && return 0
grep -q "libcrypto_shim.so" "${2}" || "${PATCHELF}" --add-needed "libcrypto_shim.so" "${2}"
;;
vendor/lib64/libdlbdsservice.so|vendor/lib/libstagefright_soft_ac4dec.so|vendor/lib/libstagefright_soft_ddpdec.so)
"${PATCHELF}" --replace-needed "libstagefright_foundation.so" "libstagefright_foundation-v33.so" "${2}"
;;
vendor/etc/libnfc-sn100.conf)
sed -i "/DEFAULT_ISODEP_ROUTE/ s/0x01/0xC0/g" "${2}"
sed -i "/DEFAULT_SYS_CODE_ROUTE/ s/0x00/0xC0/g" "${2}"
sed -i "/DEFAULT_OFFHOST_ROUTE/ s/0x01/0xC0/g" "${2}"
sed -i "/OFFHOST_ROUTE_ESE/ s/01/C0/g" "${2}"
echo "DEFAULT_NFCF_ROUTE=0xC0" >> "${2}"
;;
*)
return 1
;;
esac
return 0
}
function blob_fixup_dry() {
blob_fixup "$1" ""
}
# Initialize the helper
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
if [ -z "${ONLY_FIRMWARE}" ]; then
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
fi
"${MY_DIR}/setup-makefiles.sh"

View File

@@ -36,3 +36,9 @@ PRODUCT_BUILD_PROP_OVERRIDES += \
BuildDesc="veux_global-user 13 TKQ1.221114.001 V816.0.12.0.TKCMIXM release-keys" \
BuildFingerprint=Redmi/veux_global/veux:13/TKQ1.221114.001/V816.0.12.0.TKCMIXM:user/release-keys \
DeviceProduct=$(PRODUCT_DEVICE)
# TEMP
TARGET_DEVICE := veux
# Camera
include device/xiaomi/camera/miuicamera.mk

View File

@@ -456,8 +456,16 @@
As of Honeycomb, blurring is not supported anymore. -->
<bool name="config_sf_slowBlur">false</bool>
<!-- Speed up the animations -->
<fraction name="def_window_animation_scale">80%</fraction>
<fraction name="def_window_transition_scale">80%</fraction>
<!-- Whether the new Auto Selection Network UI should be shown -->
<bool name="config_enableNewAutoSelectNetworkUI">true</bool>
<!-- Flag indicating whether the surfaceflinger has limited
alpha compositing functionality in hardware. If set, the window
manager will disable alpha trasformation in animations where not
strictly needed. -->
<bool name="config_sf_limitedAlpha">true</bool>
<!-- Whether WM DisplayContent supports high performance transitions
(lower-end devices may want to disable) -->
<bool name="config_deviceSupportsHighPerfTransitions">false</bool>
</resources>

View File

@@ -47,6 +47,6 @@
<bool name="config_show_regulatory_info">true</bool>
<!-- Android version screen, build maintainer -->
<string name="build_maintainer_summary" translatable="false">PrathamK07 (Rex)</string>
<string name="build_maintainer_donate_url" translatable="false">https://paypal.me/PrathamKalra</string>
<string name="build_maintainer_summary" translatable="false">Onelots</string>
<string name="build_maintainer_donate_url" translatable="false">https://www.paypal.com/paypalme/0nelots</string>
</resources>

View File

@@ -1,5 +1,4 @@
type camera_persist_file, vendor_persist_type, file_type;
vendor_internal_prop(vendor_camera_sensor_prop)
set_prop(hal_camera_default, vendor_camera_sensor_prop)
r_dir_file(hal_camera_default, camera_persist_file)

View File

@@ -10,8 +10,5 @@ vendor_internal_prop(vendor_thermal_normal_prop)
# IMEI
vendor_internal_prop(vendor_deviceid_prop);
# NFC
vendor_internal_prop(vendor_nfc_prop)
# Serial number
vendor_internal_prop(vendor_sno_prop);

View File

@@ -3,7 +3,6 @@ ro.vendor.aware_available u:object_r:vendor_aware_available_prop:s0
# Camera
persist.camera.hdr.checkerdump u:object_r:vendor_camera_prop:s0
persist.vendor.low.cutoff u:object_r:vendor_camera_prop:s0
vendor.camera.sensor. u:object_r:vendor_camera_sensor_prop:s0
vendor.camera.sensor.logsystem u:object_r:vendor_camera_prop:s0
vendor.panel.display u:object_r:vendor_camera_prop:s0

1
setup-makefiles.py Normal file
View File

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

View File

@@ -1,37 +0,0 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
set -e
DEVICE=veux
VENDOR=xiaomi
# Load extract_utils and do some sanity checks
MY_DIR="${BASH_SOURCE%/*}"
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
ANDROID_ROOT="${MY_DIR}/../../.."
export TARGET_ENABLE_CHECKELF=false
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
if [ ! -f "${HELPER}" ]; then
echo "Unable to find helper script at ${HELPER}"
exit 1
fi
source "${HELPER}"
# Initialize the helper
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}"
# Warning headers and guards
write_headers
write_makefiles "${MY_DIR}/proprietary-files.txt"
# Finish
write_footers

0
update-sha1sums.py Normal file → Executable file
View File