161 Commits
bq1 ... vic

Author SHA1 Message Date
Michael Bestas
c15353eca2 raphael: Freeze SPL to 2025-05-05 2025-06-06 05:56:22 +09:00
kondors1995
e16d81c44b raphael: update powerhint for efficiency 2025-05-22 21:11:02 +09:00
kondors1995
828ef5357d raphael: init: Allow kernel to handle blancing foreground cpuset 2025-05-22 21:10:50 +09:00
rvbeakz
0e92393a50 raphael: label bypass charging 2025-05-09 00:57:31 +09:00
romiyusnandar
1383156d33 raphael: Add support for bypass charging
Signed-off-by: romiyusnandar <yusromi04@gmail.com>
2025-05-08 21:14:27 +09:00
Anver sadhique
1b7f2a6fed raphael: audio: Remove dynamic attributes from APS config
Remove dynamic attributes from APS config since it
is not supported.

Change-Id: I48e232b831cfb0aa8ba9ab875aa92119140008ef
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-05-08 10:07:03 +09:00
LuK1337
0f68b4ad3f raphael: Switch to NCM USB tethering
Change-Id: I20b6b2b2e26a45d8b28c7483afc83ad4da4b8643
Signed-off-by: Fiqri Ardyansyah <fiqri191002@gmail.com>
2025-05-08 10:04:19 +09:00
Bruno Martins
7979ae8cc5 raphael: Set camera override format from reserved via soong config
Change-Id: I6a089e783f26c4515940d74f8e912dffa2789550
Signed-off-by: Fiqri Ardyansyah <fiqri191002@gmail.com>
2025-05-08 02:47:46 +09:00
Joey Huab
5a3e9091a0 raphael: Move camera package name flag to select() 2025-05-02 03:25:57 +09:00
lemezohaib
1d4b8dc2fe raphael: Move libcameraservice extension lib to select()
Signed-off-by: lemezohaib <zhbkhan644@gmail.com>
2025-05-02 03:25:57 +09:00
Bruno Martins
736a55580c raphael: Move vendor_init lib to select()
Change-Id: I8f7e6b987bee58dbf09ca9ad7cfd5a7e99e19c3b
2025-05-02 03:25:48 +09:00
Michael Bestas
c96fedf675 raphael: Move Lineage Health HAL to select()
Signed-off-by: lemezohaib <zhbkhan644@gmail.com>
2025-05-02 03:25:48 +09:00
Bruno Martins
d370303f5a raphael: Move surfaceflinger UDFPS lib to select()
Change-Id: I8a709bde4843b61420ea1003a749952d2619e2da
2025-05-02 03:25:38 +09:00
Michael Bestas
108675baf0 raphael: Move gralloc_handle_has_reserved_size to select()
Change-Id: I3aa081f081e41ba108ff91227409baad7f54d49c
2025-05-02 03:25:28 +09:00
RealJohnGalt
c99a3ff52f raphael: set hint manager margin to 10 % 2025-04-20 23:37:30 +09:00
kondors1995
9d158bfa51 raphael: Drop debug.sf.enable_adpf_cpu_hint
our cpu dont support adpf
2025-04-20 23:37:27 +09:00
Cyber Knight
6bec7ec645 raphael: Migrate to select() for ubwc flag
- This fixes video corruption in Google Camera ports.

Change-Id: I0cf4d4e6d4176af6608414ee45437d03b2f8d668
Signed-off-by: Cyber Knight <cyberknight755@gmail.com>
2025-04-20 23:36:37 +09:00
Andy Hung
51df228c31 raphael: rootdir: Optimize for Spatial Audio
Add CAP_SYS_NICE.
Allow util_clamp_min for Spatializer Effect worker thread.
Reduce glitches caused by core migration.
Reduce power consumption as Spatializer Effect is DSP compute bound.
This change only affects Spatial Audio Effect processing.

Test: instrumented
Test: adb shell 'uclampset -a -p $(pgrep -of
android.hardware.audio.service)'
Test: adb shell cat "/proc/$(adb shell pgrep -of
android.hardware.audio.service)/status"
Test: adb shell 'ps -Tl -p $(pgrep -of android.hardware.audio.service)'
Bug: 181148259
Bug: 260918856
Bug: 261228892
Bug: 261686532
Bug: 262803152
Merged-In: I59ea99e8a1720f61954747f6c29e14cfea9a0f56
Change-Id: I59ea99e8a1720f61954747f6c29e14cfea9a0f56

Change-Id: I21697423e8c20b34040c5a6641126918b0d75bb5
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-20 23:36:37 +09:00
Andy Hung
4cee2690a3 raphael: rootdir: Enable RT priority inheritance
Test: instrumented
Bug: 181148259
Bug: 260918856
Merged-In: If56e449a9c6f1a49e372591893d8714534574e3a
Change-Id: If56e449a9c6f1a49e372591893d8714534574e3a
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-20 23:36:37 +09:00
Joey Huab
5b2e259a30 Revert "raphael: Disable Quick tap"
This reverts commit 734d2c792a.
2025-04-18 22:13:17 +09:00
chrisl7
f2c7854684 raphael: sepolicy: Allow vendor_hal_usb_qti to acess vendor_sysfs_usb_controller
Change-Id: Ia6b9546fb951b4f2cbe80c2b67848c932f8f9160
Signed-off-by: chrisl7 <wandersonrodriguesf1@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-18 22:13:17 +09:00
Edgar Arriaga
ea4a641d48 raphael: Set default pin amount for home app
Bug: 288900050
Test: dumpsys pinner
Flag: EXEMPT refactor

Change-Id: I87e15ec968f59acd65e3d4bc80d1bad08704bc53
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-18 22:13:17 +09:00
Michael Bestas
e600d6f1fa raphael: Remove deprecated config_mobile_tcp_buffers/networkAttributes
Change-Id: Ieda947e283cde11cf74a01dc1b438e1deeb902c9
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-18 22:13:17 +09:00
Cassie
15bc917013 raphael: overlay: Use the new auto network selection UI
Change-Id: I76698911103601d5f3ad67e1099790af8c2fdc18
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-18 22:13:17 +09:00
Ethan Chen
b92d1a2e0e raphael: Remove wigig components
Change-Id: If730bffdf749f30ddf0dfeec8ce769848b19b17e
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-18 22:13:17 +09:00
Cosmin Tanislav
5228a0cf61 raphael: Remove unused config_speed_up_audio_on_mt_calls
Change-Id: I2860ab34e0252418236a4d90623b4fbfc6ad994a
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-18 22:13:17 +09:00
Alexander Koskovich
c76e73b26e raphael: Enable concurrent restricted connectivity
Change-Id: I4258a337503e9dc9dea8e35b326a78fbec86bb88
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-16 20:18:38 +09:00
Yan Yan
01d7346f85 raphael: Add feature flag for IPSEC_TUNNEL_MIGRATION
This commit adds the IPSEC_TUNNEL_MIGRATION feature flag,
with XFRM_MIGRATE used as the implementation

Bug: 273379472
Test: build, flash and verify with "adb shell pm list features"
Test: atest IpSecManagerTunnelTest
Change-Id: Id2ee3e65183e32ea63f6251ba921e1e4c6b09ed0
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-16 17:23:56 +09:00
Yumi Yukimura
f15ca7983a raphael: Disable UFFD GC via OVERRIDE_ENABLE_UFFD_GC
* Our kernel (4.14) does not support features needed for UFFD GC.
  Leaving it enabled results in long waiting time on the first boot.

Change-Id: Ia8a17467e13d343c03ee29e514994946e7e84985
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-16 17:23:56 +09:00
kondors1995
e213fe8153 raphael: Drop kernel target-level from manifest 2025-04-16 17:23:56 +09:00
Sebastiano Barezzi
c3e6c17c69 raphael: Move ramdisk fstab target to Soong 2025-04-16 17:23:56 +09:00
LuK1337
48bc14125d raphael: init: Add formattable flag for /data fstab entry
Otherwise it results in broken data wipe in recovery.
2025-04-16 17:23:56 +09:00
Akitlove
a33c17f4f8 raphael: sepolicy: Give QCOM TEE directory access to tmpfs
E QC-time-services: Daemon: Time-services: Waiting to acceptconnection

neobuddy89:

03-30 18:54:57.662   631   631 I auditd  : type=1400 audit(0.0:8): avc:  denied  { read } for  comm="qseecomd" name="/" dev="tmpfs" ino=12416 scontext=u:r:tee:s0 tcontext=u:object_r:tmpfs:s0 tclass=dir permissive=0

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-16 17:23:56 +09:00
Miao Wang
3ee9f43ffd raphael: Suppress warning related to NNAPI HAL accessing zeroth.debuglog.logmask
Bug: 159570217
Test: mm
Change-Id: I14dca33c84e3ed59adc2825de1823aff2de89c6d
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-16 17:23:56 +09:00
Pranav Vashi
6037ce092d raphael: sepolicy: Allow init script access proc
Change-Id: I6a5b0350eb4b7bde5ccb44f8af1fff1dbcf38ecc
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-16 17:23:56 +09:00
Yumi Yukimura
7b8ba2e4f7 raphael: rro_overlays: WifiOverlay: Move to vendor
Change-Id: I190951d6c5619870a938e61d81def3aa36352939
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-16 17:23:56 +09:00
Giovanni Ricca
552a75e551 raphael: Don't explicitly build qcom.fmradio
* It is now built by default

Change-Id: Ia7d9d3253fae17c161bfae82a0562dcb73b14964
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-16 17:23:56 +09:00
Nolen Johnson
8b378ef89c raphael: Migrate away from TARGET_RECOVERY_DEVICE_MODULES
* Dead as of QPR2.

Change-Id: I05bcf246266b89fa7da964f7aa75870b5a63a3b9
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-16 17:23:56 +09:00
Georg Veichtlbauer
8c54064887 raphael: Remove unneeded NFC packages
* NfcNci is built by handheld_system.mk

Change-Id: I83f686b67778634b584a58d8bae95d237e6dbad1
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-16 17:23:56 +09:00
Tyler Wear
ac57620081 raphael: tetheroffload: Version 1.1
Update tetheroffload to version 1.1.

Change-Id: I004e44e416a88a1b39a4c80366df9008722f096b
2025-04-16 17:23:56 +09:00
Ronalds
8dbfbf38cd raphael: convert rootdir to init
Cosmetic just looks nicer
2025-04-16 17:23:56 +09:00
Georg Veichtlbauer
184392cdfa raphael: fstab.zram: Remove max ZRAM compression streams setting
Kernels >4.7 will create a comp stream for each online CPU and ignore /sys/block/max_compression_streams. This has been backported to many 4.4 kernels as well.

Any device running a kernel with the upstream commit can safely remove
the parameter.

Upstream commit: torvalds/linux@43209ea

Change-Id: Ibb29b54a31f0fb5bd941d7709d15d571dd77ebf5
Signed-off-by: GuidixX <guidixm@gmail.com>
2025-04-16 17:23:56 +09:00
Demon000
21b3fc1de7 raphael: overlay: Disable proximity usage during doze 2025-04-16 17:23:56 +09:00
luk1337
98f4b395de raphael: Patch configs to drop NFC logging levels 2025-04-16 17:23:56 +09:00
John Galt
0c45a7e286 raphael: CameraProvider: set saner values
500 is WAAAAY too high on op7 series. Set max to a saner of 200.

Also prior to this change, 80 was default for torch, so set 80 as
default.
2025-04-16 17:23:56 +09:00
Michael Bestas
97fdecbe7f raphael: Drop libvulkan target that is built by default
Change-Id: Ic5d73508b850fac7c7427caf12eb4a8e87e3deca
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-16 17:23:56 +09:00
Bruno Martins
2005756947 raphael: sepolicy: Remove duplicate snxxx AIDL rules
These are now part of qcom/sepolicy_vndr.

Change-Id: I709c29e827d51e22507027862a56cca1efcdc984
2025-04-16 17:23:56 +09:00
LuK1337
2b7e1ac380 raphael: sepolicy: Migrate to snxxx NFC AIDL HAL
Change-Id: Ibe4c30bcb5b912109478a548019d19a85d27a4bb
2025-04-16 17:23:56 +09:00
Joey Huab
91a210d4d9 Revert "raphael: properties: Disable blur by default"
This reverts commit c9f5b5a916.
2025-04-16 17:23:56 +09:00
Cyber Knight
7a051ae4b2 raphael: rootdir: Label brightness node correctly
- We only utilize switch_2/brightness as a toggle switch so explicitly label it.
2025-02-11 19:45:35 +09:00
Cyber Knight
c8d16b2a4e raphael: sepolicy: Allow cameraserver to search directories in sysfs_leds
- This fixes a SEPolicy denial.
2025-02-11 19:45:35 +09:00
John Galt
d1f08ad1ad raphael: camera: add enabled bool for finished workarounds 2025-02-11 19:45:35 +09:00
bengris32
1a17fb33f2 raphael: camera: Implement setTorchModeExt
Change-Id: Id61420be75b7efd1d13a4b0ee1d103ebd3835516
Signed-off-by: electimon <electimon@gmail.com>
2025-02-11 19:45:35 +09:00
bengris32
6381ba3292 raphael: camera: Implement supportsSetTorchModeExt
Change-Id: I2ec2f4a30723763e6123a1b742468752f38e3d2f
Signed-off-by: bengris32 <bengris32@protonmail.ch>
2025-02-11 19:45:35 +09:00
Dhina17
1657441113 raphael: Impl torch light control
Change-Id: Icd32d1f6aedb55462c9df4d7cc63a2a4c4e4263e

[RealJohnGalt:] modify for oneplus usage, add toggle switch
2025-02-11 19:45:35 +09:00
Malathi Gottam
a978fc7c14 raphael: media_profiles: Edit profiles xml in accordance with schema
Export of Video Editor codec profiles & levels and
configuration of Video editor capalibilies,
these two entries are no longer needed hence removed.

Original-Change-Id: I8252415f37f2b1089e7281eec32deda9fd6e98cf
Change-Id: Ib8b4f52b4b83a0a31a66d118c75005ac9945a4e9
2025-02-08 19:05:13 +09:00
kondors1995
72233b1859 raphael: Import AV1 entries from YAAP display Hal 2025-02-08 08:26:07 +01:00
Ronalds
ed7d48b725 raphael: Add Codec2 blobs 2025-02-08 08:26:07 +01:00
Pawin Vongmasa
80acbf6ffa raphael: Move input surface to CCodec
Test: atest CtsMediaTestCases -- \
--module-arg CtsMediaTestCases:size:small
Bug: 131800183
Change-Id: I8783a7de4a4fdf7ff2eac6697c71f6592c9a9e06
2025-02-08 08:26:07 +01:00
wenchangliu
4c1c9f88d8 raphael: Add "can-swap-width-height" for video codecs
[VSR-4.2-004.002] MUST support identical size ranges horizontally
as vertically (for example, support portrait videos of the same size
if they support a landscape video size.)

Bug: 322453106
Test: atest android.mediav2.cts.CodecInfoTest
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:aa514b3779b94a7dc40dab302c84ab8ae97becfa)
Merged-In: I6918bc926964c8dd398d686ee3e7713d4f023ff2
Change-Id: I6918bc926964c8dd398d686ee3e7713d4f023ff2
2025-02-08 08:26:07 +01:00
dianlujitao
ac412cea59 raphael: Remove OMX
* OMX HW video codecs are no longer used after enabling Codec2
 * OMX HW audio codecs won't work without QCOM A/V enhancements, which
   we don't have on Lineage.
 * Imported media_codecs.xml, media_codecs_c2.xml, media_codecs_performance.xml from coral
2025-02-08 08:26:07 +01:00
kondors1995
5fc19d609e raphael: Import media_codecs configs from coral 2025-02-08 08:26:07 +01:00
Joey Huab
5f892fb30d Revert "raphael: hidl: remove android.hardware.light@2.0 entery"
This reverts commit 6a9ecf8a45.
2025-02-08 08:26:07 +01:00
Pranav Vashi
eafda1a97d raphael: dolby: Add profiles overlay for moto dolby
Change-Id: Ided92625cb73f530656e86929b3ba70fea1e940d
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: firebird11 <hbgassel@gmail.com>
2025-02-08 08:26:07 +01:00
Pranav Vashi
f061b5e435 raphael: dolby: Update dax-default from moto
Change-Id: I430adc74c64093bf3c1439e66607567cb6444b80
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: firebird11 <hbgassel@gmail.com>
2025-02-08 08:26:07 +01:00
Pranav Vashi
67e45565bb raphael: libstagefright_foundation-v33 moved to lineage compat
Change-Id: Ib1fd8644e6c2567c89d67967f31c62582cc006ef
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: firebird11 <hbgassel@gmail.com>
2025-02-08 08:26:07 +01:00
dogpoopy
355845c1ff raphael: Switch dolby soundfx to libswdap
* libhwdap.so doesn't work with devices that doesn't have dolby hardware support
* libswdap.so from https://github.com/reiryuki/Dolby-Atmos-Moto-G52-Magisk-Module.git

[@neobuddy89: Pin libswdap.so from above module]
Change-Id: Icb22599d2d439a837b537b59330f30e558869532
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: firebird11 <hbgassel@gmail.com>
2025-02-08 08:26:07 +01:00
Pranav Vashi
bae82ea8b9 raphael: audio: Add dolby to audio effects
* Clean up a bit.

Change-Id: Ie4865489f79b617f2568fc29b382c56bb0cd6f11
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: firebird11 <hbgassel@gmail.com>
2025-02-08 08:26:07 +01:00
Pranav Vashi
bcb0964a74 raphael: audio: Apply NLSound 4.0 optimization for dolby
Change-Id: I221799b79f80933cc8302418f1290893722a5368
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: firebird11 <hbgassel@gmail.com>
2025-02-08 08:26:07 +01:00
basamaryan
bda337f2d8 raphael: audio: Forcefully disable volume leveler
sed -i "/volume-leveler-enable/ s/true/false/g" configs/audio/dax-default.xml

Change-Id: I7ceb29291a9e55036d57975f5a28a149c7fcb435
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: firebird11 <hbgassel@gmail.com>
2025-02-08 08:26:06 +01:00
Fabian Leutenegger
8765bba43e raphael: Link Dolby Atmos dependencies against v33 libstagefright_foundation
* fixes crashes and absurdly high CPU usage while using dolby

Co-authored-by: Woomymy <woomy@woomy.be>
Change-Id: Ib72b775dae677f3085d0b0e2afcbb709d8690063
Signed-off-by: basamaryan <basam.aryan@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: firebird11 <hbgassel@gmail.com>
2025-02-08 08:26:06 +01:00
basamaryan
93a64a15e4 raphael: Build XiaomiDolby
Change-Id: I31ff2c27a479423951c8a645bf1cd65dc6ad6f81
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: firebird11 <hbgassel@gmail.com>
2025-02-08 08:26:06 +01:00
madmax7896
fd76fc1df2 raphael: Import Dolby audio blobs and sepolicy
Squashed with:
commit b1baf8e4109edf71727c39bff18077110174dff2
Author: Yuan Si <do4suki@gmail.com>
Date:   Sat Sep 16 06:35:46 2023 +0800

    sweet: sepolicy: Address more Dolby audio denials

    09-16 06:33:17.209   613   613 E SELinux : avc:  denied  { find } for interface=vendor.dolby.hardware.dms::IDms sid=u:r:mediacodec:s0 pid=1262 scontext=u:r:mediacodec:s0 tcontext=u:object_r:hal_dms_hwservice:s0 tclass=hwservice_manager permissive=0
    09-16 06:33:17.209  1262  8489 E DecDynamicConfig: connectService : Connect to Dolby Native Service failed
    09-16 06:33:17.209  1262  8489 E DecDynamicConfig: checkShareConfig: Dolby service is NULL

    Change-Id: Ideb557073b53e7b31f6535d6053933104b455ae7
    Signed-off-by: Yuan Si <do4suki@gmail.com>

commit e83b80995343c56382e43bf0656ee1e2b79ee067
Author: YuKongA <70465933+YuKongA@users.noreply.github.com>
Date:   Thu Oct 12 00:02:27 2023 +0800

    sweet: sepolicy: Address mediacodec denials

    Partially taken from ec0e9c641f and extended to hal_dms_server

    Change-Id: I51cfbbb2f8b9d83e74ef2f44196e8393189ca3dc
    Signed-off-by: basamaryan <basam.aryan@gmail.com>

commit 0a7aab81667f137c57fa95c4661fa7e43e0e2c1c
Author: Pranav Vashi <neobuddy89@gmail.com>
Date:   Fri Aug 2 20:27:52 2024 +0530

    sweet: Move dax-default to device tree

    Change-Id: Id2054bb5e61bcfe58706e32f44d37fe7524aa912
    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

Change-Id: I2d466238525d074269377a82627a816527aefd74
Signed-off-by: Mesquita <mesquita@aospa.co>
Signed-off-by: basamaryan <basam.aryan@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: firebird11 <hbgassel@gmail.com>
2025-02-08 08:26:06 +01:00
Joey Huab
734d2c792a raphael: Disable Quick tap 2025-02-01 08:27:09 +09:00
Joey Huab
dd3127001e raphael: overlay: Update configs 2025-02-01 03:36:19 +09:00
Pranav Vashi
0eace15bc4 raphael: overlay: Remove nr availability from carrier config
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-01-30 08:59:11 +09:00
Michael Bestas
0f91733e1a raphael: Migrate mount point creation out of Android.mk
Change-Id: Id5986b8a740e45f864eecdd2bd82d9455f128d6b
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: firebird11 <hbgassel@gmail.com>
2025-01-30 08:57:10 +09:00
Kumar Anurag Singh
f9f2b4508a raphael: audio: remove direct flag for VOIP RX
remove direct flag for VOIP RX.

Change-Id: I9ee6f300b7a891afd1ad06c063424509d16d271e
2025-01-30 02:37:43 +09:00
Alcatraz323
27304f2225 raphael: Build DSPVolumeSynchronizer
Change-Id: I46f37b21fc9f0dd7cfb7f1d72ebd07ae5375bb2f
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-01-25 06:44:13 +09:00
Pranav Vashi
fd08cac562 raphael: overlay: Disable 5G toggle
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-01-25 06:43:27 +09:00
DY3413
e35d56c754 raphael: Use common libqti-perfd-client
- Add libqti-perfd-client namespace import

Change-Id: I9278d402937e87ebd06a91ad482982cb27a2b5fa
Signed-off-by: DY3413 <milosix3413@gmail.com>
2025-01-24 04:35:51 +09:00
Joey Huab
9c3d36756a raphael: Bring back Leica camera
Revert "raphael: Drop Leica camera"

This reverts commit 3334c4c497.

Revert "raphael: unset BUILD_BROKEN_DUP_RULES"

This reverts commit 35cfef58c2.

Revert "raphael: unset BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES"

This reverts commit 6744f6fbf3.

Revert "raphael: Drop prebuilt camera provider blobs"

This reverts commit 5ddbcb08fa.
2025-01-24 04:35:50 +09:00
kondors1995
a265651bc6 raphael: dontaudit vendor_thermal-engine capability dac_override
avc: denied { dac_override } for capability=1 scontext=u:r:vendor_thermal-engine:s0 tcontext=u:r:vendor_thermal-engine:s0 tclass=capability permissive=0
2025-01-23 07:15:35 +09:00
SahilSonar
0c20424c30 raphael: rootdir: Use stop instead of setprop for console
- Using setprop generates a denial

1 W /system/bin/init: type=1107 audit(0.0:10): uid=0 auid=4294967295 ses=4294967295 subj=u:r:init:s0 msg='avc: denied { set } for property=init.svc.console pid=358 uid=0 gid=0 scontext=u:r:vendor_init:s0 tcontext=u:object_r:exported2_default_prop:s0 tclass=property_service permissive=0'
: Unable to set property init.svc.console to stopped: error code: 0x18
2025-01-23 07:15:35 +09:00
kondors1995
1f2d9e7ed2 raphael: resolve GNSS denial
avc:  denied  { read } for  name="u:object_r:vendor_pd_locater_dbg_prop:s0" dev="tmpfs" ino=2468 scontext=u:r:vendor_hal_gnss_qti:s0 tcontext=u:object_r:vendor_pd_locater_dbg_prop:s0 tclass=file permissive=0
2025-01-23 07:15:35 +09:00
kondors1995
27a8bd023a raphael: Move some props to system_ext
Resolves selinux denials
2025-01-23 07:15:35 +09:00
basamaryan
b906c6b80c raphael: Move persist.vendor.qti.telephony.vt_cam_interface to system_ext.prop
* To avoid SELinux permission check failure
2025-01-23 07:15:32 +09:00
kondors1995
8217f85b7d raphael: sepolicy: resolve mutiple denials 2025-01-23 07:15:28 +09:00
kondors1995
b4c6046eda raphael: sepolicy: allow vendor to write write to sched nodes 2025-01-23 07:15:25 +09:00
kondors1995
0b8cfa3cb4 raphael: Drop sysfs_msm_subsys rules 2025-01-23 07:15:25 +09:00
kondors1995
03d90e8638 raphael: treewide: fixup BPs with bpfix 2025-01-23 07:15:23 +09:00
Joey Huab
e4dd0415fb raphael: Enable Smart Pixels 2025-01-23 03:48:06 +09:00
Joey Huab
47629f5a95 raphael: libinit_variant: Fix misleading indentation warning
device/xiaomi/raphael/libinit/libinit_variant.cpp:46:6: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
   46 |         property_override("ro.boot.hardware.sku", "nfc");
      |         ^
device/xiaomi/raphael/libinit/libinit_variant.cpp:44:5: note: previous statement is here
   44 |     if (variant.nfc)
      |     ^
1 warning generated.
2025-01-20 23:07:57 +09:00
Joey Huab
bcfe83f0c4 raphael: Track our own fork of soviet kernel 2025-01-20 21:54:01 +09:00
Michael Bestas
a112cd8389 raphael: 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
2025-01-19 22:28:25 +09:00
Ronalds
44dddaced5 raphael: powerhint: Rework GPU freq boosting 2025-01-15 03:28:00 +09:00
Ronalds
0578b33ede raphael: Overhaul UClamp & Powerhint setup
* init uclamp configration is inlined with gs201
* Interaction & sustained performance hitns are taken fron coral
* Rest of newly added hints are from Pixel 8a akita
* UClamp values are adjusted to our setup with uses % value from 1-100
  Not like google that uses value from 0-1024
* For efficney porpuses Interaction boosts are limited to 200ms
2025-01-15 03:27:23 +09:00
LuK1337
cf37844088 raphael: Build gralloc.qcom
Camera HAL wants it and crashes if it loads default gralloc
implementation instead.

Fixes: https://gitlab.com/LineageOS/issues/android/-/issues/8059
Change-Id: I47965713c822cfdfc369975f8975f21f70133608
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-01-11 17:13:08 +09:00
Michael Bestas
712745fe0e raphael: Update display flags & packages
Required after display HAL blueprint conversion

Change-Id: Ifc4e10703d3424607b9dc8bcc8e417d1c88cc2f3
2025-01-11 17:12:54 +09:00
Joey Huab
4c37e5e0da raphael: sepolicy: Drop duplicate entry for icnss/wakeup 2025-01-10 12:29:50 +09:00
Joey Huab
3334c4c497 raphael: Drop Leica camera 2025-01-10 12:29:50 +09:00
Joey Huab
c0730ca859 raphael: Switch kernel to Soviet 15.0 branch 2025-01-10 12:29:49 +09:00
kondors1995
537b7b0144 raphael: switch to common tree UDFPS implementation 2024-12-26 09:44:23 +09:00
kondors1995
4a814e4850 raphael: remove in tree camera shims
libpiex_shim does same thing as libwatermark_shim and we no longer use megvii_shim
2024-12-26 09:44:20 +09:00
kondors1995
dec1ba8bef raphael: remove in tree libqti-perfd-client
lets use one from hardware_qcom-caf_common
2024-12-26 09:44:15 +09:00
kondors1995
7c27b4d954 raphael: import missing adreno libs
without thease video recording is broken
2024-12-26 09:44:12 +09:00
kondors1995
8a452fcd7f raphael: thermal: Overhaul thermal configs
Thease configs are based of nullxception work for vayu.
My adaptations to his configs are as follows:
* Moved to sdm-term sensor intead of cam_therm1 since we havve brought it up in kernel
* Restored NPU & Modem troting
* Added sensors back from my thermal_info.json
2024-12-26 09:44:08 +09:00
nullxception
02b527c92c raphael: Fix missing domain sockets for thermal-engine clients 2024-12-26 09:44:08 +09:00
kondors1995
74748b3eab raphael: update Adreno driver to 786 from Quest 3 2024-12-26 09:44:04 +09:00
kondors1995
e26d4c13fc raphael: Remove not needed namespaces
as result we need to import few more libs since they were build with
sm8250
2024-12-26 09:44:01 +09:00
kondors1995
702738def1 raphael: Inline LMKD config with oneplus sm8150
HEAD 76a1b7dff1
2024-12-26 09:44:01 +09:00
RealJohnGalt
3cb5072278 raphael: UdfpsExtension: add dim zorder function
Doesn't do anything, to compile with new frameworks/native commit
2024-12-26 09:43:57 +09:00
kondors1995
9200e0aa14 raphael: update Graphics (SDM) sha 2024-12-26 09:43:57 +09:00
kondors1995
cda7338029 raphael: fcm: update android.hardware.health to v3 2024-12-26 09:43:54 +09:00
kondors1995
35cfef58c2 raphael: unset BUILD_BROKEN_DUP_RULES
We nolonger have any DUP RULES
2024-12-26 09:43:54 +09:00
kondors1995
0c1db71549 raphael: move sensors@1.0-service overide to init.qcom.rc
this will is our last BUILD_BROKEN_DUP_RULE
2024-12-26 09:43:54 +09:00
Omkar Chandorkar
68b1143361 raphael: Enable secure NFC functionality 2024-12-26 09:43:54 +09:00
balgxmr
b4ef5e4ee5 rapahel: switch to adreno blobs from nabu V13.0.3.0.RKXCNXM
* So Magic Eraser/Editor stops crashing.
* Also stop crashes while editing on Google Photos
2024-12-26 09:43:54 +09:00
kondors1995
6744f6fbf3 raphael: unset BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES
Now  all elf cheks are solved
2024-12-26 09:43:54 +09:00
kondors1995
9c83692293 raphael: sort proprietary-files.txt 2024-12-26 09:43:51 +09:00
kondors1995
f8759e8db4 raphael: Drop media component for now 2024-12-26 09:43:46 +09:00
mikeNG
9a056a213f raphael: Libraries are now automatically added to PRODUCT_PACKAGES 2024-12-26 09:43:46 +09:00
kondors1995
48af2f5793 raphael: Disable ELF checks for libs with missing symbols
They contain unendfied symbols
2024-12-26 09:43:46 +09:00
kondors1995
cc6b5b90d6 raphael: Disable ELF checks for libc2d30_bltlib.so
They contain unendfied symbols
2024-12-26 09:43:46 +09:00
kondors1995
9d10dae5f0 raphael: Disbale ELF checks for libmialgoengine 2024-12-26 09:43:46 +09:00
kondors1995
4e38de6cb9 raphael: Drop prebuild libdmabufheap 2024-12-26 09:43:46 +09:00
kondors1995
0e99dae8fc raphael: Add missing libs 2024-12-26 09:43:46 +09:00
kondors1995
7b110982ac raphael: Disable deps check for libadreno_app_profiles.so 2024-12-26 09:43:39 +09:00
kondors1995
dc8a38114a raphael: Disable deps check for libOmxVideoDSMode 2024-12-26 09:43:39 +09:00
Cosmin Tanislav
41ab01c455 raphael: skip dependencies which aren't defined in .bp
Change-Id: I01a653661856495788c05b720c0577dac44998a4
2024-12-26 09:43:39 +09:00
Sebastiano Barezzi
ccd6d97e02 raphael: Drop libril-qcril-hook-oem.so
Requires libril, we disabled that target, safe to assume only non-qcrild
uses this
2024-12-26 09:43:39 +09:00
Sebastiano Barezzi
aba326fdcb raphael: Append _vendor to conflicting vendor libs 2024-12-26 09:43:35 +09:00
kondors1995
533cf6a727 raphael: Add vendor soong imports 2024-12-26 09:43:35 +09:00
Aaron Kling
63b6a8bc8a raphael: Enable elf checks
Change-Id: Ia6c9a381abb3384c77532d75e02fd84c841a4d1e
2024-12-26 09:43:35 +09:00
Michael Bestas
f69e6610a7 raphael: Disable ELF checks for certain libraries
Change-Id: I61dbc3559b43becc22f69ae2c1c3e8edf95e2483
2024-12-26 09:43:35 +09:00
basamaryan
2442115b75 raphael: Fix goodix_fod soname
Change-Id: Icb0582c78e1ae5a27820abbd31372757e9f330b3
2024-12-26 09:43:35 +09:00
Bruno Martins
9a17c1f9c6 raphael: Remove software OMX blobs
Default to C2 codecs from swcodec apex
2024-12-26 09:43:34 +09:00
Ronalds
8866e3ebc4 raphael: fix wrong egl syslink 2024-12-26 09:43:34 +09:00
kondors1995
5ddbcb08fa raphael: Drop prebuilt camera provider blobs 2024-12-26 09:43:34 +09:00
kondors1995
69eaebfbb3 raphael: unset BUILD_BROKEN_ENFORCE_SYSPROP_OWNER 2024-12-26 09:43:34 +09:00
kondors1995
14ae189fb9 raphael: *.apk: disable dexpreopt 2024-12-26 09:43:34 +09:00
kondors1995
1516cdec12 raphael: update adreno from 786Q3-Q2-OP12-nospoof2 by LyNcHPlN 2024-12-26 09:43:34 +09:00
kondors1995
67c4c86bcc raphael: Add missing libVkLayer_ADRENO_qprofiler.so 2024-12-26 09:43:34 +09:00
Ido Ben-Hur
7c4ff8788e raphael: Revert DeviceAsWebcam changes
for now. until someone has enough will to bring this back to A15

commit f3235db70a765297c7388f202b1be5dfd527c595
Author: kondors1995 <normandija1945@gmail.com>
Date:   Sat Oct 5 22:53:41 2024 +0300

    Revert "raphael: Setup DeviceAsWebcam"

    This reverts commit 98bb01813f66200d0bb3044ee1a3b43794506d73.

commit 67e3c0a6bd47e0fe5086575d52e3504b74766cf5
Author: kondors1995 <normandija1945@gmail.com>
Date:   Sat Oct 5 22:51:35 2024 +0300

    Revert "raphael: Move usage of USB MTP/PTP functionality with USB F_FS driver"

    This reverts commit 841d339f1e35e672d0944ffd64bc0a94593f87cc.

commit 847726e52de3b08af373dd76f0ad7d3e8467b01c
Author: kondors1995 <normandija1945@gmail.com>
Date:   Sat Oct 5 22:50:50 2024 +0300

    Revert "raphael: Migrate to QTI USB Gadget 1.2 HIDL"

    This reverts commit 7dbec32389370a9a4150e68049adf142fb8f3747.

commit 2ad728426c2c6b33bf908320e167d1906f5dcd84
Author: kondors1995 <normandija1945@gmail.com>
Date:   Sat Oct 5 22:49:40 2024 +0300

    Revert "raphae: Switch to android.hardware.usb@1.3-service.dual_role_usb"

    This reverts commit 29b31e1dd865defcbf83dc34dadaf51c2db2601a.
2024-12-26 09:43:34 +09:00
kondors1995
4f60a2b72e raphael: update fingerprint service 2024-12-26 09:43:34 +09:00
kondors1995
5a86ec9324 raphael: Add pixel_pitch
6000 / sesor size
2024-12-26 09:43:34 +09:00
kondors1995
0cbb1664f8 raphael: remove display overclock leftovers 2024-12-26 09:43:34 +09:00
ArianK16a
bdb3905df8 raphael: Allow gettid syscall for atfwd@2.0
09-18 17:27:17.797     1     1 I init    : ... started service 'vendor.atfwd' has pid 6264
09-18 17:27:17.805  6264  6264 W ATFWD-daemon: libminijail[6264]: failed to get path of fd 3: No such file or directory
09-18 17:27:17.805  6264  6264 W ATFWD-daemon: libminijail[6264]: allowing syscall: connect
09-18 17:27:17.805  6264  6264 W ATFWD-daemon: libminijail[6264]: allowing syscall: fcntl
09-18 17:27:17.805  6264  6264 W ATFWD-daemon: libminijail[6264]: allowing syscall: sendto
09-18 17:27:17.805  6264  6264 W ATFWD-daemon: libminijail[6264]: allowing syscall: socket
09-18 17:27:17.805  6264  6264 W ATFWD-daemon: libminijail[6264]: allowing syscall: writev
09-18 17:27:17.806  6264  6264 W ATFWD-daemon: libminijail[6264]: logging seccomp filter failures
09-18 17:27:17.808  6264  6264 E ATFWD-daemon: libminijail[6264]: blocked syscall: gettid
09-18 17:27:17.826     1     1 I init    : Service 'vendor.atfwd' (pid 6264) received signal 31
09-18 17:27:17.826     1     1 I init    : Sending signal 9 to service 'vendor.atfwd' (pid 6264) process group...
2024-12-26 09:43:31 +09:00
kondors1995
6681303803 Revert "raphael: switch to nabu V13.0.3.0.RKXCNXM adreno blobs"
This reverts commit 3ad8dffa5dfa7b53284afe70ad7bd58cca8a4b92.
2024-12-26 09:36:40 +09:00
SamarV-121
9f57e7f468 raphael: Link older libcrypto for widevine blobs
e202e51cb0

Change-Id: Ic32d5103d42cd28ccbc8055e766288dfefc1c02d
Signed-off-by: Cyber Knight <cyberknight755@gmail.com>
2024-12-26 09:36:40 +09:00
Michael Bestas
683d5a1a83 raphael: Sync extract scripts with templates
Change-Id: I98a36854c5a0c0390592911bb2558b34eff77efc
Signed-off-by: Cyber Knight <cyberknight755@gmail.com>
2024-12-26 09:36:40 +09:00
Sebastiano Barezzi
37c31f5fc8 raphael: Go away Megvii
* Nuke Megvii proprietary files and build stub ones from hardware/xiaomi

Change-Id: I53f8f0897b25517741a06c5962c02fe8fda61072
2024-12-26 09:36:40 +09:00
Cyber Knight
36e789d63d raphael: rro_overlay: Increase priority of overlays
Change-Id: Ia136975a2b4cdd64d138f99e768615406086524b
Signed-off-by: Cyber Knight <cyberknight755@gmail.com>
2024-12-26 09:36:40 +09:00
Cyber Knight
f9dfcd043e raphael: Drop ext4 entries
- There is no point in keeping them anyways.

Change-Id: Ibada027300607d997ce72ac84a25b6a72666411a
Signed-off-by: Cyber Knight <cyberknight755@gmail.com>
2024-12-26 09:36:40 +09:00
Cyber Knight
d810890714 raphael: Drop useless 64bo ifeq
- We can't do full 64bo on msm-4.14 due to audio and adsp being 32-bit.

Change-Id: I75d79e3c664f49baedc28008dbb61ff817696e5d
Signed-off-by: Cyber Knight <cyberknight755@gmail.com>
2024-12-26 09:36:39 +09:00
Kelvin Zhang
d9e8677794 raphael: Explicitly set as an non-AB target
We will be changing AB to be the default, existing non-AB targets
need to explicitly set AB_OTA_UPDATER to false

Test: th
Change-Id: I86a76296937a6abab1b4495cd66a35144348aafd
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2024-12-26 09:36:39 +09:00
Kelvin Zhang
a49f61bffe raphael: Allow to access bootable/deprecated-ota targets
sm8150-common is still using non-AB update.
non-AB code will be moved to a separated namespace, add
deprecated-ota to sm8150-common namespace list ahead of time to avoid
breakage.

Test: th
Bug: 324360816
Change-Id: I909064be36e8febe80492cf010eb6eac3d6bc33d
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2024-12-26 09:36:39 +09:00
Ido Ben-Hur
45e9b2d860 raphael: Build libgui_vendor 2024-12-26 09:36:39 +09:00
kondors1995
dff528ca27 raphael: switch to nabu V13.0.3.0.RKXCNXM adreno blobs
Fixes Magic Eraser/Editor crashes in google photos
2024-12-26 09:36:39 +09:00
pengfeix
6daadffe13 raphael: overlay: Enable IMS feature flags for supported carriers
- Enable VoLTE/VoWIFI for all indian cariers
- Enable VoLTE for Viettel Vietnam
- Enable VoLTE for Mobifone Vietnam
- Add full Support Carrier Smartfren VoLTE
- Enable VoLTE support for Indosat and XL Axiata
- Enable VoLTE support for Telkomsel (Indonesia)
- Enable VoLTE support for Three
- Enable VoLTE support for Bakcell (Azerbaijan)

Signed-off-by: Frost <159105703+Karan-Frost@users.noreply.github.com>
2024-12-26 09:36:39 +09:00
94953d308b raphael: Initialize for Evolution X 10.x 2024-12-26 09:36:35 +09:00
126 changed files with 5166 additions and 3096 deletions

View File

@@ -6,6 +6,7 @@
soong_namespace {
imports: [
"bootable/deprecated-ota",
"hardware/google/interfaces",
"hardware/google/pixel",
"hardware/xiaomi",

View File

@@ -1,34 +0,0 @@
#
# Copyright (C) 2021-2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE),raphael)
include $(call all-makefiles-under,$(LOCAL_PATH))
include $(CLEAR_VARS)
# A/B builds require us to create the mount points at compile time.
# Just creating it for all cases since it does not hurt.
FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/firmware_mnt
$(FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
@echo "Creating $(FIRMWARE_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/firmware_mnt
BT_FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/bt_firmware
$(BT_FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
@echo "Creating $(BT_FIRMWARE_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/bt_firmware
DSP_MOUNT_POINT := $(TARGET_OUT_VENDOR)/dsp
$(DSP_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
@echo "Creating $(DSP_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/dsp
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT)
endif

View File

@@ -5,9 +5,4 @@
#
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/evolution_raphael.mk
COMMON_LUNCH_CHOICES := \
evolution_raphael-user \
evolution_raphael-userdebug \
evolution_raphael-eng
$(LOCAL_DIR)/lineage_raphael.mk

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2021-2022 The LineageOS Project
# Copyright (C) 2019-2025 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
@@ -16,14 +16,12 @@ TARGET_CPU_ABI := arm64-v8a
TARGET_CPU_VARIANT := cortex-a76
TARGET_CPU_VARIANT_RUNTIME := cortex-a76
ifeq (,$(filter %_64,$(TARGET_PRODUCT)))
TARGET_2ND_ARCH := arm
TARGET_2ND_ARCH_VARIANT := armv8-2a
TARGET_2ND_CPU_ABI := armeabi-v7a
TARGET_2ND_CPU_ABI2 := armeabi
TARGET_2ND_CPU_VARIANT := cortex-a76
TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a76
endif
# Assert
TARGET_OTA_ASSERT_DEVICE := raphael,raphaelin
@@ -39,34 +37,20 @@ TARGET_NO_BOOTLOADER := true
# Build
BUILD_BROKEN_DUP_RULES := true
BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
BUILD_BROKEN_ENFORCE_SYSPROP_OWNER := true
# ConfigStore
TARGET_HAS_HDR_DISPLAY := true
TARGET_HAS_WIDE_COLOR_DISPLAY := true
# Camera
TARGET_CAMERA_USES_NEWER_HIDL_OVERRIDE_FORMAT := true
TARGET_INCLUDES_MIUI_CAMERA := true
MALLOC_SVELTE := true
MALLOC_SVELTE_FOR_LIBC32 := true
# Display
TARGET_DISABLED_UBWC := true
TARGET_GRALLOC_HANDLE_HAS_RESERVED_SIZE := true
TARGET_SCREEN_DENSITY := 440
TARGET_USES_COLOR_METADATA := true
TARGET_USES_DISPLAY_RENDER_INTENTS := true
TARGET_USES_DRM_PP := true
TARGET_USES_GRALLOC4 := true
TARGET_USES_HWC2 := true
# Filesystem
TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs
# Fingerprint
TARGET_INPUTDISPATCHER_SKIP_EVENT_KEY := 338
TARGET_SURFACEFLINGER_UDFPS_LIB := //$(DEVICE_PATH):libudfps_extension.xiaomi_raphael
TARGET_USES_FOD_ZPOS := true
# FM
@@ -74,17 +58,15 @@ BOARD_HAVE_QCOM_FM := true
# HIDL
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
vendor/evolution/config/device_framework_matrix.xml
$(DEVICE_PATH)/hidl/framework_compatibility_matrix.xml \
hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \
hardware/xiaomi/vintf/xiaomi_framework_compatibility_matrix.xml \
vendor/lineage/config/device_framework_matrix.xml
DEVICE_MANIFEST_FILE := $(DEVICE_PATH)/hidl/manifest.xml
DEVICE_MATRIX_FILE := $(DEVICE_PATH)/hidl/compatibility_matrix.xml
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := $(DEVICE_PATH)/hidl/framework_compatibility_matrix.xml
ODM_MANIFEST_SKUS += nfc
ODM_MANIFEST_NFC_FILES := $(DEVICE_PATH)/hidl/manifest_nfc.xml
# Init
TARGET_INIT_VENDOR_LIB := //$(DEVICE_PATH):init_xiaomi_raphael
TARGET_RECOVERY_DEVICE_MODULES ?= init_xiaomi_raphael
# Kernel
BOARD_KERNEL_BASE := 0x00000000
BOARD_KERNEL_CMDLINE += console=null
@@ -101,25 +83,12 @@ BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb
BOARD_KERNEL_PAGESIZE := 4096
BOARD_KERNEL_SEPARATED_DTBO := true
BOARD_RAMDISK_USE_LZ4 := true
TARGET_KERNEL_CLANG_VERSION := boolx-clang
TARGET_KERNEL_CLANG_PATH := $(shell pwd)/prebuilts/clang/host/linux-x86/$(TARGET_KERNEL_CLANG_VERSION)
TARGET_KERNEL_CLANG_COMPILE := true
TARGET_KERNEL_CROSS_COMPILE_PREFIX := $(TARGET_KERNEL_CLANG_PATH)/bin/aarch64-linux-gnu-
TARGET_KERNEL_CROSS_COMPILE_ARM32_PREFIX := $(TARGET_KERNEL_CLANG_PATH)/bin/arm-linux-gnueabi-
TARGET_KERNEL_ADDITIONAL_FLAGS := LLVM=1 LLVM_IAS=1
KERNEL_SUPPORTS_LLVM_TOOLS := true
KERNEL_LD := LD=ld.lld
TARGET_KERNEL_CLANG_PATH := $(shell pwd)/prebuilts/clang/host/linux-x86/clang-r522817
TARGET_KERNEL_CLANG_VERSION := r522817
TARGET_KERNEL_SOURCE := kernel/xiaomi/raphael
TARGET_KERNEL_CONFIG := raphael_defconfig
# Lineage Health
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_PATH := /sys/class/power_supply/battery/input_suspend
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_ENABLED := 0
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_DISABLED := 1
TARGET_HEALTH_CHARGING_CONTROL_SUPPORTS_BYPASS := false
# Media
TARGET_DISABLED_UBWC := true
TARGET_USES_ION := true
# Partitions
@@ -177,7 +146,7 @@ TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
# Recovery
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
BOARD_INCLUDE_RECOVERY_DTBO := true
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.qcom
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/init/fstab.qcom
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
TARGET_RECOVERY_UI_MARGIN_HEIGHT := 120
@@ -188,7 +157,7 @@ TARGET_RELEASETOOLS_EXTENSIONS := $(DEVICE_PATH)
ENABLE_VENDOR_RIL_SERVICE := true
# Security patch level
VENDOR_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH)
VENDOR_SECURITY_PATCH := 2025-05-05
# Sepolicy
include device/qcom/sepolicy_vndr/SEPolicy.mk

View File

@@ -1,27 +1,13 @@
//
// Copyright (C) 2020 The LineageOS Project
// Copyright (C) 2024 LibreMobileOS Foundation
//
// 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
// SPDX-License-Identifier: Apache-2.0
//
// 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.
cc_library_shared {
name: "libshim_megvii",
proprietary: true,
srcs: ["megvii_shim.cpp"],
cc_library_static {
name: "libcameraservice_extension.raphael",
srcs: ["CameraProviderExtension.cpp"],
include_dirs: [
"frameworks/av/services/camera/libcameraservice/common"
],
}
cc_library_shared {
name: "libwatermark_shim",
srcs: ["libwatermark_shim.c"],
vendor: true,
}

View File

@@ -0,0 +1,78 @@
/*
* Copyright (C) 2024 LibreMobileOS Foundation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "CameraProviderExtension.h"
#include <fstream>
#define TORCH_BRIGHTNESS "brightness"
#define TORCH_MAX_BRIGHTNESS "max_brightness"
#define TOGGLE_SWITCH "/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:switch_2/brightness"
static std::string kTorchLedPaths[] = {
"/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_0",
"/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_1",
};
/**
* Write value to path and close file.
*/
template <typename T>
static void set(const std::string& path, const T& value) {
std::ofstream file(path);
file << value;
}
/**
* Read value from the path and close file.
*/
template <typename T>
static T get(const std::string& path, const T& def) {
std::ifstream file(path);
T result;
file >> result;
return file.fail() ? def : result;
}
bool supportsTorchStrengthControlExt() {
return true;
}
bool supportsSetTorchModeExt() {
return false;
}
int32_t getTorchDefaultStrengthLevelExt() {
return 80;
}
int32_t getTorchMaxStrengthLevelExt() {
// 200 (out of 500) is a sane max brightness
return 200;
}
int32_t getTorchStrengthLevelExt() {
// We write same value in the both LEDs,
// so get from one.
auto node = kTorchLedPaths[0] + "/" + TORCH_BRIGHTNESS;
return get(node, 0);
}
void setTorchStrengthLevelExt(int32_t torchStrength, bool enabled) {
set(TOGGLE_SWITCH, 0);
for (auto& path : kTorchLedPaths) {
auto node = path + "/" + TORCH_BRIGHTNESS;
set(node, torchStrength);
}
if (enabled)
set(TOGGLE_SWITCH, 255);
}
void setTorchModeExt(bool enabled) {
int32_t strength = getTorchDefaultStrengthLevelExt();
setTorchStrengthLevelExt(enabled ? strength : 0, enabled);
}

View File

@@ -1 +0,0 @@
void _ZN4piex19GetPreviewImageDataEPNS_15StreamInterfaceEPNS_16PreviewImageDataE() {}

View File

@@ -1,19 +0,0 @@
/*
* Copyright (C) 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.
*/
namespace android {
extern "C" void mg_facepp() {}
}

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--- Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. -->
<!--- Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. -->
<!--- -->
<!--- Redistribution and use in source and binary forms, with or without -->
<!--- modification, are permitted provided that the following conditions are -->
@@ -44,6 +44,15 @@
<library name="volume_listener" path="libvolumelistener.so"/>
<library name="audiosphere" path="libasphere.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 +100,15 @@
<effect name="notification_helper" library="volume_listener" uuid="0b776dde-0590-11e5-81ba-0025b32654a0"/>
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
<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">

View File

@@ -33,7 +33,7 @@ outputs {
app_type 69943
}
voip_rx {
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX
flags AUDIO_OUTPUT_FLAG_VOIP_RX
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 8000|16000|32000|48000
bit_width 16

View File

@@ -74,8 +74,6 @@
<mixPort name="hifi_playback" role="source" />
<mixPort name="compress_passthrough" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING">
<profile name="" format="dynamic"
samplingRates="dynamic" channelMasks="dynamic"/>
</mixPort>
<mixPort name="direct_pcm" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT">
@@ -142,7 +140,7 @@
samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_VOIP_RX">
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>

File diff suppressed because it is too large Load Diff

View File

@@ -86,27 +86,75 @@
"ResetOnInit": true
},
{
"Name": "GPUMaxFreq",
"Path": "/sys/class/kgsl/kgsl-3d0/devfreq/max_freq",
"Name": "Dex2oatUClampMaxBoost",
"Path": "/dev/cpuctl/dex2oat/cpu.uclamp.max",
"Values": [
"770000000",
"715000000",
"615000000"
"40",
"60"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "TAUClampBoost",
"Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
"Values": [
"0",
"30"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "TAUClampLatency",
"Path": "/dev/cpuctl/top-app/cpu.uclamp.latency_sensitive",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "FGUClampBoost",
"Path": "/dev/cpuctl/foreground/cpu.uclamp.min",
"Values": [
"0",
"20"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "MLUclampBoost",
"Path": "/dev/cpuctl/nnapi-hal/cpu.uclamp.min",
"Values": [
"0",
"75"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "GPUMaxFreq",
"Path": "/sys/class/kgsl/kgsl-3d0/max_pwrlevel",
"Values": [
"0",
"1",
"2"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "GPUMinFreq",
"Path": "/sys/class/kgsl/kgsl-3d0/devfreq/min_freq",
"Path": "/sys/class/kgsl/kgsl-3d0/min_pwrlevel",
"Values": [
"770000000",
"715000000",
"615000000",
"515000000",
"345000000",
"270000000",
"150000000"
"0",
"1",
"3",
"4",
"5",
"6"
],
"ResetOnInit": true
},
@@ -320,34 +368,46 @@
"Value": "SUSTAINED_PERFORMANCE"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUBWHystTriggerCount",
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "CPUBigClusterMaxFreq",
"Duration": 0,
"Value": "0"
"Value": "1401600"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 0,
"Value": "1401600"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "CPULittleClusterMaxFreq",
"Duration": 200,
"Value": "1113600"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "GPUMaxFreq",
"Duration": 0,
"Value": "2"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUBWHystLength",
"Duration": 0,
"Value": "0"
"Node": "TAUClampBoost",
"Duration": 5000,
"Value": "30"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUBWHistMemory",
"Duration": 0,
"Value": "0"
"Node": "TAUClampLatency",
"Duration": 5000,
"Value": "1"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUBWMinFreq",
"Duration": 0,
"Value": "9155"
},
{
"PowerHint": "INTERACTION",
"Node": "LLCCBWMinFreq",
"Duration": 0,
"Value": "2597"
"Node": "FGUClampBoost",
"Duration": 3000,
"Value": "20"
},
{
"PowerHint": "INTERACTION",
@@ -445,12 +505,41 @@
"Duration": 3000,
"Value": "0"
},
{
"PowerHint": "LAUNCH",
"Node": "Dex2oatUClampMaxBoost",
"Duration": 3000,
"Value": "60"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUClampBoost",
"Duration": 3000,
"Value": "30"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUClampLatency",
"Duration": 3000,
"Value": "1"
},
{
"PowerHint": "LAUNCH",
"Node": "FGUClampBoost",
"Duration": 3000,
"Value": "20"
},
{
"PowerHint": "AUDIO_LAUNCH",
"Node": "PMQoSCpuDmaLatency",
"Duration": 2000,
"Value": "2c"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "LAUNCH_EXTEND"
},
{
"PowerHint": "AUDIO_STREAMING_LOW_LATENCY",
"Node": "PowerHALAudioState",
@@ -473,19 +562,13 @@
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "GPUMinFreq",
"Duration": 0,
"Value": "345000000"
"Value": "1"
},
{
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "GPUMaxFreq",
"Duration": 0,
"Value": "615000000"
},
{
"PowerHint": "ML_ACC",
"Node": "PMQoSCpuDmaLatency",
"Duration": 2000,
"Value": "2c"
"Value": "0"
},
{
"PowerHint": "DISPLAY_UPDATE_IMMINENT",
@@ -494,130 +577,16 @@
"Value": "1"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_50",
"Node": "CPULittleClusterMaxFreq",
"Duration": 3600000,
"Value": "844800"
"PowerHint": "ML_ACC",
"Node": "MLUclampBoost",
"Duration": 2000,
"Value": "75"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_50",
"Node": "CPULittleClusterMinFreq",
"Duration": 3600000,
"Value": "576000"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_60",
"Node": "CPULittleClusterMaxFreq",
"Duration": 3600000,
"Value": "1036800"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_60",
"Node": "CPULittleClusterMinFreq",
"Duration": 3600000,
"Value": "576000"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_70",
"Node": "CPULittleClusterMaxFreq",
"Duration": 3600000,
"Value": "1209600"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_80",
"Node": "CPULittleClusterMaxFreq",
"Duration": 3600000,
"Value": "1382400"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_90",
"Node": "CPULittleClusterMaxFreq",
"Duration": 3600000,
"Value": "1555200"
},
{
"PowerHint": "LOW_POWER_CPU_50",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3600000,
"Value": "1171200"
},
{
"PowerHint": "LOW_POWER_CPU_50",
"Node": "CPUBigClusterMinFreq",
"Duration": 3600000,
"Value": "0"
},
{
"PowerHint": "LOW_POWER_CPU_50",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 3600000,
"Value": "1401600"
},
{
"PowerHint": "LOW_POWER_CPU_50",
"Node": "CPUBigPlusClusterMinFreq",
"Duration": 3600000,
"Value": "0"
},
{
"PowerHint": "LOW_POWER_CPU_60",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3600000,
"Value": "1497600"
},
{
"PowerHint": "LOW_POWER_CPU_60",
"Node": "CPUBigClusterMinFreq",
"Duration": 3600000,
"Value": "0"
},
{
"PowerHint": "LOW_POWER_CPU_60",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 3600000,
"Value": "1708800"
},
{
"PowerHint": "LOW_POWER_CPU_60",
"Node": "CPUBigPlusClusterMinFreq",
"Duration": 3600000,
"Value": "0"
},
{
"PowerHint": "LOW_POWER_CPU_70",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3600000,
"Value": "1708800"
},
{
"PowerHint": "LOW_POWER_CPU_70",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 3600000,
"Value": "2015999"
},
{
"PowerHint": "LOW_POWER_CPU_80",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3600000,
"Value": "1920000"
},
{
"PowerHint": "LOW_POWER_CPU_80",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 3600000,
"Value": "2227200"
},
{
"PowerHint": "LOW_POWER_CPU_90",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3600000,
"Value": "2131200"
},
{
"PowerHint": "LOW_POWER_CPU_90",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 3600000,
"Value": "2534400"
"PowerHint": "ML_ACC",
"Node": "PMQoSCpuDmaLatency",
"Duration": 2000,
"Value": "2c"
},
{
"PowerHint": "Flipendo",
@@ -636,11 +605,6 @@
"Node": "CPUBigClusterMaxFreq",
"Duration": 0,
"Value": "2016000"
},
{
"PowerHint": "DISPLAY_INACTIVE",
"Type": "EndHint",
"Value": "DISPLAY_UPDATE_IMMINENT"
}
]
}

View File

@@ -1,71 +1,40 @@
[SS-SKIN-HIGH-CPU7]
algo_type ss
sampling 2000
sensor sdm-therm
device cpu7
set_point 40000
set_point_clr 39000
device_max_limit 2131200
time_constant 0
[SS-SKIN-MID-CPU7]
algo_type ss
sampling 2000
sensor sdm-therm
device cpu7
set_point 42000
set_point_clr 41000
device_max_limit 1804800
time_constant 0
[SS-SKIN-LOW-CPU7]
algo_type ss
sampling 2000
sensor sdm-therm
device cpu7
set_point 44000
set_point_clr 43000
device_max_limit 1401600
time_constant 0
[HOT-SKIN-VIRTUAL]
algo_type virtual
trip_sensor sdm-therm
sensors gpuss-0-usr cpuss-0-usr
list_cnt 2
weights 1 -1
set_point 41000
set_point_clr 39000
sampling 1000
math 0
[VIRTUAL-SS-GPU-SKIN]
algo_type ss
sensor HOT-SKIN-VIRTUAL
device gpu
sampling 1000
set_point 8000
set_point_clr 2000
device_max_limit 427000000
[SS-SKIN-GPU]
algo_type ss
sampling 2000
sensor sdm-therm
device gpu
set_point 54000
set_point_clr 52000
device_max_limit 615000000
time_constant 0
[SKIN-MONITOR]
algo_type monitor
sampling 1000
sensor sdm-therm
thresholds 46000 47000 48000 58000
thresholds_clr 44000 46000 47000 57000
actions cpu0+cpu7+gpu cpu0+cpu7+gpu cpu0+cpu7+gpu shutdown
action_info 1113600+1286400+427000000 940800+1056000+345000000 672000+825600+257000000 1
algo_type monitor
sampling 2000
sensor sdm-therm
thresholds 48000 50000 52000 54000 57000
thresholds_clr 47000 49000 51000 53000 56000
actions cpu7 cpu4+cpu7 cpu4+cpu7 cpu4+cpu7 cpu4+cpu7
action_info 2841600 2323200+2745600 1804800+1804800 1708800+1708800 1612800+1612800
[BATTERY-SKIN-VIRTUAL]
algo_type virtual
trip_sensor quiet_therm
sensors quiet_therm battery
set_point 37000
set_point_clr 29000
sampling 1000
weights
math 2
[BATTERY-MONITOR]
algo_type monitor
sampling 1000
sensor sdm-therm
thresholds 37000 38500 39000 40500 43000 44000 45500 46000
thresholds_clr 36000 37500 38000 39500 42000 43000 44500 45000
actions battery battery battery battery battery battery battery battery
action_info 1 2 3 4 5 6 7 8
algo_type monitor
sampling 2000
sensor BATTERY-SKIN-VIRTUAL
thresholds 38000 40000 42000 44000 46000 48000 50000 55000
thresholds_clr 30000 38000 40000 42000 44000 46000 48000 50000
actions battery battery battery battery battery battery battery battery
action_info 8 9 10 12 13 14 15 16
[NPU-MONITOR]
algo_type monitor

View File

@@ -233,22 +233,6 @@
}
],
"CoolingDevices":[
{
"Name":"thermal-cpufreq-0",
"Type":"CPU"
},
{
"Name":"thermal-cpufreq-4",
"Type":"CPU"
},
{
"Name":"thermal-cpufreq-7",
"Type":"CPU"
},
{
"Name":"thermal-devfreq-0",
"Type":"GPU"
},
{
"Name":"npu",
"Type":"NPU"
@@ -258,4 +242,4 @@
"Type":"BATTERY"
}
]
}
}

View File

@@ -1,458 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2012-2020 The Linux Foundation. All rights reserved.
Not a contribution.
Copyright (C) 2012-2013 The Android Open Source 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.
-->
<?xml version="1.0" encoding="utf-8" ?>
<!--
<!DOCTYPE MediaCodecs [
<!ELEMENT Include EMPTY>
<!ATTLIST Include href CDATA #REQUIRED>
<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
<!ELEMENT Decoders (MediaCodec|Include)*>
<!ELEMENT Encoders (MediaCodec|Include)*>
<!ELEMENT MediaCodec (Type|Quirk|Include)*>
<!ATTLIST MediaCodec name CDATA #REQUIRED>
<!ATTLIST MediaCodec type CDATA>
<!ELEMENT Type EMPTY>
<!ATTLIST Type name CDATA #REQUIRED>
<!ELEMENT Quirk EMPTY>
<!ATTLIST Quirk name CDATA #REQUIRED>
]>
There's a simple and a complex syntax to declare the availability of a
media codec:
A codec that properly follows the OpenMax spec and therefore doesn't have any
quirks and that only supports a single content type can be declared like so:
<MediaCodec name="OMX.foo.bar" type="something/interesting" />
If a codec has quirks OR supports multiple content types, the following syntax
can be used:
<MediaCodec name="OMX.foo.bar" >
<Type name="something/interesting" />
<Type name="something/else" />
...
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="output-buffers-are-unreadable" />
</MediaCodec>
Only the three quirks included above are recognized at this point:
"requires-allocate-on-input-ports"
must be advertised if the component does not properly support specification
of input buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"requires-allocate-on-output-ports"
must be advertised if the component does not properly support specification
of output buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"output-buffers-are-unreadable"
must be advertised if the emitted output buffers of a decoder component
are not readable, i.e. use a custom format even though abusing one of
the official OMX colorspace constants.
Clients of such decoders will not be able to access the decoded data,
naturally making the component much less useful. The only use for
a component with this quirk is to render the output to the screen.
Audio decoders MUST NOT advertise this quirk.
Video decoders that advertise this quirk must be accompanied by a
corresponding color space converter for thumbnail extraction,
matching surfaceflinger support that can render the custom format to
a texture and possibly other code, so just DON'T USE THIS QUIRK.
-->
<!--
Non-Secure decoder capabilities
(MB is defined as 16x16)
_____________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|_____________|_____________________________________________________|
| h264 | 1920 1088 480 220 3916800 3916800 |
| | 3820 2160 120 220 3888000 |
| | 4096 2160 96 220 3317760 |
| | 4096 2304 60 220 2211840 |
| | 7680 4320 30 220 3888000 |
| | 8192 4320 24 220 3317760 |
| hevc | 1920 1088 480 220 3916800 3916800 |
| | 3820 2160 120 220 3888000 |
| | 4096 2160 96 220 3317760 |
| | 4096 2304 60 220 2211840 |
| | 7680 4320 30 220 3888000 |
| | 8192 4320 24 220 3317760 |
| mpeg4-sw | 1920 1088 30 40 244800 244800 |
| vp8 | 1280 720 240 100 864000 1036800 |
| | 1920 1088 120 100 979200 |
| | 3840 2160 30 100 972000 |
| | 4096 2160 30 100 1036800 |
| | 4096 2304 24 100 884736 |
| vp9 | 1920 1088 480 220 3916800 3916800 |
| | 3820 2160 120 220 3888000 |
| | 4096 2160 96 220 3317760 |
| | 4096 2304 60 220 2211840 |
| | 7680 4320 30 220 3888000 |
| | 8192 4320 24 220 3317760 |
| h263-sw | 864 480 30 16 48600 48600 |
| mpeg2 | 1920 1088 30 40 244800 244800 |
|_____________|_____________________________________________________|
Secure decoder capabilities
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| hevc | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| vp9 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| mpeg2 | 1920 1088 30 40 244800 244800 |
|__________|_____________________________________________________|
Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 480 160 1728000 1958400 |
| | 1920 1088 240 160 1958400 |
| | 3840 2160 60 160 1944000 |
| | 4096 2160 48 160 1658880 |
| | 4096 2304 30 160 1105920 |
| hevc | 1280 720 480 160 1728000 1958400 |
| | 1920 1088 240 160 1958400 |
| | 3840 2160 60 160 1944000 |
| | 4096 2160 48 160 1658880 |
| | 4096 2304 30 160 1105920 |
| mpeg4-sw | 1280 720 30 4 108000 108000 |
| vp8 | 1280 720 240 40 864000 1036800 |
| | 1920 1088 120 40 979200 |
| | 3840 2160 30 40 972000 |
| | 4096 2160 30 40 1036800 |
| | 4096 2304 24 40 884736 |
| h263-sw | 864 480 30 2 48600 48600 |
|__________|_____________________________________________________|
Copyright (C) 2019 The Android Open Source 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.
-->
<MediaCodecs>
<Include href="media_codecs_google_c2_audio.xml" />
<Include href="media_codecs_google_c2_telephony.xml" />
<Include href="media_codecs_c2.xml" />
<Settings>
<Setting name="max-video-encoder-input-buffers" value="11" />
<Domain name="telephony" enabled="true" />
</Settings>
<Encoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="56" />
<Limit name="performance-point-4096x2160" value="60" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="1036800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="24" />
<Limit name="performance-point-4096x2160" value="30" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Limit name="performance-point-4096x2304" value="56" />
<Limit name="performance-point-4096x2160" value="60" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="512x512" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Limit name="performance-point-512x512" value="480" />
<Feature name="bitrate-modes" value="CQ" />
</MediaCodec>
<!-- Video Software -->
<MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="864x480" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-2000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-720x480" value="30" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="1280x720" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="108000" />
<Limit name="bitrate" range="1-4000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="30" />
<Feature name="can-swap-width-height" required="true" />
<Attribute name="software-codec" />
</MediaCodec>
</Encoders>
<Decoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="8192x4320" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="60" />
<Limit name="performance-point-4096x2160" value="96" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-1920x1088" range="480" />
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-4096x2160" value="60" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="secure-playback" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg2" type="video/mpeg2" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg2.secure" type="video/mpeg2" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="secure-playback" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="1036800" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="24" />
<Limit name="performance-point-4096x2160" value="30" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="8192x4320" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-4096x2304" value="60" />
<Limit name="performance-point-4096x2160" value="96" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-1920x1088" range="480" />
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9.secure" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-4096x2160" value="60" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="secure-playback" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="8192x4320" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="60" />
<Limit name="performance-point-4096x2160" value="96" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-1920x1088" range="480" />
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc.secure" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-4096x2160" value="60" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="secure-playback" required="true" />
</MediaCodec>
<!-- Video Software -->
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="864x480" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-16000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-720x480" value="30" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es">
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
</Decoders>
<Include href="media_codecs_google_c2_video.xml" />
</MediaCodecs>

View File

@@ -104,6 +104,7 @@
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc">
<Alias name="OMX.qcom.video.decoder.avc.low_latency" />
@@ -123,6 +124,7 @@
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.secure" type="video/avc" >
<Alias name="OMX.qcom.video.decoder.avc.secure" />
@@ -139,6 +141,7 @@
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc" />
@@ -157,6 +160,26 @@
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc.low_latency" />
<Limit name="size" min="96x96" max="4096x4096" />
<Limit name="block-count" range="36-36864" /> <!--max-spatial: 4096x2304 -->
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" range="1-1958400" />
<Limit name="bitrate" range="1-110000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Feature name="low-latency" />
<Limit name="performance-point-4096x2304" value="60" />
<Limit name="performance-point-4096x2160" value="96" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-1920x1088" range="480" />
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.secure" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc.secure" />
@@ -173,6 +196,7 @@
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.vp8.decoder" type="video/x-vnd.on2.vp8" >
<Alias name="OMX.qcom.video.decoder.vp8" />
@@ -190,6 +214,7 @@
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9" />
@@ -208,6 +233,7 @@
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9.secure" />
@@ -224,6 +250,7 @@
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
</Decoders>
@@ -237,6 +264,7 @@
<Limit name="blocks-per-second" min="24" max="2073600" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="56" />
<Limit name="performance-point-4096x2160" value="60" />
@@ -245,6 +273,16 @@
<Limit name="performance-point-1280x720" value="480" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="intra-refresh" />
<Feature name="can-swap-width-height" value="1" />
<!-- Video Quality control -->
<!-- QP bounding supported, and it uses vendor extensions -->
<Feature name="qp-bounds" />
<Mapping kind="vq" name="video-qp-b-max" value="vendor.qti-ext-enc-qp-range.qp-b-max" />
<Mapping kind="vq" name="video-qp-b-min" value="vendor.qti-ext-enc-qp-range.qp-b-min" />
<Mapping kind="vq" name="video-qp-i-max" value="vendor.qti-ext-enc-qp-range.qp-i-max" />
<Mapping kind="vq" name="video-qp-i-min" value="vendor.qti-ext-enc-qp-range.qp-i-min" />
<Mapping kind="vq" name="video-qp-p-max" value="vendor.qti-ext-enc-qp-range.qp-p-max" />
<Mapping kind="vq" name="video-qp-p-min" value="vendor.qti-ext-enc-qp-range.qp-p-min" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc" />
@@ -255,6 +293,7 @@
<Limit name="blocks-per-second" min="24" max="2073600" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="56" />
<Limit name="performance-point-4096x2160" value="60" />
@@ -263,6 +302,16 @@
<Limit name="performance-point-1280x720" value="480" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="intra-refresh" />
<Feature name="can-swap-width-height" value="1" />
<!-- Video Quality control -->
<!-- QP bounding supported, and it uses vendor extensions -->
<Feature name="qp-bounds" />
<Mapping kind="vq" name="video-qp-b-max" value="vendor.qti-ext-enc-qp-range.qp-b-max" />
<Mapping kind="vq" name="video-qp-b-min" value="vendor.qti-ext-enc-qp-range.qp-b-min" />
<Mapping kind="vq" name="video-qp-i-max" value="vendor.qti-ext-enc-qp-range.qp-i-max" />
<Mapping kind="vq" name="video-qp-i-min" value="vendor.qti-ext-enc-qp-range.qp-i-min" />
<Mapping kind="vq" name="video-qp-p-max" value="vendor.qti-ext-enc-qp-range.qp-p-max" />
<Mapping kind="vq" name="video-qp-p-min" value="vendor.qti-ext-enc-qp-range.qp-p-min" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc">
<Limit name="size" min="96x96" max="512x512" />
@@ -271,6 +320,7 @@
<Limit name="blocks-per-second" min="24" max="2073600" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Limit name="performance-point-512x512" value="480" />
@@ -279,8 +329,11 @@
<MediaCodec name="c2.qti.heic.encoder" type="image/vnd.android.heic">
<Limit name="size" min="96x96" max="8192x8192" />
<Limit name="block-count" range="1024-138240" /> <!--max-spatial: 8192x4320 -->
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="24" max="2073600" />
<Limit name="frame-rate" range="1-480" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="6" />
<Limit name="quality" range="0-100" default="80" />
<Limit name="performance-point-8192x4320" value="3" />
@@ -289,6 +342,7 @@
<Limit name="performance-point-1920x1080" value="30" />
<Limit name="performance-point-1280x720" value="80" />
<Limit name="performance-point-1280x720" value="60" />
<Limit name="performance-point-720x480" value="240" />
<Feature name="bitrate-modes" value="CQ" />
</MediaCodec>
<MediaCodec name="c2.qti.vp8.encoder" type="video/x-vnd.on2.vp8">
@@ -300,6 +354,7 @@
<Limit name="blocks-per-second" min="24" max="1036800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-240" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="24" />
<Limit name="performance-point-4096x2160" value="30" />
@@ -307,6 +362,7 @@
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
<Feature name="intra-refresh" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
</Encoders>
</Included>
</Included>

View File

@@ -1,185 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
Not a Contribution.
Copyright 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
u 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.
-->
<MediaCodecs>
<Encoders>
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="238-238" />
<Limit name="measured-frame-rate-720x480" range="277-287" />
<Limit name="measured-frame-rate-1280x720" range="200-204" />
<Limit name="measured-frame-rate-1920x1080" range="116-118" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="226-226" />
<Limit name="measured-frame-rate-720x480" range="336-339" />
<Limit name="measured-frame-rate-1280x720" range="183-194" />
<Limit name="measured-frame-rate-1920x1080" range="91-104" />
<Limit name="measured-frame-rate-3840x2160" range="37-40" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="340-400" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="303-303" />
<Limit name="measured-frame-rate-352x288" range="259-259" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="299-299" />
<Limit name="measured-frame-rate-352x288" range="245-245" />
<Limit name="measured-frame-rate-640x480" range="148-148" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="363-484" />
<Limit name="measured-frame-rate-640x360" range="250-280" />
<Limit name="measured-frame-rate-1280x720" range="123-125" />
<Limit name="measured-frame-rate-1920x1080" range="16-40" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="106-234" />
<Limit name="measured-frame-rate-720x480" range="64-140" />
<Limit name="measured-frame-rate-1280x720" range="26-56" />
<Limit name="measured-frame-rate-1920x1080" range="20-44" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="22-35" />
</MediaCodec>
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="287-459" />
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="151-208" />
<Limit name="measured-frame-rate-720x480" range="61-84" />
<Limit name="measured-frame-rate-1280x720" range="41-57" />
<Limit name="measured-frame-rate-1920x1080" range="28-39" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="251-350" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="228-318" />
<Limit name="measured-frame-rate-640x360" range="150-233" />
<Limit name="measured-frame-rate-1280x720" range="43-61" />
<Limit name="measured-frame-rate-1920x1080" range="19-27" />
</MediaCodec>
<MediaCodec name="c2.android.av1.encoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-320x240" range="121-286" />
<Limit name="measured-frame-rate-720x480" range="49-110" />
<Limit name="measured-frame-rate-1280x720" range="19-41" />
<Limit name="measured-frame-rate-1920x1080" range="20-30" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="109-109" />
<Limit name="measured-frame-rate-640x360" range="61-61" />
<Limit name="measured-frame-rate-1280x720" range="20-20" />
</MediaCodec>
</Encoders>
<Decoders>
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="960-1268" />
<Limit name="measured-frame-rate-720x480" range="857-1104" />
<Limit name="measured-frame-rate-1280x720" range="312-316" />
<Limit name="measured-frame-rate-1920x1088" range="246-250" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="784-1700" />
<Limit name="measured-frame-rate-640x360" range="500-527" />
<Limit name="measured-frame-rate-720x480" range="1046-1157" />
<Limit name="measured-frame-rate-1280x720" range="290-641" />
<Limit name="measured-frame-rate-1920x1080" range="316-318" />
<Limit name="measured-frame-rate-3840x2160" range="148-149" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="268-418" />
<Limit name="measured-frame-rate-352x288" range="273-561" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="409-410" />
<Limit name="measured-frame-rate-480x360" range="436-524" />
<Limit name="measured-frame-rate-1280x720" range="240-292" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x240" range="337-337" />
<Limit name="measured-frame-rate-640x360" range="330-750" />
<Limit name="measured-frame-rate-1280x720" range="337-337" />
<Limit name="measured-frame-rate-1920x1080" range="248-248" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="1103-1262" />
<Limit name="measured-frame-rate-320x180" range="533-543" />
<Limit name="measured-frame-rate-640x360" range="347-783" />
<Limit name="measured-frame-rate-1280x720" range="579-594" />
<Limit name="measured-frame-rate-1920x1080" range="496-518" />
<Limit name="measured-frame-rate-3840x2160" range="139-139" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="220-630" />
<Limit name="measured-frame-rate-720x480" range="250-513" />
<Limit name="measured-frame-rate-1280x720" range="200-420" />
<Limit name="measured-frame-rate-1920x1088" range="189-301" />
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="196-269" />
<Limit name="measured-frame-rate-720x480" range="56-77" />
<Limit name="measured-frame-rate-1280x720" range="21-33" />
<Limit name="measured-frame-rate-1920x1080" range="12-17" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="179-245" />
<Limit name="measured-frame-rate-640x360" range="120-164" />
<Limit name="measured-frame-rate-720x480" range="111-152" />
<Limit name="measured-frame-rate-1280x720" range="61-83" />
<Limit name="measured-frame-rate-1920x1080" range="36-49" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="460-626" />
<Limit name="measured-frame-rate-640x360" range="222-302" />
<Limit name="measured-frame-rate-1280x720" range="107-145" />
<Limit name="measured-frame-rate-1920x1080" range="31-43" />
</MediaCodec>
<MediaCodec name="c2.android.av1.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-352x288" range="186-426" />
<Limit name="measured-frame-rate-720x480" range="102-228" />
<Limit name="measured-frame-rate-1280x720" range="52-116" />
<Limit name="measured-frame-rate-1920x1080" range="20-30" />
</MediaCodec>
<MediaCodec name="c2.android.av1-dav1d.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-320x240" range="121-286" />
<Limit name="measured-frame-rate-720x480" range="60-120" />
<Limit name="measured-frame-rate-1280x720" range="60-90" />
<Limit name="measured-frame-rate-1920x1080" range="40-60" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="415-575" />
<Limit name="measured-frame-rate-640x360" range="200-450" />
<Limit name="measured-frame-rate-1280x720" range="44-60" />
<Limit name="measured-frame-rate-1920x1080" range="28-38" />
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="436-2502" />
<Limit name="measured-frame-rate-352x288" range="324-769" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="401-545" />
<Limit name="measured-frame-rate-480x360" range="300-2000" />
<Limit name="measured-frame-rate-1280x720" range="210-550" />
</MediaCodec>
</Decoders>
</MediaCodecs>

View File

@@ -0,0 +1,166 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2019 The Android Open Source 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.
-->
<MediaCodecs>
<Encoders>
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="669-693" /> <!-- N=64 v97%=1.5 -->
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="331-331" /> <!-- N=64 v97%=1.1 -->
<Limit name="measured-frame-rate-720x480" range="123-123" /> <!-- N=64 v97%=1.1 -->
<Limit name="measured-frame-rate-1280x720" range="83-83" /> <!-- N=64 v97%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="49-49" /> <!-- N=64 v97%=1.1 -->
</MediaCodec>
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="484-484" /> <!-- N=62 v97%=1.3 -->
<Limit name="measured-frame-rate-720x480" range="294-294" /> <!-- N=64 v97%=1.4 -->
<Limit name="measured-frame-rate-1280x720" range="160-160" /> <!-- N=64 v97%=1.6 -->
<Limit name="measured-frame-rate-1920x1080" range="84-84" /> <!-- N=62 v97%=1.7 -->
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="51-51" /> <!-- N=64 v97%=1.1 -->
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="500-504" /> <!-- N=64 v97%=1.1 -->
<Limit name="measured-frame-rate-720x480" range="292-292" /> <!-- N=64 v97%=1.4 -->
<Limit name="measured-frame-rate-1280x720" range="161-163" /> <!-- N=64 v97%=1.6 -->
<Limit name="measured-frame-rate-1920x1080" range="83-83" /> <!-- N=64 v97%=1.6 -->
<Limit name="measured-frame-rate-3840x2160" range="40-40" /> <!-- N=64 v97%=1.1 -->
</MediaCodec>
<!-- MANUALLY ENTERED -->
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="377-419" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="692-695" /> <!-- N=64 v97%=1.5 -->
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="593-593" /> <!-- N=64 v97%=1.2 -->
<Limit name="measured-frame-rate-640x360" range="200-200" /> <!-- N=64 v97%=1.2 -->
<Limit name="measured-frame-rate-1280x720" range="58-58" /> <!-- N=64 v97%=1.2 -->
<Limit name="measured-frame-rate-1920x1080" range="24-24" /> <!-- N=64 v97%=1.2 -->
</MediaCodec>
<MediaCodec name="c2.qti.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="518-547" /> <!-- N=64 v97%=1.2 -->
<Limit name="measured-frame-rate-640x360" range="351-351" /> <!-- N=64 v97%=1.3 -->
<!-- measured 97%:100-171 med:108 SLOW -->
<Limit name="measured-frame-rate-1280x720" range="108-131" /> <!-- N=64 v97%=1.3 -->
<Limit name="measured-frame-rate-1920x1080" range="61-61" /> <!-- N=64 v97%=1.2 -->
</MediaCodec>
<!-- MANUALLY ENTERED -->
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="294-297" />
<Limit name="measured-frame-rate-640x360" range="89-90" />
<Limit name="measured-frame-rate-1280x720" range="22-22" />
</MediaCodec>
<MediaCodec name="c2.android.av1.encoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-320x240" range="121-286" />
<Limit name="measured-frame-rate-720x480" range="49-110" />
<Limit name="measured-frame-rate-1280x720" range="19-41" />
<Limit name="measured-frame-rate-1920x1080" range="20-30" />
</MediaCodec>
</Encoders>
<Decoders>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="2000-2008" /> <!-- N=129 v98%=1.0 -->
<Limit name="measured-frame-rate-352x288" range="1404-1404" /> <!-- N=128 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="734-734" /> <!-- N=132 v98%=1.1 -->
<Limit name="measured-frame-rate-720x480" range="146-146" /> <!-- N=132 v98%=1.1 -->
<Limit name="measured-frame-rate-1280x720" range="48-50" /> <!-- N=132 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="23-24" /> <!-- N=131 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="1469-1469" /> <!-- N=130 v98%=1.1 -->
<Limit name="measured-frame-rate-720x480" range="1240-1240" /> <!-- N=130 v98%=1.1 -->
<Limit name="measured-frame-rate-1280x720" range="741-741" /> <!-- N=130 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="369-369" /> <!-- N=130 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="1469-1469" /> <!-- N=130 v98%=1.1 -->
<Limit name="measured-frame-rate-720x480" range="1240-1240" /> <!-- N=130 v98%=1.1 -->
<Limit name="measured-frame-rate-1280x720" range="741-741" /> <!-- N=130 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="369-369" /> <!-- N=130 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="708-710" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-640x360" range="354-354" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-720x480" range="314-314" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-1280x720" range="118-119" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="62-64" /> <!-- N=128 v98%=1.1 -->
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="1172-1172" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-640x360" range="1241-1241" /> <!-- N=128 v98%=1.2 -->
<Limit name="measured-frame-rate-720x480" range="1214-1214" /> <!-- N=128 v98%=1.2 -->
<Limit name="measured-frame-rate-1280x720" range="866-866" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="587-587" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-3840x2160" range="167-167" /> <!-- N=128 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="1172-1172" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-640x360" range="1241-1241" /> <!-- N=128 v98%=1.2 -->
<Limit name="measured-frame-rate-720x480" range="1214-1214" /> <!-- N=128 v98%=1.2 -->
<Limit name="measured-frame-rate-1280x720" range="866-866" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="587-587" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-3840x2160" range="167-167" /> <!-- N=128 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="2334-2334" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-480x360" range="1303-1954" />
<Limit name="measured-frame-rate-1280x720" range="368-552" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="1227-1227" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-640x360" range="472-472" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-1280x720" range="113-113" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-1920x1080" range="46-46" /> <!-- N=128 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.qti.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="1383-1383" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-640x360" range="1170-1170" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-1280x720" range="597-597" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-1920x1080" range="251-252" /> <!-- N=128 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.av1.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-352x288" range="186-426" />
<Limit name="measured-frame-rate-720x480" range="102-228" />
<Limit name="measured-frame-rate-1280x720" range="52-116" />
<Limit name="measured-frame-rate-1920x1080" range="20-30" />
</MediaCodec>
<MediaCodec name="c2.android.av1-dav1d.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-320x240" range="121-286" />
<Limit name="measured-frame-rate-720x480" range="60-120" />
<Limit name="measured-frame-rate-1280x720" range="60-90" />
<Limit name="measured-frame-rate-1920x1080" range="40-60" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="986-991" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-640x360" range="322-322" /> <!-- N=128 v98%=1.3 -->
<Limit name="measured-frame-rate-1280x720" range="97-97" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-1920x1080" range="56-57" /> <!-- N=128 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="1342-1342" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-640x360" range="1043-1043" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-1280x720" range="468-468" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-1920x1080" range="298-298" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-3840x2160" range="71-71" /> <!-- N=128 v98%=1.0 -->
</MediaCodec>
</Decoders>
</MediaCodecs>

View File

@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (C) 2015-2020 The Linux Foundation. All rights reserved.
Not a contribution.
Copyright (C) 2012 The Android Open Source 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.
-->
<Included>
<Decoders>
<MediaCodec name="OMX.google.opus.decoder" type="audio/opus" update="true" rank="100"/>
<!-- SimpleOMXComponet based software decoder-->
</Decoders>
</Included>

View File

@@ -57,9 +57,6 @@
<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxHFRFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxHFRFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxHFRMode CDATA #REQUIRED>
<!ELEMENT AudioEncoderCap EMPTY>
<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma|lpcm) #REQUIRED>
<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
@@ -75,16 +72,6 @@
<!ELEMENT AudioDecoderCap EMPTY>
<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
<!ELEMENT VideoEditorCap EMPTY>
<!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED>
<!ELEMENT ExportVideoProfile EMPTY>
<!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED>
<!ATTLIST ExportVideoProfile profile CDATA #REQUIRED>
<!ATTLIST ExportVideoProfile level CDATA #REQUIRED>
]>
<!--
This file is used to declare the multimedia profiles and capabilities
@@ -2189,33 +2176,25 @@
minBitRate="64000" maxBitRate="42000000"
minFrameWidth="176" maxFrameWidth="4096"
minFrameHeight="144" maxFrameHeight="2160"
minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="1920" maxHFRFrameHeight="1080"
maxHFRMode="120" />
minFrameRate="15" maxFrameRate="30" />
<VideoEncoderCap name="h263" enabled="true"
minBitRate="64000" maxBitRate="2000000"
minFrameWidth="176" maxFrameWidth="800"
minFrameHeight="144" maxFrameHeight="480"
minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" />
minFrameRate="15" maxFrameRate="30" />
<VideoEncoderCap name="m4v" enabled="true"
minBitRate="64000" maxBitRate="20000000"
minFrameWidth="176" maxFrameWidth="1280"
minFrameHeight="144" maxFrameHeight="720"
minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" />
minFrameRate="15" maxFrameRate="30" />
<VideoEncoderCap name="hevc" enabled="true"
minBitRate="64000" maxBitRate="100000000"
minFrameWidth="176" maxFrameWidth="4096"
minFrameHeight="144" maxFrameHeight="2160"
minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" />
minFrameRate="15" maxFrameRate="30" />
<AudioEncoderCap name="aac" enabled="true"
minBitRate="8000" maxBitRate="96000"
@@ -2256,39 +2235,4 @@
-->
<VideoDecoderCap name="wmv" enabled="true"/>
<AudioDecoderCap name="wma" enabled="true"/>
<!--
The VideoEditor Capability configuration:
- maxInputFrameWidth: maximum video width of imported video clip.
- maxInputFrameHeight: maximum video height of imported video clip.
- maxOutputFrameWidth: maximum video width of exported video clip.
- maxOutputFrameHeight: maximum video height of exported video clip.
- maxPrefetchYUVFrames: maximum prefetch YUV frames for encoder,
used to limit the amount of memory for prefetched YUV frames.
For this platform, it allows maximum 30MB(3MB per 1080p frame x 10
frames) memory.
-->
<VideoEditorCap maxInputFrameWidth="1920"
maxInputFrameHeight="1088" maxOutputFrameWidth="1920"
maxOutputFrameHeight="1088" maxPrefetchYUVFrames="10"/>
<!--
The VideoEditor Export codec profile and level values
correspond to the values in OMX_Video.h.
E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline
and level 4096 means OMX_VIDEO_AVCLevel41.
Please note that the values are in decimal.
These values are for video encoder.
-->
<!--
Codec = h.264, Baseline profile, level 4.0
-->
<ExportVideoProfile name="h264" profile= "1" level="2048"/>
<!--
Codec = h.263, Baseline profile, level 70
-->
<ExportVideoProfile name="h263" profile= "1" level="128"/>
<!--
Codec = mpeg4, Simple profile, level 5
-->
<ExportVideoProfile name="m4v" profile= "1" level="128"/>
</MediaSettings>

View File

@@ -1,8 +0,0 @@
service vendor.sensors-hal-1-0 /vendor/bin/hw/android.hardware.sensors@1.0-service
interface android.hardware.sensors@1.0::ISensors default
class hal
user system
group system wakelock uhid context_hub input
task_profiles ServiceCapacityLow
capabilities BLOCK_SUSPEND
rlimit rtprio 10 10

177
device.mk
View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2021-2022 The LineageOS Project
# Copyright (C) 2019-2025 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
@@ -16,6 +16,10 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
# Add common definitions for Qualcomm
$(call inherit-product, hardware/qcom-caf/common/common.mk)
# Get Qcom components
TARGET_EXCLUDE_QCOM_SEPOLICY := true
TARGET_BOARD_PLATFORM := msmnile
# AAPT
PRODUCT_AAPT_CONFIG := normal
PRODUCT_AAPT_PREF_CONFIG := xxhdpi
@@ -23,7 +27,6 @@ PRODUCT_AAPT_PREF_CONFIG := xxhdpi
# Overlays
PRODUCT_PACKAGES += \
CarrierConfigOverlay \
DeviceAsWebcamRaphael \
FaceUnlockServiceOverlay \
FrameworksResRaphael \
SettingsProviderOverlayGlobal \
@@ -34,14 +37,18 @@ PRODUCT_PACKAGES += \
TetheringConfigOverlay \
WifiOverlay
PRODUCT_PACKAGES += \
NcmTetheringOverlay
PRODUCT_ENFORCE_RRO_TARGETS := *
# Soong namespaces
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH) \
vendor/qcom/opensource/usb/etc \
bootable/deprecated-ota \
hardware/google/interfaces \
hardware/google/pixel \
hardware/qcom-caf/common/libqti-perfd-client \
hardware/xiaomi
# IncrementalFS
@@ -51,8 +58,7 @@ PRODUCT_PROPERTY_OVERRIDES += \
# Vendor init
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/etc/init/android.hardware.drm@1.3-service.widevine.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.drm@1.3-service.widevine.rc \
$(LOCAL_PATH)/configs/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc \
$(LOCAL_PATH)/configs/services/android.hardware.sensors@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.sensors@1.0-service.rc
$(LOCAL_PATH)/configs/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc
# Permissions
PRODUCT_COPY_FILES += \
@@ -89,6 +95,7 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \
frameworks/native/data/etc/android.software.ipsec_tunnel_migration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnel_migration.xml \
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \
frameworks/native/data/etc/android.software.opengles.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \
@@ -142,7 +149,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/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
@@ -157,11 +165,6 @@ PRODUCT_PACKAGES += \
vendor.qti.hardware.btconfigstore@1.0.vendor \
vendor.qti.hardware.btconfigstore@2.0.vendor
# Blur
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
ro.sf.blurs_are_expensive=1 \
ro.surface_flinger.supports_background_blur=1
# Board
PRODUCT_USES_QCOM_HARDWARE := true
PRODUCT_BOARD_PLATFORM := msmnile
@@ -176,12 +179,17 @@ PRODUCT_PACKAGES += \
libcamera2ndk_vendor \
libdng_sdk.vendor \
libgui_vendor \
libshim_megvii \
libMegviiFacepp-0.5.2 \
libmegface \
libstdc++_vendor \
vendor.qti.hardware.camera.device@1.0.vendor \
vendor.qti.hardware.camera.postproc@1.0.vendor \
vendor.xiaomi.hardware.motor@1.0.vendor
$(call soong_config_set,camera,override_format_from_reserved,true)
$(call soong_config_set,camera,package_name,com.android.camera)
$(call soong_config_set,libcameraservice,ext_lib,libcameraservice_extension.raphael)
# MiuiCamera
$(call inherit-product-if-exists, vendor/xiaomi/miuicamera/config.mk)
@@ -191,22 +199,28 @@ PRODUCT_COPY_FILES += \
# Display
PRODUCT_PACKAGES += \
android.hardware.graphics.composer@2.4-service \
gralloc.qcom \
hwcomposer.qcom
PRODUCT_PACKAGES += \
android.hardware.graphics.mapper@3.0-impl-qti-display \
android.hardware.graphics.mapper@4.0-impl-qti-display \
vendor.qti.hardware.memtrack-service \
gralloc.msmnile \
hwcomposer.msmnile \
libtinyxml \
vendor.qti.hardware.display.allocator-service
PRODUCT_PACKAGES += \
vendor.qti.hardware.memtrack-service
PRODUCT_PACKAGES += \
libdisplayconfig.qti \
libdisplayconfig.system.qti \
libgui_vendor \
libqdMetaData \
libqdMetaData.system \
libvulkan \
libtinyxml \
vendor.display.config@1.11.vendor \
vendor.display.config@1.5 \
vendor.display.config@2.0 \
vendor.display.config@2.0.vendor \
vendor.qti.hardware.display.allocator-service \
vendor.qti.hardware.display.allocator@1.0.vendor \
vendor.qti.hardware.display.allocator@3.0.vendor \
vendor.qti.hardware.display.allocator@4.0.vendor \
@@ -218,6 +232,9 @@ PRODUCT_PACKAGES += \
vendor.qti.hardware.display.mapper@4.0.vendor \
vendor.qti.hardware.display.mapperextensions@1.1.vendor
$(call soong_config_set,qtidisplay,gralloc_handle_has_reserved_size,true)
$(call soong_config_set,qtimedia,disabled_ubwc,true)
PRODUCT_PACKAGES += \
disable_configstore
@@ -242,13 +259,15 @@ PRODUCT_PACKAGES += \
# Fingerprint
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.3-service.xiaomi_raphael
android.hardware.biometrics.fingerprint-service.xiaomi \
vendor.goodix.hardware.biometrics.fingerprint@2.1.vendor \
libudfpshandler
$(call soong_config_set,surfaceflinger,udfps_lib,//hardware/xiaomi:libudfps_extension.xiaomi)
# FM
PRODUCT_PACKAGES += \
FM2 \
libqcomfm_jni \
qcom.fmradio
FM2
# Gatekeeper
PRODUCT_PACKAGES += \
@@ -305,6 +324,26 @@ PRODUCT_COPY_FILES += \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/etc/msm_irqbalance.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance.conf
# Init
PRODUCT_PACKAGES += \
fstab.qcom \
fstab.qcom.ramdisk \
fstab.qcom.vendor_ramdisk \
fstab.zram
PRODUCT_PACKAGES += \
init.power.rc \
init.qcom.rc \
init.qcom.sh \
init.qcom.usb.rc \
init.qcom.usb.sh \
init.recovery.qcom.rc \
init.target.rc \
init.xiaomi.rc \
ueventd.qcom.rc
$(call soong_config_set,libinit,vendor_init_lib,//$(LOCAL_PATH):init_xiaomi_raphael)
# Keylayout
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/keylayout/gpio-keys.kl:$(TARGET_COPY_OUT_SYSTEM)/usr/keylayout/gpio-keys.kl \
@@ -314,12 +353,6 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \
android.hardware.keymaster@4.1.vendor
# LMK tuning
PRODUCT_PROPERTY_OVERRIDES += \
ro.lmk.filecache_min_kb=153600 \
ro.lmk.kill_timeout_ms=50 \
ro.lmk.stall_limit_critical=40
# Lights
PRODUCT_PACKAGES += \
android.hardware.light@2.0-service.xiaomi_raphael
@@ -328,6 +361,11 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
vendor.lineage.health-service.default
$(call soong_config_set,lineage_health,charging_control_charging_disabled,1)
$(call soong_config_set,lineage_health,charging_control_charging_enabled,0)
$(call soong_config_set,lineage_health,charging_control_charging_path,/sys/class/power_supply/battery/input_suspend)
$(call soong_config_set,lineage_health,charging_control_supports_bypass,false)
# Livedisplay
PRODUCT_PACKAGES += \
vendor.lineage.livedisplay@2.1-service.raphael
@@ -359,18 +397,25 @@ PRODUCT_PACKAGES += \
libavservices_minijail.vendor \
libavservices_minijail_vendor \
libcodec2_hidl@1.0.vendor \
libcodec2_vndk.vendor
libcodec2_soft_common.vendor \
libcodec2_vndk.vendor \
libsfplugin_ccodec_utils.vendor \
libstagefright_foundation-v33
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
$(LOCAL_PATH)/configs/media/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
$(LOCAL_PATH)/configs/media/media_codecs_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor.xml \
$(LOCAL_PATH)/configs/media/media_codecs_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml \
$(LOCAL_PATH)/configs/media/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \
$(LOCAL_PATH)/configs/media/media_codecs_performance_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml \
$(LOCAL_PATH)/configs/media/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \
$(LOCAL_PATH)/configs/media/media_profiles.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml \
$(LOCAL_PATH)/configs/media/media_profiles_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml
# Properties
PRODUCT_SYSTEM_EXT_PROPERTIES += \
media.settings.xml=/vendor/etc/media_profiles_vendor.xml \
media.stagefright.thumbnail.prefer_hw_codecs=true \
ro.media.recorder-max-base-layer-fps=60
# Media Codecs
PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_c2_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_audio.xml \
@@ -403,7 +448,6 @@ PRODUCT_PACKAGES += \
android.hardware.nfc@1.2-service \
com.android.nfc_extras \
libchrome.vendor \
NfcNci \
SecureElement \
Tag
@@ -421,25 +465,6 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_nfc/android.hardware.se.omapi.uicc.xml \
frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_nfc/com.android.nfc_extras.xml
# OMX
PRODUCT_PACKAGES += \
android.hardware.media.omx@1.0-service \
libc2dcolorconvert \
libcodec2_hidl@1.0.vendor \
libcodec2_vndk.vendor \
libmm-omxcore \
libOmxAacEnc \
libOmxAmrEnc \
libOmxCore \
libOmxEvrcEnc \
libOmxG711Enc \
libOmxQcelp13Enc \
libOmxVdec \
libOmxVenc \
libstagefrighthw \
libstagefright_omx.vendor \
libstagefright_softomx_plugin.vendor
# QDCM
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/etc/qdcm_calib_data_samsung_ea8076_fhd_cmd_dsi_panel.xml:$(TARGET_COPY_OUT_VENDOR)/etc/qdcm_calib_data_samsung_ea8076_fhd_cmd_dsi_panel.xml \
@@ -447,13 +472,18 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/etc/sdr_config.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/sdr_config.cfg \
$(LOCAL_PATH)/configs/etc/hdr_config.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/hdr_config.cfg
# Partitions
PRODUCT_PACKAGES += \
vendor_bt_firmware_mountpoint \
vendor_dsp_mountpoint \
vendor_firmware_mnt_mountpoint
PRODUCT_USE_DYNAMIC_PARTITIONS := true
# Parts
PRODUCT_PACKAGES += \
DSPVolumeSynchronizer \
XiaomiDolby \
XiaomiParts
# Powerstats
@@ -473,10 +503,10 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
sendhint
# Enable adpf cpu hint session for SurfaceFlinger and HWUI
# Enable Hint maneger for SurfaceFlinger and HWUI
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
debug.sf.enable_adpf_cpu_hint=true \
debug.hwui.use_hint_manager=true
debug.hwui.use_hint_manager=true \
debug.hwui.target_cpu_time_percent=10
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/etc/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
@@ -508,7 +538,7 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/permissions/telephony_system-ext_privapp-permissions-qti.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/telephony_system-ext-privapp-permissions-qti.xml
# Quick Tap
PRODUCT_PROPERTY_OVERRIDES += \
PRODUCT_SYSTEM_EXT_PROPERTIES += \
persist.columbus.model=tap7cls_coral.tflite
# RCS
@@ -529,22 +559,9 @@ PRODUCT_PACKAGES += \
android.hardware.radio.config@1.2.vendor \
android.hardware.radio.deprecated@1.0.vendor
# Rootdir
# Recovery
PRODUCT_PACKAGES += \
fstab.qcom_ramdisk \
fstab.qcom \
fstab.zram
PRODUCT_PACKAGES += \
init.power.rc \
init.qcom.rc \
init.qcom.sh \
init.qcom.usb.rc \
init.qcom.usb.sh \
init.recovery.qcom.rc \
init.target.rc \
init.xiaomi.rc \
ueventd.qcom.rc
init_xiaomi_raphael.recovery
# Seccomp
PRODUCT_COPY_FILES += \
@@ -572,8 +589,7 @@ PRODUCT_COPY_FILES += \
# Shim
PRODUCT_PACKAGES += \
libpiex_shim \
libwatermark_shim
libpiex_shim
# Task Profiles
PRODUCT_COPY_FILES += \
@@ -617,11 +633,15 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \
libtinyxml2
# Update
AB_OTA_UPDATER := false
# UFFD GC
OVERRIDE_ENABLE_UFFD_GC := false
# USB
PRODUCT_PACKAGES += \
usb_compositions.conf \
android.hardware.usb@1.3-service.dual_role_usb \
android.hardware.usb.gadget@1.2-service-qti
android.hardware.usb@1.0-service
# Vendor service manager
PRODUCT_PACKAGES += \
@@ -635,6 +655,7 @@ $(call inherit-product, packages/apps/ViPER4AndroidFX/config.mk)
# VNDK
PRODUCT_PACKAGES += \
libcrypto-v33 \
libutilscallstack.vendor:64 \
libnetutils.vendor:64 \
libsqlite.vendor:64 \

View File

@@ -1,21 +1,23 @@
[
{
"repository": "onettboots/bool-x_xiaomi_raphael",
"target_path": "kernel/xiaomi/raphael",
"remote": "github",
"branch": "dev/DSPcassOcd"
},
{
"repository": "vendor_xiaomi_raphael",
"target_path": "vendor/xiaomi/raphael"
},
{
"repository": "evo-x/vendor_xiaomi_miuicamera",
"target_path": "vendor/xiaomi/miuicamera",
"remote": "bb"
},
{
"repository": "packages_apps_ViPER4AndroidFX",
"target_path": "packages/apps/ViPER4AndroidFX"
}
{
"repository": "vendor_xiaomi_raphael",
"target_path": "vendor/xiaomi/raphael"
},
{
"repository": "kernel_xiaomi_raphael",
"target_path": "kernel/xiaomi/raphael"
},
{
"repository": "hardware_xiaomi",
"target_path": "hardware/xiaomi"
},
{
"repository": "packages_apps_ViPER4AndroidFX",
"target_path": "packages/apps/ViPER4AndroidFX"
},
{
"repository": "vendor_xiaomi_miuicamera",
"target_path": "vendor/xiaomi/miuicamera",
"remote": "evo-codeberg"
}
]

View File

@@ -1,8 +1,7 @@
#!/bin/bash
#
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2021 The LineageOS Project
#
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
@@ -17,6 +16,8 @@ if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
ANDROID_ROOT="${MY_DIR}/../../.."
export TARGET_ENABLE_CHECKELF=true
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
if [ ! -f "${HELPER}" ]; then
echo "Unable to find helper script at ${HELPER}"
@@ -55,15 +56,40 @@ fi
function blob_fixup() {
case "${1}" in
vendor/lib64/hw/camera.qcom.so)
"${PATCHELF}" --remove-needed "libMegviiFacepp-0.5.2.so" "${2}"
"${PATCHELF}" --remove-needed "libmegface.so" "${2}"
"${PATCHELF}" --add-needed "libshim_megvii.so" "${2}"
vendor/lib64/camera/components/com.qti.node.watermark.so)
[ "$2" = "" ] && return 0
grep -q "libpiex_shim.so" "${2}" || "${PATCHELF}" --add-needed "libpiex_shim.so" "${2}"
;;
vendor/lib64/camera/components/com.qti.node.watermark.so)
"${PATCHELF}" --add-needed "libwatermark_shim.so" "${2}"
vendor/lib64/mediadrm/libwvdrmengine.so|vendor/lib64/libwvhidl.so)
[ "$2" = "" ] && return 0
grep -q "libcrypto-v33.so" "${2}" || "${PATCHELF}" --replace-needed "libcrypto.so" "libcrypto-v33.so" "$2"
;;
vendor/etc/seccomp_policy/atfwd@2.0.policy)
[ "$2" = "" ] && return 0
grep -q "gettid: 1" "${2}" || echo "gettid: 1" >> "${2}"
;;
vendor/etc/libnfc-nci.conf)
[ "$2" = "" ] && return 0
sed -i "s/NFC_DEBUG_ENABLED=1/NFC_DEBUG_ENABLED=0/" "${2}"
;;
vendor/etc/libnfc-nxp.conf)
[ "$2" = "" ] && return 0
sed -i "/NXPLOG_\w\+_LOGLEVEL/ s/0x03/0x02/" "${2}"
sed -i "s/NFC_DEBUG_ENABLED=1/NFC_DEBUG_ENABLED=0/" "${2}"
;;
*)
return 1
;;
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}"
;;
esac
return 0
}
function blob_fixup_dry() {
blob_fixup "$1" ""
}
# Initialize the helper

View File

@@ -1,59 +0,0 @@
//
// Copyright (C) 2017-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.
cc_binary {
name: "android.hardware.biometrics.fingerprint@2.3-service.xiaomi_raphael",
relative_install_path: "hw",
defaults: ["hidl_defaults"],
init_rc: ["android.hardware.biometrics.fingerprint@2.3-service.xiaomi_raphael.rc"],
vintf_fragments: ["android.hardware.biometrics.fingerprint@2.3-service.xiaomi_raphael.xml"],
srcs: ["service.cpp", "BiometricsFingerprint.cpp"],
shared_libs: [
"libbase",
"libhardware",
"libhidlbase",
"liblog",
"libutils",
"libcutils",
"android.hardware.biometrics.fingerprint@2.1",
"android.hardware.biometrics.fingerprint@2.2",
"android.hardware.biometrics.fingerprint@2.3",
"vendor.goodix.hardware.biometrics.fingerprint@2.1",
"vendor.xiaomi.hardware.fingerprintextension@1.0",
"android.hardware.power-V1-ndk",
"pixel-power-ext-V1-ndk",
"libbinder_ndk",
],
proprietary: true,
lto: {
thin: true,
},
whole_program_vtables: true,
}
cc_library_static {
name: "libudfps_extension.xiaomi_raphael",
srcs: ["UdfpsExtension.cpp"],
include_dirs: [
"frameworks/native/services/surfaceflinger/CompositionEngine/include"
],
header_libs: [
"generated_kernel_headers",
],
lto: {
thin: true,
},
whole_program_vtables: true,
}

View File

@@ -1,595 +0,0 @@
/*
* Copyright (C) 2017 The Android Open Source Project
* Copyright (C) 2018-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.
*/
#define LOG_TAG "android.hardware.biometrics.fingerprint@2.3-service.xiaomi_raphael"
#include "BiometricsFingerprint.h"
#include <android/binder_manager.h>
#include <android-base/strings.h>
#include <cutils/properties.h>
#include <hardware/hardware.h>
#include <hardware/hw_auth_token.h>
#include <inttypes.h>
#include <poll.h>
#include <unistd.h>
#include <fstream>
#include <thread>
#include <aidl/android/hardware/power/IPower.h>
#include <aidl/google/hardware/power/extension/pixel/IPowerExt.h>
using ::aidl::android::hardware::power::IPower;
using ::aidl::google::hardware::power::extension::pixel::IPowerExt;
#define COMMAND_NIT 10
#define PARAM_NIT_FOD 1
#define PARAM_NIT_NONE 0
#define FOD_STATUS_PATH "/sys/devices/virtual/touch/tp_dev/fod_status"
#define FOD_STATUS_ON 1
#define FOD_STATUS_OFF 0
#define FOD_UI_PATH "/sys/devices/platform/soc/soc:qcom,dsi-display-primary/fod_ui"
namespace {
template <typename T>
static void set(const std::string& path, const T& value) {
std::ofstream file(path);
file << value;
}
static bool readBool(int fd) {
char c;
int rc;
rc = lseek(fd, 0, SEEK_SET);
if (rc) {
ALOGE("failed to seek fd, err: %d", rc);
return false;
}
rc = read(fd, &c, sizeof(char));
if (rc != 1) {
ALOGE("failed to read bool from fd, err: %d", rc);
return false;
}
return c != '0';
}
} // anonymous namespace
namespace android {
namespace hardware {
namespace biometrics {
namespace fingerprint {
namespace V2_3 {
namespace implementation {
// Supported fingerprint HAL version
static const uint16_t kVersion = HARDWARE_MODULE_API_VERSION(2, 1);
constexpr char kBoostHint[] = "LAUNCH";
constexpr int32_t kBoostDurationMs = 2000;
using RequestStatus = android::hardware::biometrics::fingerprint::V2_1::RequestStatus;
BiometricsFingerprint* BiometricsFingerprint::sInstance = nullptr;
BiometricsFingerprint::BiometricsFingerprint() : mClientCallback(nullptr), mDevice(nullptr), mBoostHintIsSupported(false), mBoostHintSupportIsChecked(false), mPowerHalExtAidl(nullptr) {
sInstance = this; // keep track of the most recent instance
mDevice = openHal();
if (!mDevice) {
ALOGE("Can't open HAL module");
}
std::thread([this]() {
int fd = open(FOD_UI_PATH, O_RDONLY);
if (fd < 0) {
ALOGE("failed to open fd, err: %d", fd);
return;
}
struct pollfd fodUiPoll = {
.fd = fd,
.events = POLLERR | POLLPRI,
.revents = 0,
};
while (true) {
int rc = poll(&fodUiPoll, 1, -1);
if (rc < 0) {
ALOGE("failed to poll fd, err: %d", rc);
continue;
}
bool fingerDown = readBool(fd);
ALOGI("fod_ui status: %d", fingerDown);
extCmd(COMMAND_NIT, fingerDown ? PARAM_NIT_FOD : PARAM_NIT_NONE);
if (!fingerDown) {
set(FOD_STATUS_PATH, FOD_STATUS_OFF);
}
}
}).detach();
}
int32_t BiometricsFingerprint::connectPowerHalExt() {
if (mPowerHalExtAidl) {
return android::NO_ERROR;
}
const std::string kInstance = std::string(IPower::descriptor) + "/default";
ndk::SpAIBinder pwBinder = ndk::SpAIBinder(AServiceManager_getService(kInstance.c_str()));
ndk::SpAIBinder pwExtBinder;
AIBinder_getExtension(pwBinder.get(), pwExtBinder.getR());
mPowerHalExtAidl = IPowerExt::fromBinder(pwExtBinder);
if (!mPowerHalExtAidl) {
ALOGE("failed to connect power HAL extension");
return -EINVAL;
}
ALOGI("connect power HAL extension successfully");
return android::NO_ERROR;
}
int32_t BiometricsFingerprint::checkPowerHalExtBoostSupport(const std::string &boost) {
if (boost.empty() || connectPowerHalExt() != android::NO_ERROR) {
return -EINVAL;
}
bool isSupported = false;
auto ret = mPowerHalExtAidl->isBoostSupported(boost.c_str(), &isSupported);
if (!ret.isOk()) {
ALOGE("failed to check power HAL extension hint: boost=%s", boost.c_str());
if (ret.getExceptionCode() == EX_TRANSACTION_FAILED) {
/*
* PowerHAL service may crash due to some reasons, this could end up
* binder transaction failure. Set nullptr here to trigger re-connection.
*/
ALOGE("binder transaction failed for power HAL extension hint");
mPowerHalExtAidl = nullptr;
return -ENOTCONN;
}
return -EINVAL;
}
if (!isSupported) {
ALOGW("power HAL extension hint is not supported: boost=%s", boost.c_str());
return -EOPNOTSUPP;
}
ALOGI("power HAL extension hint is supported: boost=%s", boost.c_str());
return android::NO_ERROR;
}
int32_t BiometricsFingerprint::sendPowerHalExtBoost(const std::string &boost,
int32_t durationMs) {
if (boost.empty() || connectPowerHalExt() != android::NO_ERROR) {
return -EINVAL;
}
auto ret = mPowerHalExtAidl->setBoost(boost.c_str(), durationMs);
if (!ret.isOk()) {
ALOGE("failed to send power HAL extension hint: boost=%s, duration=%d", boost.c_str(),
durationMs);
if (ret.getExceptionCode() == EX_TRANSACTION_FAILED) {
/*
* PowerHAL service may crash due to some reasons, this could end up
* binder transaction failure. Set nullptr here to trigger re-connection.
*/
ALOGE("binder transaction failed for power HAL extension hint");
mPowerHalExtAidl = nullptr;
return -ENOTCONN;
}
return -EINVAL;
}
return android::NO_ERROR;
}
int32_t BiometricsFingerprint::isBoostHintSupported() {
int32_t ret = android::NO_ERROR;
if (mBoostHintSupportIsChecked) {
ret = mBoostHintIsSupported ? android::NO_ERROR : -EOPNOTSUPP;
return ret;
}
ret = checkPowerHalExtBoostSupport(kBoostHint);
if (ret == android::NO_ERROR) {
mBoostHintIsSupported = true;
mBoostHintSupportIsChecked = true;
ALOGI("Boost hint is supported");
} else if (ret == -EOPNOTSUPP) {
mBoostHintSupportIsChecked = true;
ALOGI("Boost hint is unsupported");
} else {
ALOGW("Failed to check the support of boost hint, ret %d", ret);
}
return ret;
}
int32_t BiometricsFingerprint::sendAuthenticatedBoostHint() {
int32_t ret = isBoostHintSupported();
if (ret != android::NO_ERROR) {
return ret;
}
ret = sendPowerHalExtBoost(kBoostHint, kBoostDurationMs);
return ret;
}
BiometricsFingerprint::~BiometricsFingerprint() {
ALOGV("~BiometricsFingerprint()");
if (mDevice == nullptr) {
ALOGE("No valid device");
return;
}
int err;
if (0 != (err = mDevice->common.close(reinterpret_cast<hw_device_t*>(mDevice)))) {
ALOGE("Can't close fingerprint module, error: %d", err);
return;
}
mDevice = nullptr;
}
Return<RequestStatus> BiometricsFingerprint::ErrorFilter(int32_t error) {
switch (error) {
case 0:
return RequestStatus::SYS_OK;
case -2:
return RequestStatus::SYS_ENOENT;
case -4:
return RequestStatus::SYS_EINTR;
case -5:
return RequestStatus::SYS_EIO;
case -11:
return RequestStatus::SYS_EAGAIN;
case -12:
return RequestStatus::SYS_ENOMEM;
case -13:
return RequestStatus::SYS_EACCES;
case -14:
return RequestStatus::SYS_EFAULT;
case -16:
return RequestStatus::SYS_EBUSY;
case -22:
return RequestStatus::SYS_EINVAL;
case -28:
return RequestStatus::SYS_ENOSPC;
case -110:
return RequestStatus::SYS_ETIMEDOUT;
default:
ALOGE("An unknown error returned from fingerprint vendor library: %d", error);
return RequestStatus::SYS_UNKNOWN;
}
}
// Translate from errors returned by traditional HAL (see fingerprint.h) to
// HIDL-compliant FingerprintError.
FingerprintError BiometricsFingerprint::VendorErrorFilter(int32_t error, int32_t* vendorCode) {
*vendorCode = 0;
switch (error) {
case FINGERPRINT_ERROR_HW_UNAVAILABLE:
return FingerprintError::ERROR_HW_UNAVAILABLE;
case FINGERPRINT_ERROR_UNABLE_TO_PROCESS:
return FingerprintError::ERROR_UNABLE_TO_PROCESS;
case FINGERPRINT_ERROR_TIMEOUT:
return FingerprintError::ERROR_TIMEOUT;
case FINGERPRINT_ERROR_NO_SPACE:
return FingerprintError::ERROR_NO_SPACE;
case FINGERPRINT_ERROR_CANCELED:
return FingerprintError::ERROR_CANCELED;
case FINGERPRINT_ERROR_UNABLE_TO_REMOVE:
return FingerprintError::ERROR_UNABLE_TO_REMOVE;
case FINGERPRINT_ERROR_LOCKOUT:
return FingerprintError::ERROR_LOCKOUT;
default:
if (error >= FINGERPRINT_ERROR_VENDOR_BASE) {
// vendor specific code.
*vendorCode = error - FINGERPRINT_ERROR_VENDOR_BASE;
return FingerprintError::ERROR_VENDOR;
}
}
ALOGE("Unknown error from fingerprint vendor library: %d", error);
return FingerprintError::ERROR_UNABLE_TO_PROCESS;
}
// Translate acquired messages returned by traditional HAL (see fingerprint.h)
// to HIDL-compliant FingerprintAcquiredInfo.
FingerprintAcquiredInfo BiometricsFingerprint::VendorAcquiredFilter(int32_t info,
int32_t* vendorCode) {
*vendorCode = 0;
switch (info) {
case FINGERPRINT_ACQUIRED_GOOD:
return FingerprintAcquiredInfo::ACQUIRED_GOOD;
case FINGERPRINT_ACQUIRED_PARTIAL:
return FingerprintAcquiredInfo::ACQUIRED_PARTIAL;
case FINGERPRINT_ACQUIRED_INSUFFICIENT:
return FingerprintAcquiredInfo::ACQUIRED_INSUFFICIENT;
case FINGERPRINT_ACQUIRED_IMAGER_DIRTY:
return FingerprintAcquiredInfo::ACQUIRED_IMAGER_DIRTY;
case FINGERPRINT_ACQUIRED_TOO_SLOW:
return FingerprintAcquiredInfo::ACQUIRED_TOO_SLOW;
case FINGERPRINT_ACQUIRED_TOO_FAST:
return FingerprintAcquiredInfo::ACQUIRED_TOO_FAST;
default:
if (info >= FINGERPRINT_ACQUIRED_VENDOR_BASE) {
// vendor specific code.
*vendorCode = info - FINGERPRINT_ACQUIRED_VENDOR_BASE;
return FingerprintAcquiredInfo::ACQUIRED_GOOD;
}
}
ALOGE("Unknown acquiredmsg from fingerprint vendor library: %d", info);
return FingerprintAcquiredInfo::ACQUIRED_INSUFFICIENT;
}
Return<uint64_t> BiometricsFingerprint::setNotify(
const sp<IBiometricsFingerprintClientCallback>& clientCallback) {
std::lock_guard<std::mutex> lock(mClientCallbackMutex);
mClientCallback = clientCallback;
// This is here because HAL 2.1 doesn't have a way to propagate a
// unique token for its driver. Subsequent versions should send a unique
// token for each call to setNotify(). This is fine as long as there's only
// one fingerprint device on the platform.
return reinterpret_cast<uint64_t>(mDevice);
}
Return<uint64_t> BiometricsFingerprint::preEnroll() {
return mDevice->pre_enroll(mDevice);
}
Return<RequestStatus> BiometricsFingerprint::enroll(const hidl_array<uint8_t, 69>& hat,
uint32_t gid, uint32_t timeoutSec) {
const hw_auth_token_t* authToken = reinterpret_cast<const hw_auth_token_t*>(hat.data());
return ErrorFilter(mDevice->enroll(mDevice, authToken, gid, timeoutSec));
}
Return<RequestStatus> BiometricsFingerprint::postEnroll() {
return ErrorFilter(mDevice->cancel(mDevice));
}
Return<uint64_t> BiometricsFingerprint::getAuthenticatorId() {
return mDevice->get_authenticator_id(mDevice);
}
Return<RequestStatus> BiometricsFingerprint::cancel() {
return ErrorFilter(mDevice->cancel(mDevice));
}
Return<RequestStatus> BiometricsFingerprint::enumerate() {
return ErrorFilter(mDevice->enumerate(mDevice));
}
Return<RequestStatus> BiometricsFingerprint::remove(uint32_t gid, uint32_t fid) {
return ErrorFilter(mDevice->remove(mDevice, gid, fid));
}
Return<RequestStatus> BiometricsFingerprint::setActiveGroup(uint32_t gid,
const hidl_string& storePath) {
if (storePath.size() >= PATH_MAX || storePath.size() <= 0) {
ALOGE("Bad path length: %zd", storePath.size());
return RequestStatus::SYS_EINVAL;
}
std::string mutableStorePath = storePath;
if (android::base::StartsWith(mutableStorePath, "/data/system/users/")) {
mutableStorePath = "/data/vendor_de/";
mutableStorePath +=
static_cast<std::string>(storePath).substr(strlen("/data/system/users/"));
}
if (access(mutableStorePath.c_str(), W_OK)) {
return RequestStatus::SYS_EINVAL;
}
return ErrorFilter(mDevice->set_active_group(mDevice, gid, mutableStorePath.c_str()));
}
Return<RequestStatus> BiometricsFingerprint::authenticate(uint64_t operationId, uint32_t gid) {
return ErrorFilter(mDevice->authenticate(mDevice, operationId, gid));
}
IBiometricsFingerprint* BiometricsFingerprint::getInstance() {
if (!sInstance) {
sInstance = new BiometricsFingerprint();
}
return sInstance;
}
void setFpVendorProp(const char* fp_vendor) {
property_set("persist.vendor.sys.fp.vendor", fp_vendor);
}
fingerprint_device_t* getDeviceForVendor(const char* class_name) {
const hw_module_t* hw_module = nullptr;
int err;
err = hw_get_module_by_class(FINGERPRINT_HARDWARE_MODULE_ID, class_name, &hw_module);
if (err) {
ALOGE("Failed to get fingerprint module: class %s, error %d", class_name, err);
return nullptr;
}
if (hw_module == nullptr) {
ALOGE("No valid fingerprint module: class %s", class_name);
return nullptr;
}
fingerprint_module_t const* fp_module = reinterpret_cast<const fingerprint_module_t*>(hw_module);
if (fp_module->common.methods->open == nullptr) {
ALOGE("No valid open method: class %s", class_name);
return nullptr;
}
hw_device_t* device = nullptr;
err = fp_module->common.methods->open(hw_module, nullptr, &device);
if (err) {
ALOGE("Can't open fingerprint methods, class %s, error: %d", class_name, err);
return nullptr;
}
if (kVersion != device->version) {
ALOGE("Wrong fingerprint version: expected %d, got %d", kVersion, device->version);
return nullptr;
}
fingerprint_device_t* fp_device = reinterpret_cast<fingerprint_device_t*>(device);
ALOGI("Loaded fingerprint module: class %s", class_name);
return fp_device;
}
fingerprint_device_t* getFingerprintDevice() {
fingerprint_device_t* fp_device;
fp_device = getDeviceForVendor("goodix_fod");
if (fp_device == nullptr) {
ALOGE("Failed to load goodix_fod fingerprint module");
} else {
setFpVendorProp("goodix_fod");
return fp_device;
}
setFpVendorProp("none");
return nullptr;
}
fingerprint_device_t* BiometricsFingerprint::openHal() {
int err;
fingerprint_device_t* fp_device;
fp_device = getFingerprintDevice();
if (fp_device == nullptr) {
return nullptr;
}
if (0 != (err = fp_device->set_notify(fp_device, BiometricsFingerprint::notify))) {
ALOGE("Can't register fingerprint module callback, error: %d", err);
return nullptr;
}
return fp_device;
}
void BiometricsFingerprint::notify(const fingerprint_msg_t* msg) {
BiometricsFingerprint* thisPtr =
static_cast<BiometricsFingerprint*>(BiometricsFingerprint::getInstance());
std::lock_guard<std::mutex> lock(thisPtr->mClientCallbackMutex);
if (thisPtr == nullptr || thisPtr->mClientCallback == nullptr) {
ALOGE("Receiving callbacks before the client callback is registered.");
return;
}
const uint64_t devId = reinterpret_cast<uint64_t>(thisPtr->mDevice);
switch (msg->type) {
case FINGERPRINT_ERROR: {
int32_t vendorCode = 0;
FingerprintError result = VendorErrorFilter(msg->data.error, &vendorCode);
ALOGD("onError(%d)", result);
if (!thisPtr->mClientCallback->onError(devId, result, vendorCode).isOk()) {
ALOGE("failed to invoke fingerprint onError callback");
}
} break;
case FINGERPRINT_ACQUIRED: {
int32_t vendorCode = 0;
FingerprintAcquiredInfo result =
VendorAcquiredFilter(msg->data.acquired.acquired_info, &vendorCode);
ALOGD("onAcquired(%d)", result);
if (!thisPtr->mClientCallback->onAcquired(devId, result, vendorCode).isOk()) {
ALOGE("failed to invoke fingerprint onAcquired callback");
}
} break;
case FINGERPRINT_TEMPLATE_ENROLLING:
ALOGD("onEnrollResult(fid=%d, gid=%d, rem=%d)", msg->data.enroll.finger.fid,
msg->data.enroll.finger.gid, msg->data.enroll.samples_remaining);
if (!thisPtr->mClientCallback
->onEnrollResult(devId, msg->data.enroll.finger.fid,
msg->data.enroll.finger.gid,
msg->data.enroll.samples_remaining)
.isOk()) {
ALOGE("failed to invoke fingerprint onEnrollResult callback");
}
break;
case FINGERPRINT_TEMPLATE_REMOVED:
ALOGD("onRemove(fid=%d, gid=%d, rem=%d)", msg->data.removed.finger.fid,
msg->data.removed.finger.gid, msg->data.removed.remaining_templates);
if (!thisPtr->mClientCallback
->onRemoved(devId, msg->data.removed.finger.fid, msg->data.removed.finger.gid,
msg->data.removed.remaining_templates)
.isOk()) {
ALOGE("failed to invoke fingerprint onRemoved callback");
}
break;
case FINGERPRINT_AUTHENTICATED:
if (msg->data.authenticated.finger.fid != 0) {
ALOGD("onAuthenticated(fid=%d, gid=%d)", msg->data.authenticated.finger.fid,
msg->data.authenticated.finger.gid);
const uint8_t* hat = reinterpret_cast<const uint8_t*>(&msg->data.authenticated.hat);
const hidl_vec<uint8_t> token(
std::vector<uint8_t>(hat, hat + sizeof(msg->data.authenticated.hat)));
if (!thisPtr->mClientCallback
->onAuthenticated(devId, msg->data.authenticated.finger.fid,
msg->data.authenticated.finger.gid, token)
.isOk()) {
ALOGE("failed to invoke fingerprint onAuthenticated callback");
} else {
if (thisPtr->sendAuthenticatedBoostHint() != android::NO_ERROR) {
ALOGE("failed to send authenticated boost");
}
}
} else {
// Not a recognized fingerprint
if (!thisPtr->mClientCallback
->onAuthenticated(devId, msg->data.authenticated.finger.fid,
msg->data.authenticated.finger.gid, hidl_vec<uint8_t>())
.isOk()) {
ALOGE("failed to invoke fingerprint onAuthenticated callback");
}
}
break;
case FINGERPRINT_TEMPLATE_ENUMERATING:
ALOGD("onEnumerate(fid=%d, gid=%d, rem=%d)", msg->data.enumerated.finger.fid,
msg->data.enumerated.finger.gid, msg->data.enumerated.remaining_templates);
if (!thisPtr->mClientCallback
->onEnumerate(devId, msg->data.enumerated.finger.fid,
msg->data.enumerated.finger.gid,
msg->data.enumerated.remaining_templates)
.isOk()) {
ALOGE("failed to invoke fingerprint onEnumerate callback");
}
break;
}
}
Return<int32_t> BiometricsFingerprint::extCmd(int32_t cmd, int32_t param) {
return mDevice->extCmd(mDevice, cmd, param);
}
Return<bool> BiometricsFingerprint::isUdfps(uint32_t /* sensorId */) {
return true;
}
Return<void> BiometricsFingerprint::onFingerDown(uint32_t /* x */, uint32_t /* y */,
float /* minor */, float /* major */) {
set(FOD_STATUS_PATH, FOD_STATUS_ON);
return Void();
}
Return<void> BiometricsFingerprint::onFingerUp() {
return Void();
}
} // namespace implementation
} // namespace V2_3
} // namespace fingerprint
} // namespace biometrics
} // namespace hardware
} // namespace android

View File

@@ -1,126 +0,0 @@
/*
* Copyright (C) 2017 The Android Open Source Project
* Copyright (C) 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.
*/
#ifndef ANDROID_HARDWARE_BIOMETRICS_FINGERPRINT_V2_3_BIOMETRICSFINGERPRINT_H
#define ANDROID_HARDWARE_BIOMETRICS_FINGERPRINT_V2_3_BIOMETRICSFINGERPRINT_H
#include <android/hardware/biometrics/fingerprint/2.3/IBiometricsFingerprint.h>
#include <android/log.h>
#include <hardware/hardware.h>
#include <hidl/MQDescriptor.h>
#include <hidl/Status.h>
#include <log/log.h>
#include <vendor/xiaomi/hardware/fingerprintextension/1.0/IXiaomiFingerprint.h>
#include "fingerprint.h"
namespace aidl {
namespace google {
namespace hardware {
namespace power {
namespace extension {
namespace pixel {
class IPowerExt;
} // namespace pixel
} // namespace extension
} // namespace power
} // namespace hardware
} // namespace google
} // namespace aidl
namespace android {
namespace hardware {
namespace biometrics {
namespace fingerprint {
namespace V2_3 {
namespace implementation {
using ::android::sp;
using ::android::hardware::hidl_string;
using ::android::hardware::hidl_vec;
using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo;
using ::android::hardware::biometrics::fingerprint::V2_1::FingerprintError;
using ::android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprintClientCallback;
using ::android::hardware::biometrics::fingerprint::V2_1::RequestStatus;
using ::android::hardware::biometrics::fingerprint::V2_3::IBiometricsFingerprint;
using ::vendor::xiaomi::hardware::fingerprintextension::V1_0::IXiaomiFingerprint;
struct BiometricsFingerprint : public IBiometricsFingerprint, public IXiaomiFingerprint {
BiometricsFingerprint();
~BiometricsFingerprint();
status_t registerAsSystemService();
// Method to wrap legacy HAL with BiometricsFingerprint class
static IBiometricsFingerprint* getInstance();
// Methods from ::android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprint follow.
Return<uint64_t> setNotify(
const sp<IBiometricsFingerprintClientCallback>& clientCallback) override;
Return<uint64_t> preEnroll() override;
Return<RequestStatus> enroll(const hidl_array<uint8_t, 69>& hat, uint32_t gid,
uint32_t timeoutSec) override;
Return<RequestStatus> postEnroll() override;
Return<uint64_t> getAuthenticatorId() override;
Return<RequestStatus> cancel() override;
Return<RequestStatus> enumerate() override;
Return<RequestStatus> remove(uint32_t gid, uint32_t fid) override;
Return<RequestStatus> setActiveGroup(uint32_t gid, const hidl_string& storePath) override;
Return<RequestStatus> authenticate(uint64_t operationId, uint32_t gid) override;
Return<int32_t> extCmd(int32_t cmd, int32_t param) override;
static fingerprint_device_t* openHal();
int32_t connectPowerHalExt();
int32_t checkPowerHalExtBoostSupport(const std::string &boost);
int32_t sendPowerHalExtBoost(const std::string &boost, int32_t durationMs);
int32_t isBoostHintSupported();
int32_t sendAuthenticatedBoostHint();
static void notify(
const fingerprint_msg_t* msg); /* Static callback for legacy HAL implementation */
static Return<RequestStatus> ErrorFilter(int32_t error);
static FingerprintError VendorErrorFilter(int32_t error, int32_t* vendorCode);
static FingerprintAcquiredInfo VendorAcquiredFilter(int32_t error, int32_t* vendorCode);
static BiometricsFingerprint* sInstance;
std::mutex mClientCallbackMutex;
sp<IBiometricsFingerprintClientCallback> mClientCallback;
fingerprint_device_t* mDevice;
bool mBoostHintIsSupported;
bool mBoostHintSupportIsChecked;
std::shared_ptr<aidl::google::hardware::power::extension::pixel::IPowerExt> mPowerHalExtAidl;
// Methods from ::android::hardware::biometrics::fingerprint::V2_3::IBiometricsFingerprint follow.
Return<bool> isUdfps(uint32_t sensorId) override;
Return<void> onFingerDown(uint32_t x, uint32_t y, float minor, float major) override;
Return<void> onFingerUp() override;
};
} // namespace implementation
} // namespace V2_3
} // namespace fingerprint
} // namespace biometrics
} // namespace hardware
} // namespace android
#endif // ANDROID_HARDWARE_BIOMETRICS_FINGERPRINT_V2_3_BIOMETRICSFINGERPRINT_H

View File

@@ -1,31 +0,0 @@
/*
* Copyright (C) 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.
*/
#include <stdint.h>
#include <drm/sde_drm.h>
#include <compositionengine/UdfpsExtension.h>
uint32_t getUdfpsZOrder(uint32_t z, bool touched) {
if (touched) {
z |= FOD_PRESSED_LAYER_ZORDER;
}
return z;
}
uint64_t getUdfpsUsageBits(uint64_t usageBits, bool) {
return usageBits;
}

View File

@@ -1,51 +0,0 @@
service vendor.fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.3-service.xiaomi_raphael
class late_start
user system
group system input uhid
task_profiles ProcessCapacityHigh HighPerformance
priority -20
on init
chmod 0666 /dev/goodix_fp
chown system system /dev/goodix_fp
chmod 0664 /dev/fortsense_fp
chown system system /dev/fortsense_fp
on boot
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display-primary/fod_ui
chown system system /sys/devices/virtual/touch/tp_dev/fod_status
chmod 0660 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/fod_ui
chmod 0660 /sys/devices/virtual/touch/tp_dev/fod_status
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/irq
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/irq_enable
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/wakeup_enable
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/hw_reset
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/device_prepare
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/fingerdown_wait
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/vendor
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/simulate_irq
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/finger_irq
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/power_cfg
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/irq
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/wakeup_enable
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/hw_reset
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/device_prepare
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/vendor
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/simulate_irq
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/finger_irq
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/power_cfg
chmod 0666 /dev/input/event2
on post-fs-data
mkdir /data/vendor/fpc 0770 system system
mkdir /data/vendor/goodix 0770 system system
mkdir /data/vendor/fpdump 0770 system system
mkdir /data/vendor/fortsense 0770 system system
mkdir /mnt/vendor/persist/goodix 0770 system system
mkdir /mnt/vendor/persist/fpc 0770 system system

View File

@@ -1,12 +0,0 @@
<manifest version="1.0" type="device">
<hal format="hidl">
<name>android.hardware.biometrics.fingerprint</name>
<transport>hwbinder</transport>
<fqname>@2.3::IBiometricsFingerprint/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.xiaomi.hardware.fingerprintextension</name>
<transport>hwbinder</transport>
<fqname>@1.0::IXiaomiFingerprint/default</fqname>
</hal>
</manifest>

View File

@@ -1,282 +0,0 @@
/*
* Copyright (C) 2014 The Android Open Source Project
* Copyright (C) 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.
*/
#ifndef ANDROID_INCLUDE_HARDWARE_FINGERPRINT_H
#define ANDROID_INCLUDE_HARDWARE_FINGERPRINT_H
#include <hardware/hardware.h>
#include <hardware/hw_auth_token.h>
#define FINGERPRINT_MODULE_API_VERSION_1_0 HARDWARE_MODULE_API_VERSION(1, 0)
#define FINGERPRINT_MODULE_API_VERSION_2_0 HARDWARE_MODULE_API_VERSION(2, 0)
#define FINGERPRINT_MODULE_API_VERSION_2_1 HARDWARE_MODULE_API_VERSION(2, 1)
#define FINGERPRINT_MODULE_API_VERSION_3_0 HARDWARE_MODULE_API_VERSION(3, 0)
#define FINGERPRINT_HARDWARE_MODULE_ID "fingerprint"
typedef enum fingerprint_msg_type {
FINGERPRINT_ERROR = -1,
FINGERPRINT_ACQUIRED = 1,
FINGERPRINT_TEMPLATE_ENROLLING = 3,
FINGERPRINT_TEMPLATE_REMOVED = 4,
FINGERPRINT_AUTHENTICATED = 5,
FINGERPRINT_TEMPLATE_ENUMERATING = 6,
} fingerprint_msg_type_t;
/*
* Fingerprint errors are meant to tell the framework to terminate the current operation and ask
* for the user to correct the situation. These will almost always result in messaging and user
* interaction to correct the problem.
*
* For example, FINGERPRINT_ERROR_CANCELED should follow any acquisition message that results in
* a situation where the current operation can't continue without user interaction. For example,
* if the sensor is dirty during enrollment and no further enrollment progress can be made,
* send FINGERPRINT_ACQUIRED_IMAGER_DIRTY followed by FINGERPRINT_ERROR_CANCELED.
*/
typedef enum fingerprint_error {
FINGERPRINT_ERROR_HW_UNAVAILABLE = 1, /* The hardware has an error that can't be resolved. */
FINGERPRINT_ERROR_UNABLE_TO_PROCESS = 2, /* Bad data; operation can't continue */
FINGERPRINT_ERROR_TIMEOUT = 3, /* The operation has timed out waiting for user input. */
FINGERPRINT_ERROR_NO_SPACE = 4, /* No space available to store a template */
FINGERPRINT_ERROR_CANCELED = 5, /* The current operation can't proceed. See above. */
FINGERPRINT_ERROR_UNABLE_TO_REMOVE = 6, /* fingerprint with given id can't be removed */
FINGERPRINT_ERROR_LOCKOUT = 7, /* the fingerprint hardware is in lockout due to too many attempts */
FINGERPRINT_ERROR_VENDOR_BASE = 1000 /* vendor-specific error messages start here */
} fingerprint_error_t;
/*
* Fingerprint acquisition info is meant as feedback for the current operation. Anything but
* FINGERPRINT_ACQUIRED_GOOD will be shown to the user as feedback on how to take action on the
* current operation. For example, FINGERPRINT_ACQUIRED_IMAGER_DIRTY can be used to tell the user
* to clean the sensor. If this will cause the current operation to fail, an additional
* FINGERPRINT_ERROR_CANCELED can be sent to stop the operation in progress (e.g. enrollment).
* In general, these messages will result in a "Try again" message.
*/
typedef enum fingerprint_acquired_info {
FINGERPRINT_ACQUIRED_GOOD = 0,
FINGERPRINT_ACQUIRED_PARTIAL = 1, /* sensor needs more data, i.e. longer swipe. */
FINGERPRINT_ACQUIRED_INSUFFICIENT = 2, /* image doesn't contain enough detail for recognition*/
FINGERPRINT_ACQUIRED_IMAGER_DIRTY = 3, /* sensor needs to be cleaned */
FINGERPRINT_ACQUIRED_TOO_SLOW = 4, /* mostly swipe-type sensors; not enough data collected */
FINGERPRINT_ACQUIRED_TOO_FAST = 5, /* for swipe and area sensors; tell user to slow down*/
FINGERPRINT_ACQUIRED_DETECTED = 6, /* when the finger is first detected. Used to optimize wakeup.
Should be followed by one of the above messages */
FINGERPRINT_ACQUIRED_VENDOR_BASE = 1000 /* vendor-specific acquisition messages start here */
} fingerprint_acquired_info_t;
typedef struct fingerprint_finger_id {
uint32_t gid;
uint32_t fid;
} fingerprint_finger_id_t;
typedef struct fingerprint_enroll {
fingerprint_finger_id_t finger;
/* samples_remaining goes from N (no data collected, but N scans needed)
* to 0 (no more data is needed to build a template). */
uint32_t samples_remaining;
uint64_t msg; /* Vendor specific message. Used for user guidance */
} fingerprint_enroll_t;
typedef struct fingerprint_iterator {
fingerprint_finger_id_t finger;
uint32_t remaining_templates;
} fingerprint_iterator_t;
typedef fingerprint_iterator_t fingerprint_enumerated_t;
typedef fingerprint_iterator_t fingerprint_removed_t;
typedef struct fingerprint_acquired {
fingerprint_acquired_info_t acquired_info; /* information about the image */
} fingerprint_acquired_t;
typedef struct fingerprint_authenticated {
fingerprint_finger_id_t finger;
hw_auth_token_t hat;
} fingerprint_authenticated_t;
typedef struct fingerprint_msg {
fingerprint_msg_type_t type;
union {
fingerprint_error_t error;
fingerprint_enroll_t enroll;
fingerprint_enumerated_t enumerated;
fingerprint_removed_t removed;
fingerprint_acquired_t acquired;
fingerprint_authenticated_t authenticated;
} data;
} fingerprint_msg_t;
/* Callback function type */
typedef void (*fingerprint_notify_t)(const fingerprint_msg_t* msg);
/* Synchronous operation */
typedef struct fingerprint_device {
/**
* Common methods of the fingerprint device. This *must* be the first member
* of fingerprint_device as users of this structure will cast a hw_device_t
* to fingerprint_device pointer in contexts where it's known
* the hw_device_t references a fingerprint_device.
*/
struct hw_device_t common;
/*
* Client provided callback function to receive notifications.
* Do not set by hand, use the function above instead.
*/
fingerprint_notify_t notify;
/*
* Set notification callback:
* Registers a user function that would receive notifications from the HAL
* The call will block if the HAL state machine is in busy state until HAL
* leaves the busy state.
*
* Function return: 0 if callback function is successfuly registered
* or a negative number in case of error, generally from the errno.h set.
*/
int (*set_notify)(struct fingerprint_device* dev, fingerprint_notify_t notify);
/*
* Fingerprint pre-enroll enroll request:
* Generates a unique token to upper layers to indicate the start of an enrollment transaction.
* This token will be wrapped by security for verification and passed to enroll() for
* verification before enrollment will be allowed. This is to ensure adding a new fingerprint
* template was preceded by some kind of credential confirmation (e.g. device password).
*
* Function return: 0 if function failed
* otherwise, a uint64_t of token
*/
uint64_t (*pre_enroll)(struct fingerprint_device* dev);
/*
* Fingerprint enroll request:
* Switches the HAL state machine to collect and store a new fingerprint
* template. Switches back as soon as enroll is complete
* (fingerprint_msg.type == FINGERPRINT_TEMPLATE_ENROLLING &&
* fingerprint_msg.data.enroll.samples_remaining == 0)
* or after timeout_sec seconds.
* The fingerprint template will be assigned to the group gid. User has a choice
* to supply the gid or set it to 0 in which case a unique group id will be generated.
*
* Function return: 0 if enrollment process can be successfully started
* or a negative number in case of error, generally from the errno.h set.
* A notify() function may be called indicating the error condition.
*/
int (*enroll)(struct fingerprint_device* dev, const hw_auth_token_t* hat, uint32_t gid,
uint32_t timeout_sec);
/*
* Finishes the enroll operation and invalidates the pre_enroll() generated challenge.
* This will be called at the end of a multi-finger enrollment session to indicate
* that no more fingers will be added.
*
* Function return: 0 if the request is accepted
* or a negative number in case of error, generally from the errno.h set.
*/
int (*post_enroll)(struct fingerprint_device* dev);
/*
* get_authenticator_id:
* Returns a token associated with the current fingerprint set. This value will
* change whenever a new fingerprint is enrolled, thus creating a new fingerprint
* set.
*
* Function return: current authenticator id or 0 if function failed.
*/
uint64_t (*get_authenticator_id)(struct fingerprint_device* dev);
/*
* Cancel pending enroll or authenticate, sending FINGERPRINT_ERROR_CANCELED
* to all running clients. Switches the HAL state machine back to the idle state.
* Unlike enroll_done() doesn't invalidate the pre_enroll() challenge.
*
* Function return: 0 if cancel request is accepted
* or a negative number in case of error, generally from the errno.h set.
*/
int (*cancel)(struct fingerprint_device* dev);
/*
* Enumerate all the fingerprint templates found in the directory set by
* set_active_group()
* For each template found a notify() will be called with:
* fingerprint_msg.type == FINGERPRINT_TEMPLATE_ENUMERATED
* fingerprint_msg.data.enumerated.finger indicating a template id
* fingerprint_msg.data.enumerated.remaining_templates indicating how many more
* enumeration messages to expect.
* Note: If there are no fingerprints, then this should return 0 and the first fingerprint
* enumerated should have fingerid=0 and remaining=0
* Function return: 0 if enumerate request is accepted
* or a negative number in case of error, generally from the errno.h set.
*/
int (*enumerate)(struct fingerprint_device* dev);
/*
* Fingerprint remove request:
* Deletes a fingerprint template.
* Works only within the path set by set_active_group().
* The fid parameter can be used as a widcard:
* * fid == 0 -- delete all the templates in the group.
* * fid != 0 -- delete this specific template from the group.
* For each template found a notify() will be called with:
* fingerprint_msg.type == FINGERPRINT_TEMPLATE_REMOVED
* fingerprint_msg.data.removed.finger indicating a template id deleted
* fingerprint_msg.data.removed.remaining_templates indicating how many more
* templates will be deleted by this operation.
*
* Function return: 0 if fingerprint template(s) can be successfully deleted
* or a negative number in case of error, generally from the errno.h set.
*/
int (*remove)(struct fingerprint_device* dev, uint32_t gid, uint32_t fid);
/*
* Restricts the HAL operation to a set of fingerprints belonging to a
* group provided.
* The caller must provide a path to a storage location within the user's
* data directory.
*
* Function return: 0 on success
* or a negative number in case of error, generally from the errno.h set.
*/
int (*set_active_group)(struct fingerprint_device* dev, uint32_t gid, const char* store_path);
/*
* Authenticates an operation identifed by operation_id
*
* Function return: 0 on success
* or a negative number in case of error, generally from the errno.h set.
*/
int (*authenticate)(struct fingerprint_device* dev, uint64_t operation_id, uint32_t gid);
/**
* Call a Xiaomi fingerprint extension command.
*/
int (*extCmd)(struct fingerprint_device* dev, int32_t cmd, int32_t param);
/* Reserved for backward binary compatibility */
void* reserved[4];
} fingerprint_device_t;
typedef struct fingerprint_module {
/**
* Common methods of the fingerprint module. This *must* be the first member
* of fingerprint_module as users of this structure will cast a hw_module_t
* to fingerprint_module pointer in contexts where it's known
* the hw_module_t references a fingerprint_module.
*/
struct hw_module_t common;
} fingerprint_module_t;
#endif /* ANDROID_INCLUDE_HARDWARE_FINGERPRINT_H */

View File

@@ -1,78 +0,0 @@
/*
* Copyright (C) 2017 The Android Open Source Project
* Copyright (C) 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.
*/
#define LOG_TAG "android.hardware.biometrics.fingerprint@2.3-service.xiaomi_raphael"
#include <android/log.h>
#include <hidl/HidlTransportSupport.h>
#include "BiometricsFingerprint.h"
// libhwbinder:
using android::hardware::configureRpcThreadpool;
using android::hardware::joinRpcThreadpool;
// Generated HIDL files
using android::hardware::biometrics::fingerprint::V2_3::IBiometricsFingerprint;
using android::hardware::biometrics::fingerprint::V2_3::implementation::BiometricsFingerprint;
using android::status_t;
status_t BiometricsFingerprint::registerAsSystemService() {
status_t ret = 0;
ret = IBiometricsFingerprint::registerAsService();
if (ret != 0) {
ALOGE("Failed to register IBiometricsFingerprint (%d)", ret);
goto fail;
} else {
ALOGI("Successfully registered IBiometricsFingerprint");
}
ret = IXiaomiFingerprint::registerAsService();
if (ret != 0) {
ALOGE("Failed to register IXiaomiFingerprint (%d)", ret);
goto fail;
} else {
ALOGI("Successfully registered IXiaomiFingerprint");
}
fail:
return ret;
}
int main() {
android::sp<IBiometricsFingerprint> service = BiometricsFingerprint::getInstance();
if (service == nullptr) {
ALOGE("Instance of BiometricsFingerprint is null");
return 1;
}
android::hardware::setMinSchedulerPolicy(service, SCHED_RR, -20);
configureRpcThreadpool(1, true /*callerWillJoin*/);
status_t status = service->registerAsService();
if (status != android::OK) {
ALOGE("Cannot register service for Fingerprint HAL(%d).", status);
return 1;
}
joinRpcThreadpool();
return 0; // should never get here
}

View File

@@ -23,6 +23,14 @@
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>android.hardware.biometrics.fingerprint</name>
<version>4</version>
<interface>
<name>IFingerprint</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>android.hardware.bluetooth.audio</name>
<version>4</version>
@@ -71,6 +79,14 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.light</name>
<version>2.0</version>
<interface>
<name>ILight</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>android.hardware.power</name>
<version>5</version>
@@ -201,7 +217,7 @@
</hal>
<hal format="aidl" optional="true">
<name>android.hardware.health</name>
<version>1</version>
<version>3</version>
<interface>
<name>IHealth</name>
<instance>default</instance>
@@ -558,4 +574,12 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.dolby.hardware.dms</name>
<version>2.0</version>
<interface>
<name>IDms</name>
<instance>default</instance>
</interface>
</hal>
</compatibility-matrix>

View File

@@ -26,7 +26,6 @@ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<manifest version="2.0" type="device" target-level="5">
<kernel target-level="4"/>
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
@@ -47,12 +46,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<transport>hwbinder</transport>
<fqname>@2.2::ISoundTriggerHw/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.media.omx</name>
<transport>hwbinder</transport>
<fqname>@1.0::IOmx/default</fqname>
<fqname>@1.0::IOmxStore/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.display.color</name>
<transport>hwbinder</transport>
@@ -78,11 +71,21 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<transport>hwbinder</transport>
<fqname>@4.1::IKeymasterDevice/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.media.c2</name>
<transport>hwbinder</transport>
<fqname>@1.0::IComponentStore/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.gatekeeper</name>
<transport>hwbinder</transport>
<fqname>@1.0::IGatekeeper/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.light</name>
<transport>hwbinder</transport>
<fqname>@2.0::ILight/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.sensors</name>
<transport>hwbinder</transport>
@@ -242,7 +245,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<hal format="hidl">
<name>android.hardware.tetheroffload.control</name>
<transport>hwbinder</transport>
<fqname>@1.0::IOffloadControl/default</fqname>
<fqname>@1.1::IOffloadControl/default</fqname>
</hal>
<hal format="hidl">
<name>com.dsi.ant</name>

View File

@@ -2,14 +2,8 @@ prebuilt_etc {
name: "fstab.qcom",
src: "fstab.qcom",
vendor: true,
required: ["fstab.qcom_ramdisk"],
}
prebuilt_etc {
name: "fstab.qcom_ramdisk",
src: "fstab.qcom",
filename_from_src: true,
ramdisk: true,
ramdisk_available: true,
vendor_ramdisk_available: true,
}
prebuilt_etc {
@@ -22,14 +16,14 @@ prebuilt_etc {
name: "init.power.rc",
src: "init.power.rc",
vendor: true,
sub_dir: "init/hw",
relative_install_path: "init/hw",
}
prebuilt_etc {
name: "init.qcom.rc",
src: "init.qcom.rc",
vendor: true,
sub_dir: "init/hw",
relative_install_path: "init/hw",
}
prebuilt_etc {
@@ -38,10 +32,23 @@ prebuilt_etc {
vendor: true,
}
prebuilt_etc {
name: "init.qcom.usb.rc",
src: "init.qcom.usb.rc",
vendor: true,
relative_install_path: "init/hw",
}
sh_binary {
name: "init.qcom.usb.sh",
src: "init.qcom.usb.sh",
vendor: true,
}
prebuilt_etc {
name: "init.recovery.qcom.rc",
src: "init.recovery.qcom.rc",
sub_dir: "init",
relative_install_path: "init",
recovery: true,
}
@@ -49,14 +56,14 @@ prebuilt_etc {
name: "init.target.rc",
src: "init.target.rc",
vendor: true,
sub_dir: "init/hw",
relative_install_path: "init/hw",
}
prebuilt_etc {
name: "init.xiaomi.rc",
src: "init.xiaomi.rc",
vendor: true,
sub_dir: "init/hw",
relative_install_path: "init/hw",
}
prebuilt_etc {
@@ -64,4 +71,4 @@ prebuilt_etc {
filename: "ueventd.rc",
src: "ueventd.qcom.rc",
vendor: true,
}
}

View File

@@ -33,23 +33,18 @@
# Currently we dont have e2fsck compiled. So fs check would failed.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
system /system ext4 ro,barrier=1 wait,logical,first_stage_mount
system /system erofs ro wait,logical,first_stage_mount
vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount
vendor /vendor erofs ro wait,logical,first_stage_mount
system_ext /system_ext ext4 ro,barrier=1,discard wait,logical,first_stage_mount
system_ext /system_ext erofs ro wait,logical,first_stage_mount
product /product ext4 ro,barrier=1,discard wait,logical,first_stage_mount
product /product erofs ro wait,logical,first_stage_mount
odm /odm ext4 ro,barrier=1,discard wait,logical,first_stage_mount
odm /odm erofs ro wait,logical,first_stage_mount
system_ext /system_ext erofs ro wait,logical,first_stage_mount
product /product erofs ro wait,logical,first_stage_mount
odm /odm erofs ro wait,logical,first_stage_mount
/dev/block/by-name/vbmeta /vbmeta emmc defaults first_stage_mount
/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,noatime,nodev,barrier=1 wait
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=journal,commit=1 wait,formattable,check,first_stage_mount
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,background_gc=sync,reserve_root=32768,resgid=1065,fsync_mode=strict,inlinecrypt,gc_merge,atgc,checkpoint_merge,compress_algorithm=lz4,compress_extension=apk,compress_extension=apex,compress_extension=so latemount,wait,check,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,keydirectory=/metadata/vold/metadata_encryption,fscompress,quota,reservedsize=128M
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=journal,commit=1 wait,formattable,check,first_stage_mount
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,background_gc=sync,reserve_root=32768,resgid=1065,fsync_mode=strict,inlinecrypt,gc_merge,atgc,checkpoint_merge,compress_algorithm=lz4,compress_extension=apk,compress_extension=apex,compress_extension=so latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,keydirectory=/metadata/vold/metadata_encryption,fscompress,quota,reservedsize=128M
/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=0,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait
/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait

View File

@@ -1,4 +1,4 @@
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/zram0 none swap defaults zramsize=2147483648,max_comp_streams=8,zram_backingdev_size=512M
/dev/block/zram0 none swap defaults zramsize=2147483648,zram_backingdev_size=512M

View File

@@ -124,3 +124,18 @@ on property:vendor.setup.power=1
on boot
# Enable suspend to idle mode to reduce latency during suspend/resume
write /sys/power/mem_sleep "s2idle"
# Thermal HAL needed
on enable-thermal-hal
# Permission
chown root system /dev/thermal/cdev-by-name/battery/cur_state
chmod 660 /dev/thermal/cdev-by-name/battery/cur_state
# Enable State of Charge (SOC)
write /dev/thermal/tz-by-name/soc/mode "enabled"
on charger
start vendor.thermal.symlinks
start vendor.thermal-engine
trigger enable-thermal-hal

View File

@@ -140,9 +140,6 @@ on boot
mkdir /mnt/vendor/persist/iar_db 0770 system system
mkdir /mnt/vendor/spunvm 0770 system system
#Create WIGIG socket area
mkdir /dev/socket/wigig 0770 wifi wifi
setprop wifi.interface wlan0
#Remove SUID bit for iproute2 ip tool
@@ -212,7 +209,7 @@ on boot
enable vendor.dataqti
enable vendor.dataadpl
setprop init.svc.console stopped
stop console
# CSC DC Dimming
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dc_dim
@@ -276,13 +273,9 @@ on post-fs-data
mkdir /data/vendor/wifi/hostapd 0770 wifi wifi
mkdir /data/vendor/wifi/hostapd/ctrl 0770 wifi wifi
mkdir /data/vendor/wifi/wpa_supplicant 0770 wifi wifi
mkdir /data/vendor/wifi/wigig_hostapd 0770 wifi wifi
mkdir /data/vendor/wifi/wpa 0770 wifi wifi
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
# Create the directories used by WiGig Sensing
mkdir /data/vendor/sensing 0770 system wifi
# Create the directories used by CnE subsystem
mkdir /data/vendor/connectivity 0771 radio radio
chown radio radio /data/vendor/connectivity
@@ -474,28 +467,6 @@ service qmiproxy /system/bin/qmiproxy
group radio diag
disabled
service vendor.wigig_supplicant /vendor/bin/hw/wpa_supplicant \
-iwigig0 -Dnl80211 -c/data/vendor/wifi/wigig_supplicant.conf \
-m/data/vendor/wifi/wigig_p2p_supplicant.conf \
-O/data/vendor/wifi/wigig_sockets -dd \
-e/data/vendor/wifi/wigig_entropy.bin -g@android:wigig/wpa_wigig0 \
-S wigigsvc
# we will start as root and wpa_supplicant will switch to user wifi
# after setting up the capabilities required for WEXT
# user wifi
# group wifi inet keystore
class main
socket wigig/wpa_wigig0 dgram 660 wifi wifi
disabled
oneshot
service vendor.sensingdaemon /vendor/bin/sensingdaemon
class hal
socket wigig/sensingdaemon stream 660 system wifi
user system
group wifi
disabled
service ptt_socket_app /system/vendor/bin/ptt_socket_app -d
class main
user wifi
@@ -715,7 +686,9 @@ service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service
user audioserver
# media gid needed for /dev/fm (radio) and for /data/misc/media (tee)
group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct oem_2901 wakelock context_hub system
capabilities BLOCK_SUSPEND
capabilities BLOCK_SUSPEND SYS_NICE
# setting RLIMIT_RTPRIO allows binder RT priority inheritance
rlimit rtprio 10 10
ioprio rt 4
task_profiles ProcessCapacityHigh HighPerformance
socket audio_hw_socket seqpacket 0666 system system
@@ -731,5 +704,14 @@ service vendor.hwcomposer-2-4 /vendor/bin/hw/android.hardware.graphics.composer@
task_profiles ServiceCapacityLow
socket pps stream 0660 system system
service vendor.sensors-hal-1-0 /vendor/bin/hw/android.hardware.sensors@1.0-service
interface android.hardware.sensors@1.0::ISensors default
class hal
user system
group system wakelock uhid context_hub input
task_profiles ServiceCapacityLow
capabilities BLOCK_SUSPEND
rlimit rtprio 10 10
on boot && property:persist.sys.usb.config=*
setprop sys.usb.config ${persist.sys.usb.config}

1705
init/init.qcom.usb.rc Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -67,6 +67,16 @@ on init
write /sys/devices/system/cpu/cpu7/cpufreq/schedutil/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu7/cpufreq/schedutil/down_rate_limit_us 20000
# Boot time uclamp tuning
write /dev/cpuctl/top-app/cpu.uclamp.min 15
write /dev/cpuctl/foreground/cpu.uclamp.min 15
write /dev/cpuctl/system/cpu.uclamp.min 15
write /dev/cpuctl/nnapi-hal/cpu.uclamp_min 50
# RT uclamp setting
setprop kernel.sched_util_clamp_min_rt_default 0
write /proc/sys/kernel/sched_util_clamp_min_rt_default 0
# Migrate cpuctl tasks once to cpuctl system
copy_per_line /dev/cpuctl/tasks /dev/cpuctl/system/tasks
@@ -160,33 +170,15 @@ on property:sys.boot_completed=1
# STOP EATING MY BATTERY AFTER 100H OF UPTIME FUCK YOU
stop statsd
#top-app
write /dev/cpuctl/top-app/cpu.uclamp.max max
# Setup final cpu.uclamp.min
write /dev/cpuctl/top-app/cpu.uclamp.min 0
write /dev/cpuctl/top-app/cpu.uclamp.latency_sensitive 1
write /dev/cpuctl/foreground/cpu.uclamp.min 10
write /dev/cpuctl/system/cpu.uclamp.min 0
#foreground
write /dev/cpuctl/foreground/cpu.uclamp.max 80
write /dev/cpuctl/foreground/cpu.uclamp.min 0
write /dev/cpuctl/foreground/cpu.uclamp.latency_sensitive 0
#background
write /dev/cpuctl/background/cpu.uclamp.max 50
write /dev/cpuctl/background/cpu.uclamp.min 0
write /dev/cpuctl/background/cpu.uclamp.latency_sensitive 0
#system-background
write /dev/cpuctl/system-background/cpu.uclamp.max 60
write /dev/cpuctl/system-background/cpu.uclamp.min 0
write /dev/cpuctl/system-background/cpu.uclamp.latency_sensitive 0
#nnapi-hal
write /dev/cpuctl/nnapi-hal/cpu.uclamp.max max
write /dev/cpuctl/nnapi-hal/cpu.uclamp.min 75
write /dev/cpuctl/nnapi-hal/cpu.uclamp.latency_sensitive 1
#camera-daemon
write /dev/cpuctl/camera-daemon/cpu.uclamp.max max
# Set uclamp.max for some groups, which could indicate cpu importance used in scheduling
write /dev/cpuctl/background/cpu.uclamp.min 20
write /dev/cpuctl/system-background/cpu.uclamp.max 40
write /dev/cpuctl/dex2oat/cpu.uclamp.max 60
write /dev/cpuctl/camera-daemon/cpu.uclamp.min 50
write /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive 1
@@ -220,7 +212,7 @@ on property:sys.boot_completed=1
# Setup runtime cpusets
write /dev/cpuset/top-app/cpus 0-7
write /dev/cpuset/foreground/cpus 0-3,5-6
write /dev/cpuset/foreground/cpus 0-6
write /dev/cpuset/background/cpus 0-1
write /dev/cpuset/system-background/cpus 0-2
write /dev/cpuset/restricted/cpus 0-3
@@ -267,6 +259,7 @@ service vendor.per_proxy /vendor/bin/pm-proxy
on charger
start vendor.power_off_alarm
setprop sys.usb.controller a600000.dwc3
setprop sys.usb.configfs 1
service vendor.spdaemon /vendor/bin/spdaemon
class core
@@ -283,6 +276,10 @@ service vendor.thermal-engine /vendor/bin/thermal-engine -c /vendor/etc/thermal-
class main
user root
group root
socket thermal-send-client stream 0666 system system
socket thermal-recv-client stream 0660 system system
socket thermal-recv-passive-client stream 0666 system system
socket thermal-send-rule stream 0660 system system
service vendor.lowi /vendor/bin/sscrpcd
class core

View File

@@ -43,6 +43,12 @@ on init
chmod 0660 /dev/drv8846_dev
chmod 0660 /dev/akm09970
# Goodix fingerprint
chmod 0666 /dev/goodix_fp
chown system system /dev/goodix_fp
chmod 0664 /dev/fortsense_fp
chown system system /dev/fortsense_fp
on property:sys.boot_completed=1
setprop vendor.powerhal.init 1
@@ -53,12 +59,55 @@ on post-fs-data
chmod 0644 /dev/elliptic0
chmod 0644 /dev/elliptic1
mkdir /data/vendor/fpc 0770 system system
mkdir /data/vendor/goodix 0770 system system
mkdir /data/vendor/fpdump 0770 system system
mkdir /data/vendor/fortsense 0770 system system
mkdir /mnt/vendor/persist/goodix 0770 system system
mkdir /mnt/vendor/persist/fpc 0770 system system
on boot
# Create persist for camera calibration data
mkdir /mnt/vendor/persist/camera 0755 system cameraserver
chown system system /sys/class/thermal/thermal_message/sconfig
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/irq
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/irq_enable
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/wakeup_enable
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/hw_reset
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/device_prepare
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/fingerdown_wait
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/vendor
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/simulate_irq
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/finger_irq
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/power_cfg
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/irq
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/wakeup_enable
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/hw_reset
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/device_prepare
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/vendor
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/simulate_irq
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/finger_irq
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/power_cfg
chown system system /sys/class/drm/card0-DSI-1/disp_param
chmod 0700 /sys/class/drm/card0-DSI-1/disp_param
chown system system /sys/class/drm/card0-DSI-1/panel_info
chmod 0744 /sys/class/drm/card0-DSI-1/panel_info
chmod 0666 /dev/input/event2
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display-primary/fod_ui
chmod 0444 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/fod_ui
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display/fod_ui
chmod 0444 /sys/devices/platform/soc/soc:qcom,dsi-display/fod_ui
chown system system /sys/touchpanel/fod_status
chmod 0644 /sys/touchpanel/fod_status
chown system system /sys/devices/virtual/touch/tp_dev/fod_status
chmod 0644 /sys/devices/virtual/touch/tp_dev/fod_status
on charger
mkdir /mnt/vendor/persist
chown root system /mnt/vendor/persist

View File

@@ -311,14 +311,6 @@ firmware_directories /vendor/firmware_mnt/image/
/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan0/queues/rx-* rps_cpus 0660 system system
/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/p2p0/queues/rx-* rps_cpus 0660 system system
# wigig
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/fst_link_loss 0660 wifi wifi
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/thermal_throttling 0660 system system
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/snr_thresh 0660 wifi wifi
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/queues/rx-0/rps_cpus 0660 system system
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/gro_flush_timeout 0660 system system
/sys/devices/virtual/net/bond0 queues/rx-0/rps_cpus 0660 system system
#nfc permissions
/dev/nfc-nci 0660 nfc nfc
/dev/nq-nci 0660 nfc nfc
@@ -501,3 +493,9 @@ firmware_directories /vendor/firmware_mnt/image/
# Battery
/sys/class/power_supply/battery input_suspend 0660 system system
=======
# Torch control
/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_0 brightness 0660 cameraserver camera
/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_1 brightness 0660 cameraserver camera
/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:switch_2 brightness 0660 cameraserver camera

View File

@@ -41,6 +41,8 @@ void set_variant_props(const variant_info_t variant) {
property_override("ro.build.description", fingerprint_to_description(variant.build_fingerprint));
}
if (variant.nfc)
if (variant.nfc) {
property_override(SKU_PROP, "nfc");
property_override("ro.boot.hardware.sku", "nfc");
}
}

View File

@@ -1,17 +0,0 @@
cc_library_shared {
name: "libqti-perfd-client",
proprietary: true,
defaults: ["hidl_defaults"],
srcs: [
"client.c",
],
cflags: [
"-Werror",
"-Wextra",
"-Wall",
],
shared_libs: [
"liblog",
"libutils",
],
}

View File

@@ -1,29 +0,0 @@
/*
* Copyright (C) 2021-2024 The LineageOS Project
*
* SPDX-License-Identifier: Apache-2.0
*/
#define LOG_TAG "libqti-perfd-client"
#include <log/log.h>
#include <stdint.h>
void perf_get_feedback() {}
void perf_hint() {}
int perf_lock_acq(int handle, int duration, int arg3[], int arg4) {
ALOGI("perf_lock_acq: handle: %d, duration: %d, arg3[0]: %d, arg4: %d", handle, duration,
arg3[0], arg4);
return handle ?: 233;
}
void perf_lock_cmd() {}
int perf_lock_rel(int handle) {
ALOGI("perf_lock_rel: handle: %d", handle);
return handle ?: 233;
}
void perf_lock_use_profile() {}

View File

@@ -9,24 +9,29 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_p.mk)
# OMX
TARGET_SUPPORTS_OMX_SERVICE := false
# Inherit from raphael device
$(call inherit-product, device/xiaomi/raphael/device.mk)
# Inherit some common Evolution X stuff.
$(call inherit-product, vendor/evolution/config/common_full_phone.mk)
# Inherit from common lineage configuration
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
EVO_BUILD_TYPE := OFFICIAL
EXTRA_UDFPS_ANIMATIONS := true
EVO_BUILD_TYPE := Official
TARGET_BOOT_ANIMATION_RES := 1080
TARGET_BUILD_APERTURE_CAMERA := false
TARGET_SUPPORTS_QUICK_TAP := true
TARGET_HAS_UDFPS := true
# Bypass charging node /sys/class/power_supply/battery/input_suspend
BYPASS_CHARGE_SUPPORTED := true
# Boot animation
TARGET_SCREEN_HEIGHT := 2340
TARGET_SCREEN_WIDTH := 1080
# Device identifier. This must come after all inclusions.
PRODUCT_NAME := evolution_raphael
PRODUCT_NAME := lineage_raphael
PRODUCT_DEVICE := raphael
PRODUCT_BRAND := Xiaomi
PRODUCT_MANUFACTURER := Xiaomi
@@ -34,3 +39,6 @@ PRODUCT_MANUFACTURER := Xiaomi
PRODUCT_CHARACTERISTICS := nosdcard
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi
# Set BUILD_FINGERPRINT variable to be picked up by both system and vendor build.prop
BUILD_FINGERPRINT := Xiaomi/raphael/raphael:11/RKQ1.200826.002/V12.5.2.0.RFKMIXM:user/release-keys

View 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>

View 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>

View File

@@ -11,7 +11,7 @@ android_app {
],
srcs: ["src/**/*.java"],
resource_dirs: ["res"],
certificate: "platform",
platform_apis: true,
system_ext_specific: true,

View File

@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?android:attr/colorAccent">
<path
android:fillColor="#ff000000"
android:pathData="M6.55 8c-0.4 0-0.8 0.16-1.1 0.46C5.17 8.75 5 9.14 5 9.56v4.66c0 0.4 0.16 0.8 0.46 1.1 0.29 0.29 0.68 0.45 1.1 0.45H8.1c0.41 0 0.8-0.16 1.1-0.46 0.29-0.29 0.45-0.68 0.45-1.1v-1.55c0-0.41-0.16-0.8-0.45-1.1-0.3-0.29-0.69-0.45-1.1-0.45H6.55V9.55h3.11V8h-3.1Zm0 4.66h1.56v1.56H6.55v-1.56Z"/>
<path
android:fillColor="#ff000000"
android:pathData="M12 8c-0.42 0-0.81 0.16-1.1 0.46-0.3 0.29-0.46 0.68-0.46 1.1v4.66c0 0.4 0.16 0.8 0.45 1.1 0.3 0.29 0.69 0.45 1.1 0.45h1.56c0.4 0 0.8-0.16 1.1-0.46 0.29-0.29 0.45-0.68 0.45-1.1V9.56c0-0.4-0.16-0.8-0.46-1.1C14.35 8.17 13.96 8 13.54 8H12Zm0 1.55h1.55v4.67h-1.56V9.55Z"/>
<path
android:fillColor="#ff000000"
android:pathData="M17 1.01L7 1C5.9 1 5 1.9 5 3v4h2V3h10v18H7v-4H5v4c0 1.1 0.9 2 2 2h10c1.1 0 2-0.9 2-2V3c0-1.1-0.9-1.99-2-1.99Z"/>
</vector>

View File

@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?android:attr/colorAccent">
<path
android:fillColor="#ff000000"
android:pathData="M17 1.01L7 1C5.9 1 5 1.9 5 3v4h2V3h10v18H7v-4H5v4c0 1.1 0.9 2 2 2h10c1.1 0 2-0.9 2-2V3c0-1.1-0.9-1.99-2-1.99Z"/>
<path
android:fillColor="#ff000000"
android:pathData="M8.1 15.77c0.42 0 0.82-0.16 1.1-0.46 0.3-0.29 0.46-0.68 0.46-1.1V9.56c0-0.4-0.16-0.8-0.45-1.1C8.9 8.17 8.52 8 8.1 8H6.55c-0.4 0-0.8 0.16-1.1 0.46C5.17 8.75 5 9.14 5 9.56v1.55c0 0.41 0.16 0.8 0.46 1.1 0.29 0.29 0.68 0.45 1.1 0.45H8.1v1.56H5v1.55h3.1Zm0-4.66H6.56V9.55h1.56v1.56Z"/>
<path
android:fillColor="#ff000000"
android:pathData="M12 8c-0.42 0-0.81 0.16-1.1 0.46-0.3 0.29-0.46 0.68-0.46 1.1v4.66c0 0.4 0.16 0.8 0.45 1.1 0.3 0.29 0.69 0.45 1.1 0.45h1.56c0.4 0 0.8-0.16 1.1-0.46 0.29-0.29 0.45-0.68 0.45-1.1V9.56c0-0.4-0.16-0.8-0.46-1.1C14.35 8.17 13.96 8 13.54 8H12Zm0 1.55h1.55v4.67h-1.56V9.55Z"/>
</vector>

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?android:attr/colorAccent">
<path
android:fillColor="#ff000000"
android:pathData="M17 3.01V15l2 2V3.01c0-1.1-0.9-1.99-2-1.99L7 1C6 0.99 5 1.99 5 2.99L7 5V3.01h10Zm4.2 18.19L19 19.01l-2-2-10-10-2-2-2.19-2.19L1.4 4.23 5 7.84v13.17c0 1.1 0.9 2 2 2h10c0.85 0 1.58-0.55 1.87-1.3l0.91 0.91 1.41-1.42ZM17 21.01H7L17 21v-0.99 1Zm-10 0V9.84l10 10.17V21L7 21.01Z"/>
</vector>

View File

@@ -69,7 +69,7 @@ system_ext/lib/com.qualcomm.qti.ant@1.0.so
system_ext/lib64/com.qualcomm.qti.ant@1.0.so
# Alarm
-product/app/PowerOffAlarm/PowerOffAlarm.apk
-product/app/PowerOffAlarm/PowerOffAlarm.apk;NODEXPO
vendor/bin/hw/vendor.qti.hardware.alarm@1.0-service
vendor/bin/power_off_alarm
vendor/etc/init/vendor.qti.hardware.alarm@1.0-service.rc
@@ -130,6 +130,7 @@ vendor/lib/libbt-hidlclient.so
vendor/lib/libbtnv.so
vendor/lib/vendor.qti.hardware.bluetooth_sar@1.0.so
vendor/lib/vendor.qti.hardware.bluetooth_sar@1.1.so
vendor/lib/vendor.qti.hardware.fm@1.0.so;MODULE_SUFFIX=_vendor
vendor/lib64/hw/android.hardware.bluetooth@1.0-impl-qti.so
vendor/lib64/hw/vendor.qti.hardware.bluetooth_sar@1.1-impl.so
vendor/lib64/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so
@@ -139,7 +140,7 @@ vendor/lib64/libbt-hidlclient.so
vendor/lib64/libbtnv.so
vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.0.so
vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.1.so
vendor/lib64/vendor.qti.hardware.fm@1.0.so
vendor/lib64/vendor.qti.hardware.fm@1.0.so;MODULE_SUFFIX=_vendor
# CDSP
vendor/bin/cdsprpcd
@@ -155,8 +156,8 @@ vendor/lib64/libcdsprpc.so
vendor/lib64/libsysmon_cdsp_skel.so
# CNE - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
-vendor/app/CneApp/CneApp.apk;REQUIRED=CneApp.libvndfwk_detect_jni.qti_symlink|345dc6c677e9bd7a7d36033b8955e90d2a1594d5
-vendor/app/IWlanService/IWlanService.apk|9ea57bfbf58799a564fcf498de9f5fe3506f7342
vendor/app/CneApp/CneApp.apk;NODEXPO;REQUIRED=CneApp.libvndfwk_detect_jni.qti_symlink|345dc6c677e9bd7a7d36033b8955e90d2a1594d5
vendor/app/IWlanService/IWlanService.apk;NODEXPO|9ea57bfbf58799a564fcf498de9f5fe3506f7342
vendor/bin/cnd|953858869b513828894800bf8556f3845d9665a2
vendor/etc/cne/wqeclient/ATT/ATT_profile1.xml|578f3f8f56059bfdbef926bcc68d01c15e06951f
vendor/etc/cne/wqeclient/ATT/ATT_profile2.xml|1fb42c672a12b6660bdce3ea94e0c43719dd9de8
@@ -187,12 +188,13 @@ vendor/etc/cne/wqeclient/VZW/VZW_profile5.xml|f76c894f3c6d5b6ed35113a088dc3174c9
vendor/etc/cne/wqeclient/VZW/VZW_profile6.xml|14d136e7fcc682311757d3edc0b9d3eaeba11815
vendor/etc/default-permissions/com.qualcomm.qti.cne.xml|c63c37d067e3009735fbc54d4603d43d7d6623e1
vendor/etc/init/cnd.rc|3a5183df3479500fb729493bc56c71166fc10bce
vendor/lib64/libcne.so|e14de8a25090dbf51b12ec5df580987ea2aa21a0
vendor/lib/libxml.so|e46a4dd57f543b0cbb897e5d861e987b9f0200bf
vendor/lib64/libcne.so;DISABLE_CHECKELF|e14de8a25090dbf51b12ec5df580987ea2aa21a0
vendor/lib64/libcneapiclient.so|0973dc05f6d6d9c469fc804693af79e6f3a5056a
vendor/lib64/libcneoplookup.so|60d6abe85061de4fa75e5e4f69d477f37f1f8f64
vendor/lib64/libcneqmiutils.so|c2e2658698eb8b312ca6b28c1a1088a331bb28b9
vendor/lib64/libwms.so|1c06f999f2aec3bd58237d4892fee0cec40469fd
vendor/lib64/libwqe.so|79e58584614ca98773122e9dfa976caf366d2cc5
vendor/lib64/libwqe.so;DISABLE_CHECKELF|79e58584614ca98773122e9dfa976caf366d2cc5
vendor/lib64/libxml.so|6d5f9b6be0212bde7b961803fec9302e8529b54a
vendor/lib64/vendor.qti.data.factory@2.0.so|748bfbaa57a409b8962e2b1725e1415e423a7315
vendor/lib64/vendor.qti.data.factory@2.1.so|bb1f3fa22563282ee24bf03ca681fdc45551feef
@@ -301,6 +303,7 @@ vendor/etc/camera/sdm_ys_32p_120_21_5_perturb50.bin
vendor/etc/camera/vidhance_calibration
vendor/etc/camera/visidon_clearshot_params_algoup.xml
vendor/etc/camera/watermark_font_2300_3199.dat
vendor/lib/libcamera_nn_stub.so
vendor/lib/libcamxfdalgov7.so
vendor/lib/libcamxfdalgov8.so
vendor/lib/libcamxfdengine.so
@@ -394,7 +397,7 @@ vendor/lib64/camera/fdconfigpreviewlite.bin
vendor/lib64/camera/fdconfigvideo.bin
vendor/lib64/camera/fdconfigvideolite.bin
vendor/lib64/hw/camera.qcom.so
vendor/lib64/hw/com.qti.chi.override.so
vendor/lib64/hw/com.qti.chi.override.so;DISABLE_CHECKELF
vendor/lib64/libFaceGrade.so
vendor/lib64/libHalSuperSensorServer.so
vendor/lib64/libSNPE.so
@@ -403,10 +406,10 @@ vendor/lib64/libSuperSensorCPU.so
vendor/lib64/libVDClearShot.so
vendor/lib64/libXMFD_AgeGender.so
vendor/lib64/lib_denoiser3.so
vendor/lib64/libalAILDC.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/libarcsat.so
vendor/lib64/libarcsoft_beautyshot.so
vendor/lib64/libarcsoft_bodyslim.so
@@ -414,9 +417,9 @@ vendor/lib64/libarcsoft_distortion_correction.so
vendor/lib64/libarcsoft_dualcam_image_optical_zoom.so
vendor/lib64/libarcsoft_dualcam_optical_zoom_control.so
vendor/lib64/libarcsoft_dualcam_refocus.so
vendor/lib64/libarcsoft_dualcam_refocus_front.so
vendor/lib64/libarcsoft_dualcam_refocus_rear_t.so
vendor/lib64/libarcsoft_dualcam_refocus_rear_w.so
vendor/lib64/libarcsoft_dualcam_refocus_front.so;DISABLE_CHECKELF
vendor/lib64/libarcsoft_dualcam_refocus_rear_t.so;DISABLE_CHECKELF
vendor/lib64/libarcsoft_dualcam_refocus_rear_w.so;DISABLE_CHECKELF
vendor/lib64/libarcsoft_high_dynamic_range.so
vendor/lib64/libarcsoft_low_light_hdr.so
vendor/lib64/libarcsoft_portrait_lighting.so
@@ -443,7 +446,7 @@ vendor/lib64/libmialgo_fs.so
vendor/lib64/libmialgo_rfs.so
vendor/lib64/libmialgo_sd.so
vendor/lib64/libmialgo_utils.so
vendor/lib64/libmialgoengine.so
vendor/lib64/libmialgoengine.so;DISABLE_CHECKELF
vendor/lib64/libmibokeh_855.so
vendor/lib64/libmpbase.so
vendor/lib64/libnanopb.so
@@ -469,8 +472,25 @@ vendor/etc/init/vendor.qti.hardware.capabilityconfigstore@1.0-service.rc|4ede025
vendor/lib/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so|adae94cab65e5b91553ba8c76a4bdda7b4fdd1f6
vendor/lib64/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so|12d4edcd852196a531f688ed74d86ea10c4acb43
# 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
# DPM (system) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
-system_ext/priv-app/dpmserviceapp/dpmserviceapp.apk|ebf1f753ed24f8b6ba87c5f27c628889c38d0a85
framework/tcmclient.jar|4e1dfaa243c67fec31b5a44086c9c417892761ae
system_ext/bin/dpmd|5a42bc4e5c841573579e0718d6e80e688767eeed
system_ext/etc/dpm/dpm.conf|95e27da8c989e96c6faea6f0697bce11955b62a5
@@ -485,13 +505,14 @@ system_ext/lib64/libdpmfdmgr.so|da636fca9a9a91a897d17fd519448b10053a696b
system_ext/lib64/libdpmframework.so|d974f04f110b3c1a1282d78bb0ff8a29dc022439
system_ext/lib64/libdpmtcm.so|5521469cac3a2bec3da66cd36637df83ee59b97e
system_ext/lib64/vendor.qti.diaghal@1.0.so|339886a9895a29dfae15e8708d6eeacda1663908
system_ext/priv-app/dpmserviceapp/dpmserviceapp.apk;NODEXPO|ebf1f753ed24f8b6ba87c5f27c628889c38d0a85
# DPM (vendor) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/bin/dpmQmiMgr|e682a4c6e684be96de179158c65e5732f052ab2c
vendor/etc/init/dpmQmiMgr.rc|1538743661a5c48c15cd105beaad20f72953885a
vendor/lib/com.qualcomm.qti.dpm.api@1.0.so|8e97eba901841227ae7029f535a747fdefd6c369
vendor/lib/com.qualcomm.qti.dpm.api@1.0.so;MODULE_SUFFIX=_vendor|8e97eba901841227ae7029f535a747fdefd6c369
vendor/lib/libdpmqmihal.so|843d7bd2dee10e67531deeedc8cbda480c71679f
vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so|d9f1aa7f93b928f42499d613d20ccbc60f279097
vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so;MODULE_SUFFIX=_vendor|d9f1aa7f93b928f42499d613d20ccbc60f279097
vendor/lib64/libdpmqmihal.so|41eb89e66ba065c43a5eb79cd3c72cef0ee167aa
# DRM (Widevine L1)
@@ -499,12 +520,12 @@ vendor/lib/liboemcrypto.so
vendor/lib64/liboemcrypto.so
# DRM
-vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.widevine.xml
vendor/bin/hw/android.hardware.drm@1.3-service.widevine
vendor/bin/hw/vendor.qti.hardware.qseecom@1.0-service
vendor/bin/qseecomd
vendor/etc/init/qseecomd.rc
vendor/etc/init/vendor.qti.hardware.qseecom@1.0-service.rc
vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.widevine.xml
vendor/lib/libQSEEComAPI.so
vendor/lib/libbase64.so
vendor/lib/libcpion.so
@@ -512,7 +533,7 @@ vendor/lib/libcppf.so
vendor/lib/libdrmfs.so
vendor/lib/librmp.so
vendor/lib/libtrustedapploader.so
vendor/lib/mediadrm/libwvdrmengine.so
vendor/lib/mediadrm/libwvdrmengine.so;DISABLE_CHECKELF
vendor/lib64/hw/vendor.qti.hardware.qseecom@1.0-impl.so
vendor/lib64/libGPreqcancel.so
vendor/lib64/libGPreqcancel_svc.so
@@ -537,7 +558,7 @@ vendor/lib64/libssd.so
vendor/lib64/libtrustedapploader.so
vendor/lib64/libtzdrmgenprov.so
vendor/lib64/libwvhidl.so
vendor/lib64/mediadrm/libwvdrmengine.so
vendor/lib64/mediadrm/libwvdrmengine.so;DISABLE_CHECKELF
vendor/lib64/vendor.qti.hardware.qseecom@1.0.so
# Display - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
@@ -545,18 +566,18 @@ vendor/lib64/libdisp-aba.so|44993853ff9d4340e856e6f53d802f10372442d3
vendor/lib64/libdisplayqos.so|5548732c916e629f18f45ce257ce843b679a136a
# FM (system) - from LA.QSSI.12.0.r1-05800.02-qssi.0
-system_ext/lib64/vendor.qti.hardware.fm@1.0.so|b9dc0797da5790a7d5f1c9a7a2fd9c4a7b87d304
system_ext/lib64/fm_helium.so|f5c9cc8de62340ab8b38cca2555eeac9ab18d84b
system_ext/lib64/libfm-hci.so|6fd608b27c9caf5a055c7c29ae386f596f399bc1
system_ext/lib64/vendor.qti.hardware.fm@1.0.so|b9dc0797da5790a7d5f1c9a7a2fd9c4a7b87d304
# Fingerprint
vendor/lib64/hw/fingerprint.goodix_fod.so:vendor/lib64/hw/fingerprint.goodix_fod.msmnile.so
vendor/lib64/hw/fingerprint.goodix_fod.so:vendor/lib64/hw/fingerprint.goodix_fod.msmnile.so;FIX_SONAME
vendor/lib64/libgf_hal.so
# GNSS
-vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml
vendor/bin/hw/android.hardware.gnss@2.1-service-qti
vendor/etc/init/android.hardware.gnss@2.1-service-qti.rc
vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml
vendor/lib/hw/android.hardware.gnss@2.1-impl-qti.so
vendor/lib/libbatching.so
vendor/lib/libgeofencing.so
@@ -572,51 +593,52 @@ vendor/lib64/libgps.utils.so
vendor/lib64/libloc_core.so
vendor/lib64/liblocation_api.so
# GPS
-vendor/etc/vintf/manifest/vendor.qti.gnss@4.0-service.xml
vendor/bin/garden_app
vendor/bin/loc_launcher
vendor/bin/lowi-server
vendor/bin/mlid
vendor/bin/slim_daemon
vendor/bin/xtra-daemon
vendor/bin/xtwifi-client
vendor/bin/xtwifi-inet-agent
vendor/etc/cacert_location.pem
vendor/etc/xtra_root_cert.pem
vendor/lib64/hw/vendor.qti.gnss@4.0-impl.so
vendor/lib64/libaoa.so
vendor/lib64/libcacertclient.so
vendor/lib64/libdataitems.so
vendor/lib64/libgarden.so
vendor/lib64/libgarden_haltests_e2e.so
vendor/lib64/libgdtap.so
vendor/lib64/libgnsspps.so
vendor/lib64/libizat_client_api.so
vendor/lib64/libizat_core.so
vendor/lib64/libjnihelper.so
vendor/lib64/liblbs_core.so
vendor/lib64/libloc_api_v02.so
vendor/lib64/libloc_socket.so
vendor/lib64/liblocationservice.so
vendor/lib64/liblocationservice_glue.so
vendor/lib64/liblowi_client.so
vendor/lib64/liblowi_wifihal.so
vendor/lib64/libminksocket.so
vendor/lib64/libmmosal.so
vendor/lib64/libqcc_file_agent.so
vendor/lib64/libqdma_file_agent.so
vendor/lib64/libslimclient.so
vendor/lib64/libxtadapter.so
vendor/lib64/vendor.qti.gnss@1.0.so
vendor/lib64/vendor.qti.gnss@1.1.so
vendor/lib64/vendor.qti.gnss@1.2.so
vendor/lib64/vendor.qti.gnss@2.0.so
vendor/lib64/vendor.qti.gnss@2.1.so
vendor/lib64/vendor.qti.gnss@3.0.so
vendor/lib64/vendor.qti.gnss@4.0-service.so
vendor/lib64/vendor.qti.gnss@4.0.so
vendor/lib64/vendor.qti.hardware.cacert@1.0.so
# GPS - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/bin/garden_app|4d5d58b8d8ecbb82db31b6e7f26f9fb749f9393b
vendor/bin/loc_launcher|515038f060e83db862cca5cc8b79a3eb07d689f4
vendor/bin/lowi-server;DISABLE_CHECKELF|6ec426344a6d6e9896d0f5daba63c9d7d9145528
vendor/bin/mlid|b697c6acebe4ed417c1828b8e2dff6f4bc726547
vendor/bin/slim_daemon|7f4cbbd75f5ef58ddddbace7c0c6477564e87d8a
vendor/bin/xtra-daemon|fb490d2f3fe4d7ab2c2f976d392d41ab3d7b1e73
vendor/bin/xtwifi-client|ba69c0eddc2b5b37e80a5590c937e91fc4baf559
vendor/bin/xtwifi-inet-agent|2c7c1b9cedd02ba697043225feaca1ea97db9f0f
vendor/etc/cacert_location.pem|0789bf799c7e45d352a83e2f79ddb0cea86db85b
vendor/etc/vintf/manifest/vendor.qti.gnss@4.0-service.xml|6514b13f55abc0acc28e004c35ff93fb972d61a9
vendor/etc/xtra_root_cert.pem|f55a31ec4d9cf8ce2724acadecf00c779f8767db
vendor/lib/libminksocket.so|7ede5ff3ad26dc8fe7f5ecd88f2c77b26dc6670e
vendor/lib64/hw/vendor.qti.gnss@4.0-impl.so|fa12aa8cae5e0311c0d56c63b020c4a9485fbf3b
vendor/lib64/libaoa.so|e38ab653612c7fb57a732c0ebadfbd0f9d174b8d
vendor/lib64/libcacertclient.so|1d07e004c6660fcd7004deacb446c5e9fe67ce72
vendor/lib64/libdataitems.so|06bb96e1cfcfd75a9b061ba1f4a7be91a19d6a7e
vendor/lib64/libgarden.so|f2c1c30c840f063f828791bd3462e2ea8ffd1eb7
vendor/lib64/libgarden_haltests_e2e.so|35071942c30e95722a6d230fee70ed23ebc7108b
vendor/lib64/libgdtap.so|f7ea2035c862fb385d37b224b419aeef4338883e
vendor/lib64/libgnsspps.so|77c9625bf121b1c35cfc679446336b38900fb8ac
vendor/lib64/libizat_client_api.so|b2635e24e150539dd968f16fea104c9d0ca29720
vendor/lib64/libizat_core.so|df7d29e9a8a501114874e361970135f1e152f4c8
vendor/lib64/libjnihelper.so|e4d517cc4109908b15518ca524fe4aed36a61739
vendor/lib64/liblbs_core.so|452ff087ea6e3b391cf472ded055c1066570e9d0
vendor/lib64/libloc_api_v02.so|b0c9f0c49461635d7ffb3ee45f79739ab7b58c5a
vendor/lib64/libloc_socket.so|15af11af0927edf74be83841d648663873d31694
vendor/lib64/liblocationservice.so|0c483784593bcb67f8ff25cdecc7645a02b63b05
vendor/lib64/liblocationservice_glue.so|d42ee5dd7687abeae596f2621e63fe8540cd0ea4
vendor/lib64/liblowi_client.so|c2978d2beb8b495f057f88627ee731f7559da388
vendor/lib64/liblowi_wifihal.so|d8132b8e7f0a3d43ac625fc04dfb033b02ad8adf
vendor/lib64/libminksocket.so|0722b9042892e83d4c615e0f70e4ad040365b170
vendor/lib64/libmmosal.so|568c9dff1fe27cc4cd874181bf0d8ab5dc6d372b
vendor/lib64/libqcc_file_agent.so|a05fbdf0156cb4fc77a4b659be42cc8e146f45ce
vendor/lib64/libqdma_file_agent.so|290aea840cc61b40acd625052ad5ec2f4834e34f
vendor/lib64/libslimclient.so|74bebb8a94200a4db393634f7bd610f3c59447f7
vendor/lib64/libxtadapter.so|46f5a95f8effb8c21acf4044a0c792781271125f
vendor/lib64/vendor.qti.gnss@1.0.so|3dda1522caf6d732c4bebd2985f02baa51b20a93
vendor/lib64/vendor.qti.gnss@1.1.so|cdca8d04c6dc1c007880995a96d9aeb22f96b3b3
vendor/lib64/vendor.qti.gnss@1.2.so|66530d6c3da8a7155b82fa140e5d4d5c5e5600fd
vendor/lib64/vendor.qti.gnss@2.0.so|81949971ef69e6d25850606a8468efbe8a76bf18
vendor/lib64/vendor.qti.gnss@2.1.so|e37a7735035bddbfd5a0a4c53c781dc444ff12eb
vendor/lib64/vendor.qti.gnss@3.0.so|e5434e37a18bb48ae860399b848a20745783714b
vendor/lib64/vendor.qti.gnss@4.0-service.so|f97eea8b119fcaa62bb601c324977ef82806503d
vendor/lib64/vendor.qti.gnss@4.0.so|58881d09d13c82b795fa99bfd485c17c9075598d
vendor/lib64/vendor.qti.hardware.cacert@1.0.so|8b0fafcfc9c5aa000466c338ec4e92bb4f7d99a7
# Gatekeeper - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/bin/hw/android.hardware.gatekeeper@1.0-service-qti|2e33e885b92e413440511049025497945d6b8484
@@ -624,59 +646,51 @@ vendor/etc/init/android.hardware.gatekeeper@1.0-service-qti.rc|6e6249eb7df66b394
vendor/lib/hw/android.hardware.gatekeeper@1.0-impl-qti.so|564543341a2f98ee2f75b71355e6c02adf6859e7
vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so|7b0b612fe07a4e8520590e6941e2729227b1702e
# Graphics (Adreno) - from LA.UM.9.14.r1-20200-LAHAINA.QSSI13.0
vendor/gpu/kbc/sequence_manifest.bin|cc050a8058904871b3cfabec74521d42f0a61a1f
vendor/gpu/kbc/unified_kbcs_32.bin|503228f87adc71131aa8134659b00dffe073e973
vendor/gpu/kbc/unified_kbcs_64.bin|d63c26959dc02b2efc251953e99dc6e7c32e7f6e
vendor/gpu/kbc/unified_ksqs.bin|8f77dc004796d58acb959e78f4994c5d6b90baef
# Graphics (Adreno) - from hollywood-user-12-SQ3A.220605.009.A1-51062550053200150-release-keys & LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/lib/egl/eglSubDriverAndroid.so|b7aeb95cfacd5b00760c301387182c9298cb4334
vendor/lib/egl/libEGL_adreno.so;SYMLINK=vendor/lib/libEGL_adreno.so|2014ac4d10d5a5f4d960e57826d1f45a7dc9aaf4
vendor/lib/egl/libGLESv1_CM_adreno.so|7b73d8b9532710ea1ad538c7943016d066ebb43b
vendor/lib/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib/libGLESv2_adreno.so|55e4d52e7b130b7781b5d3cdc3899cd491e93669
vendor/lib/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib/libq3dtools_adreno.so|885bcf2e47ef4254a4562f3f24d2669ac8588817
vendor/lib/egl/libq3dtools_esx.so|b54279bd43dd68d92ecbe125f8fec742d2d9f636
vendor/lib/hw/vulkan.adreno.so|86e1b80847b33c71bb9a135baa6d322f1bf63f42
vendor/lib/libC2D2.so|d4214e245b14bab83e548ee3823502462396fe4a
vendor/lib/libCB.so|613a5fe1797095d39a6c5acee932b41efdfb224c
vendor/lib/libOpenCL.so|92ba443e943e491f88f4b585f6f147d50377eb94
vendor/lib/libOpenCL_adreno.so|042fc23bb794f42a299851a0493a2ea0e0f8e964
vendor/lib/libVkLayer_q3dtools.so|19d40e4c5c6104e889acfff640ed9b68b02a8032
vendor/lib/libadreno_app_profiles.so|c675243cc590091d5b520667fd9ea8b7dbb4c7c1
vendor/lib/libadreno_utils.so|31d91a0a5c2a3ed7c850b080796bfc70f14dd02d
vendor/lib/libc2d30_bltlib.so|8a307a717c60dece7e4272a19cb8757b52a8c9ba
vendor/lib/libdmabufheap.so|f42972808368d229ea3cf913459a3e231abd6fe1
vendor/lib/libgpudataproducer.so|28b76a626d4d89f2634753e98b73d5a3fb43a02c
vendor/lib/libgsl.so|9e6ad74025f3cc2d5423d12404a3a907b9d3e296
vendor/lib/libkcl.so|3b0a64440f0a1166de6867864470207a9603a094
vendor/lib/libkernelmanager.so|9c0c50a7857e49ed99aa990593ce0815e7b460db
vendor/lib/libllvm-glnext.so|ec988057f529b7418788ba37fc0f3a760927562b
vendor/lib/libllvm-qcom.so|1f4448771949b5ced6c2292f714a9e0f30116821
vendor/lib/libllvm-qgl.so|6696d0f045f0e6f8b2174b7a2acf2affdf88ede8
vendor/lib64/egl/eglSubDriverAndroid.so|70654c360d5f661d0d32fbce845a0bfae9d6d8be
vendor/lib64/egl/libEGL_adreno.so;SYMLINK=vendor/lib64/libEGL_adreno.so|d46c1ed43997be8336523dcf4d4ca8a9f4a98e6c
vendor/lib64/egl/libGLESv1_CM_adreno.so|a53e362a072b2dbec147ec1396d36a966700504e
vendor/lib64/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib64/libGLESv2_adreno.so|c2badc5662480e24d082393cc4fea4f893d85176
vendor/lib64/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib/libq3dtools_adreno.so|1fa6147a61610c5bb7d237ec5c5ef5d025c0de51
vendor/lib64/egl/libq3dtools_esx.so|235fdfbaa14ac599fb105d1923324ef6e537c34f
vendor/lib64/hw/vulkan.adreno.so|385413fad425dc17ce440712cc7237f8651b31bc
vendor/lib64/libC2D2.so|1eb43399606840ec844559be874c38dbd9f0c5e7
vendor/lib64/libCB.so|cf41bfe9531b7d3a289823318761d65be0b6ce30
vendor/lib64/libOpenCL.so|1809462d88a0e1a63553c6fcd5ea00ff75f1695b
vendor/lib64/libOpenCL_adreno.so|4ab8b26094374e2e048db90fe8f3a463f0b9b780
vendor/lib64/libVkLayer_q3dtools.so|0013a3267134a2a7a4005680e8f6c2dbcafaa898
vendor/lib64/libadreno_app_profiles.so|6417afc92fc2c7206db256d2b0a21db6fae9c216
vendor/lib64/libadreno_utils.so|c798a22fb0b00221cfc768b284a1f3516ca31cd1
vendor/lib64/libc2d30_bltlib.so|f64c7a4af7717da93fbefa7732e0e74e71915606
vendor/lib64/libdmabufheap.so|9bfa239c6f2a419b3f8235c57e930c055f675bf8
vendor/lib64/libgpudataproducer.so|84c99f42fc6a32a222fe49354cf9a14dae5951c6
vendor/lib64/libgsl.so|5357334c2419298f1f0a04de08199e19f72a7c3c
vendor/lib64/libkcl.so|33e81f66b1e01b0e5a37686d8190af332bd94cff
vendor/lib64/libkernelmanager.so|0e2cf9e1928b7bf654a1336a99f41264a11093f0
vendor/lib64/libllvm-glnext.so|da1e4e54f16d57d9088396ccf8768645d9f5d3bc
vendor/lib64/libllvm-qcom.so|1388077970a5778197053286cf8a827d84a2ce69
vendor/lib64/libllvm-qgl.so|ea4dfd9ee1d4a2643b5f0f369616bec2a3ce89ef
vendor/lib/egl/eglSubDriverAndroid.so|36794c5177c5d1e4c39b58297a07eb694ce9288c
vendor/lib/egl/libEGL_adreno.so|6fa7746acee41f5c5b843502e48788b183cf0aff
vendor/lib/egl/libGLESv1_CM_adreno.so|a8f127209e983ffa427b10fed646bd3741d3c653
vendor/lib/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib/libGLESv2_adreno.so|530b251b1af116f518007f34d66f0801033c6178
vendor/lib/egl/libVkLayer_ADRENO_qprofiler.so;SYMLINK=vendor/lib/libVkLayer_ADRENO_qprofiler.so|d4f26d511cd4f98b94c18f145d3246230fbc6d25
vendor/lib/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib/libq3dtools_adreno.so|381e2d2123f5a6bb1edcc3e281c38acf953ff08b
vendor/lib/egl/libq3dtools_esx.so|f0018cad37986629ace20146b9ddba5f6882159d
vendor/lib/hw/vulkan.adreno.so|c16d86d34a72be7a69b19e453a1903925abe16cc
vendor/lib/libCB.so|6a3cdb29ae4a3bf199c826dd966e6bd7182a1883
vendor/lib/libOpenCL.so|55d34f35f21e70aafb19c3bfb0edc715ef83c543
vendor/lib/libOpenCL_adreno.so|b90752ae53d16c9e9cede2b38d4a8109b39217b8
vendor/lib/libadreno_app_profiles.so|4ad675ed078d0c859fbd82ba32b16acfb00c3447
vendor/lib/libadreno_utils.so|f8cd5fe4ccf77b211ad379aee5bbf401788f1880
vendor/lib/libgsl.so|f11778a1870dfbb1c5b6bdd202d938dd0d4ec79b
vendor/lib/libkcl.so|a504b8d00e87070f7b39a390b5199e971ab3f3e4
vendor/lib/libkernelmanager.so|9314f26594fbca2c3993b8c91252bffcacb0592b
vendor/lib/libllvm-glnext.so|b65ee37ba2fb63700ea38dbe39731bf1e51459b2
vendor/lib/libllvm-qcom.so|c5d5324ceae72f6016020e75d4b8b9dcdde7776d
vendor/lib/libllvm-qgl.so|0fd44f9a0029a18cbc1cc5aec3562cc0a0d0060e
vendor/lib64/egl/eglSubDriverAndroid.so|3dabc44583b7d9efae2663f359f2c5d1053d6002
vendor/lib64/egl/libEGL_adreno.so|860ed2358e89c555b738a0bb578e68da7c00e6c8
vendor/lib64/egl/libGLESv1_CM_adreno.so|4538678560a8aa062b00f6690e4b268896c1b59d
vendor/lib64/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib64/libGLESv2_adreno.so|fbc82874ae90a9163257990048cbb077e6828f57
vendor/lib64/egl/libVkLayer_ADRENO_qprofiler.so;SYMLINK=vendor/lib64/libVkLayer_ADRENO_qprofiler.so|2fa3a828512eadd1afbb132099547d496ba65be2
vendor/lib64/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib64/libq3dtools_adreno.so|421f7776fda70f2ba8212790e9ac69a3f7288f77
vendor/lib64/egl/libq3dtools_esx.so|22cc73afe2f8167a0f9953a33ff2eaa465dcfb34
vendor/lib64/hw/vulkan.adreno.so|f6db97058a3b806367b37b71b9961c00dbbb4f0c
vendor/lib64/libCB.so|1e1f68f4e954617b8879ca980367ef53e82864a3
vendor/lib64/libOpenCL.so|98fe18af9ed6b4c366f0d0ca17c707afca57f3a8
vendor/lib64/libOpenCL_adreno.so|2b1dae0e6b8a8cec153a4b68683c6c3b0da3ce54
vendor/lib64/libadreno_app_profiles.so|26b8f09515c6b8b30a2c6d250434af6f874ced4e
vendor/lib64/libadreno_utils.so|fbac8ba895413d3a9ded32226b0f494d33aad6f0
vendor/lib64/libgsl.so|1420520b888230d4735c2a342314e7c96e649ed5
vendor/lib64/libkcl.so|ca6e21ab2bffb2513d3c0cd2088fb2112b230833
vendor/lib64/libkernelmanager.so|b1e5b3860bd2fab9074731c4d24583dfa0897e00
vendor/lib64/libllvm-glnext.so|c297d4eaf59a52474f629fe049a61161b3dbea63
vendor/lib64/libllvm-qcom.so|d36b8211b59ff12f9bf5e13d0b4253a77f28d8ac
vendor/lib64/libllvm-qgl.so|e69f777067b49a4e54970b5d6b0e7622f56c1412
# Graphics (Adreno) - from nabu V13.0.3.0.RKXCNXM
vendor/lib/libC2D2.so|fafaeb8e08cc62dbad97d1c73af524ae47806c7c
vendor/lib/libc2d30_bltlib.so;DISABLE_CHECKELF|cbd2c5b449d568f36ef13cd9fa6774e07db4265b
vendor/lib64/libC2D2.so|fafaeb8e08cc62dbad97d1c73af524ae47806c7c
vendor/lib64/libc2d30_bltlib.so;DISABLE_CHECKELF|cbd2c5b449d568f36ef13cd9fa6774e07db4265b
# Graphics (DRM) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/lib64/libsdedrm.so|7cf5f4e7e4dacae88e317d3397fdf25dabe45b65
@@ -684,14 +698,20 @@ vendor/lib64/libsdedrm.so|7cf5f4e7e4dacae88e317d3397fdf25dabe45b65
# Graphics (HDR) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/lib64/libhdr_tm.so|a222a7d838735c5ce73f06d4096fea3ca19611c8
# Graphics (SDM) - from from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.
vendor/lib64/libqseed3.so|1395834daf3c6cd07acbdbc44110decb3be362c2
vendor/lib64/libsdm-color.so|e82ee94b86f9c59044017ab527261a7aacbd6083
vendor/lib64/libsdm-colormgr-algo.so|11b65733d87ff65633a5fe8f4207dde12391625c
vendor/lib64/libsdm-diag.so|55dafc05ba68666f10412a534f7122d7f45bf403
vendor/lib64/libsdm-disp-vndapis.so|9ab6725a5efba29b77d1d6ab33e10e3ff3296960
vendor/lib64/libsdmextension.so|c1425aae0475207054351c2bf16c18350ccf7570
vendor/lib64/libtinyxml2_1.so|92101861d95cbdf9625d192d0b2295baa5960b68
# Graphics (SDM) - from from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/lib/libdisplaydebug.so|d843c4a7244bf768ce438f24d43a29f1053bf63e
vendor/lib/libdrmutils.so|d99807b940c43cd53aa3a40f0d052444da267cde
vendor/lib/libsdmutils.so|d5bdb87cde1436830ccb87467ac8fac6810b24fe
vendor/lib64/libdisplaydebug.so|ef90d21008136d3189b9ec099ed4e11ab25b61b7
vendor/lib64/libdrmutils.so|784ec1255c61ce58307bc63919c8f63ac385265e
vendor/lib64/libqseed3.so|7f2a659fb9acd84d79c11dbd6901b816d5d1214f
vendor/lib64/libsdm-color.so|d0984c33dcbf84940676917e0c3584b0ccfeaf03
vendor/lib64/libsdm-colormgr-algo.so|15f696a4575868e528360896f1e0098d531899c0
vendor/lib64/libsdm-diag.so|98c8e8a3a56bc0091f56714d569f03066f68fdea
vendor/lib64/libsdm-disp-vndapis.so|60da199073d2b0881bf075190a644b332503f39c
vendor/lib64/libsdmextension.so|e10d29f29b7a53b75369e58e8a165b2b86609f26
vendor/lib64/libsdmutils.so|b8ff6261c33ffe76960b1719a20d4181f896bb71
vendor/lib64/libtinyxml2_1.so|ff32deb110acb02cb5def5f3404f9064c1276483
# Graphics Firmware
vendor/firmware/a612_rgmu.bin
@@ -706,8 +726,8 @@ vendor/firmware/a640_zap.elf
vendor/firmware/a640_zap.mdt
# HotwordEnrollment - from MIUI 12.5.2
-product/priv-app/HotwordEnrollmentOKGoogleHEXAGON/HotwordEnrollmentOKGoogleHEXAGON.apk|62e301d2f386771facd9a9aa546c0fcc241116da
-product/priv-app/HotwordEnrollmentXGoogleHEXAGON/HotwordEnrollmentXGoogleHEXAGON.apk|8639661f6fad570723bc6f2759da76604bd804fa
-product/priv-app/HotwordEnrollmentOKGoogleHEXAGON/HotwordEnrollmentOKGoogleHEXAGON.apk;NODEXPO|62e301d2f386771facd9a9aa546c0fcc241116da
-product/priv-app/HotwordEnrollmentXGoogleHEXAGON/HotwordEnrollmentXGoogleHEXAGON.apk;NODEXPO|8639661f6fad570723bc6f2759da76604bd804fa
system_ext/etc/permissions/com.android.hotwordenrollment.common.util.xml|563a58554d9c0dd0608552b644fbf74519a447bb
system_ext/framework/com.android.hotwordenrollment.common.util.jar|bef92589e75a6da6043f85f4b9b0e85866429624
@@ -769,27 +789,7 @@ vendor/lib64/libnpu.so
vendor/bin/vppservice|99524e6e27bf4f8c4b5c5234f887413623cfdb0f
vendor/etc/configstore/vpp.configstore.xml|ed961545186c66fd9523f25866c74f2e11ee63d7
vendor/etc/init/vppservice.rc|24c089e0e413cbb3fa6daaf0af4215870bdf1b8e
vendor/lib/libAlacSwDec.so|cb41b0945e57b349e6aa476cdac4315ee13a2def
vendor/lib/libApeSwDec.so|ce425ef9372ed6635e313422b3578f77b90ff526
vendor/lib/libFlacSwDec.so|6b17d0965c9f8bddab3ffd59e7bb16e92bb68d85
vendor/lib/libI420colorconvert.so|09a63a93d9cf2f78e31cb996a617071572e4f3db
vendor/lib/libMpeg4SwEncoder.so|ed6478056d874c784dd649b172e7f0bb3188ba9f
vendor/lib/libOmxAacDec.so|c3d19eb5668973a6d7b64133d1b607a384167875
vendor/lib/libOmxAlacDec.so|17fbc925be0efdcfeb3473081016ba0203d6fea5
vendor/lib/libOmxAlacDecSw.so|be917abb87f621c8d721a03ed42016ae12bdbf8a
vendor/lib/libOmxAmrDec.so|fdbab94512df85478417112b793c4a4cee46e7ec
vendor/lib/libOmxAmrwbplusDec.so|0346a6f6da04bac6e7d6464e205e2b1d1ce881a1
vendor/lib/libOmxApeDec.so|8f49462382e71f3b51f3269824fa49111ceb2ea8
vendor/lib/libOmxApeDecSw.so|a0980f890bfa7a04c4af2e3d40e176e7d7bbf693
vendor/lib/libOmxDsdDec.so|93832f5a8e016a0cd419fca916f29a7987d4af9e
vendor/lib/libOmxEvrcDec.so|e26f066a89944ee36450c5325b45e5529de60882
vendor/lib/libOmxG711Dec.so|7e310d958e5a68caeacef44a48acf0be5497beb6
vendor/lib/libOmxQcelp13Dec.so|ec0650fee64998b47cfed806cda26f0eb8fd85a8
vendor/lib/libOmxSwVdec.so|490d51df165e9f59a3bdf09c1fb08e79b1857309
vendor/lib/libOmxSwVencMpeg4.so|986ea618700cb170d9b5825bc6d8d9c0ff629059
vendor/lib/libOmxVideoDSMode.so|7c971196e417c1632150f1749bf18ded10def8b5
vendor/lib/libOmxVpp.so|ff50ac05e0b97a6a1a018164cfd1e4d601fc170c
vendor/lib/libOmxWmaDec.so|09ea4d8b190fbfcc61698c46f46c97b0f45fcdfc
vendor/lib/libdsd2pcm.so|c5ab1afd7a5a23bf83d80b5ac74247c3dd2085af
vendor/lib/libmm-color-convertor.so|904f9daeca6323b7d240c2f640a92852bac88146
vendor/lib/libmulawdec.so|89ebb1d9e77911f1abe37405016839d8436a9825
@@ -804,25 +804,7 @@ vendor/lib/libvpptestutils.so|4652a35c291d6f734fdd97e531f4cdf6520d91d4
vendor/lib/vendor.qti.hardware.vpp@1.1.so|3e0467d0c30bb6cccab12d2e67dacc5ea852b3df
vendor/lib/vendor.qti.hardware.vpp@1.2.so|d1226cfbeee864b7cac52bcee37fdf4524892fd6
vendor/lib/vendor.qti.hardware.vpp@1.3.so|6ff4979c9632ce9f244aeba7a0804332328f3fa9
vendor/lib64/libAlacSwDec.so|e520eafd5dd9ee29456b60f4668ea94394a61a63
vendor/lib64/libApeSwDec.so|76d3cc02ca1c3cdc3c71e57dc6e53027d2bf3d37
vendor/lib64/libFlacSwDec.so|c16096dee817ba98a5a7b79ae358ae0db27fe237
vendor/lib64/libI420colorconvert.so|ea24367de946f2c2a7f81b78c0a805edf8fd2d64
vendor/lib64/libMpeg4SwEncoder.so|17a2e12c6bb2184a73c54174f1ec14a2ccff4b11
vendor/lib64/libOmxAacDec.so|4e419724fb940a1fb93b018028dbf3ae6bd9e6ea
vendor/lib64/libOmxAlacDec.so|9182e31c172ca4794cfccc557e497b4e43bd08ef
vendor/lib64/libOmxAlacDecSw.so|b4170d63362517866eaac0e8ac286f60aeac9257
vendor/lib64/libOmxAmrDec.so|f94271e8c1d58d4db9eea90e41c0d64773953d07
vendor/lib64/libOmxAmrwbplusDec.so|31bbb7fb8b5fe5f4c5c30c39b67300bf0d0cc148
vendor/lib64/libOmxApeDec.so|f001e769e861a90c568635e32d445bd6e3b782ee
vendor/lib64/libOmxApeDecSw.so|f70889abc2d8beafa92d71d98a33d0e109b662f5
vendor/lib64/libOmxEvrcDec.so|c46237c40fc9ca24109d55dd82c64137768d68c5
vendor/lib64/libOmxG711Dec.so|e321b72ebf4cf36b3e7b7ff33a3e00870cd3a461
vendor/lib64/libOmxQcelp13Dec.so|1e428b6dbd8a3f010c1f5fa208a14c362a502cf6
vendor/lib64/libOmxSwVdec.so|83924a8119c8b26c0a4cc245a877e56929a152b1
vendor/lib64/libOmxSwVencMpeg4.so|956524c6928cd415865a900556b14c5f464dc28f
vendor/lib64/libOmxVpp.so|23ae4cd2860131786e3b34ed380eb81fd849cf6c
vendor/lib64/libOmxWmaDec.so|46e5cc33f54a863f499c73302b679cb81fead0c7
vendor/lib64/libmm-color-convertor.so|ade617dc02ec472e68755568d6295ab328aa97be
vendor/lib64/libmulawdec.so|9a21d843c7bd2a516e0f1ce375855b767947b314
vendor/lib64/libstagefright_soft_qtiflacdec.so|8531b262078659ec4f63f39a69c24605d4a0cd90
@@ -837,10 +819,16 @@ vendor/lib64/vendor.qti.hardware.vpp@1.1.so|e336f4a3d0a50ee985639db6a8a70ec98171
vendor/lib64/vendor.qti.hardware.vpp@1.2.so|7ae61a9c75d4a17f0aad5969ce1a27cd5b0552ae
vendor/lib64/vendor.qti.hardware.vpp@1.3.so|85a4e2ca843525db5c76486dbee4c5c7a672ee8d
# Media Codec2 - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/bin/hw/vendor.qti.media.c2@1.0-service|83c2effb6f76cb095bae840d95a2026014d92fe9
vendor/etc/init/vendor.qti.media.c2@1.0-service.rc|11209316ba8aae64b689217bc13b0804f6620678
vendor/lib/libqcodec2.so|ba383c1eca48b29f1e0087970671a55167c96636
vendor/lib64/libqcodec2.so|ba383c1eca48b29f1e0087970671a55167c96636
# Mlipay
-vendor/etc/vintf/manifest/manifest_vendor.xiaomi.hardware.mlipay.xml
vendor/bin/mlipayd@1.1
vendor/etc/init/vendor.xiaomi.hardware.mlipay@1.1-service.rc
vendor/etc/vintf/manifest/manifest_vendor.xiaomi.hardware.mlipay.xml
vendor/lib64/libmlipay.so
vendor/lib64/libmlipay@1.1.so
@@ -848,9 +836,9 @@ vendor/lib64/libmlipay@1.1.so
vendor/lib/libsn100u_fw.so
# Neural Networks - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
-vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti-hta.xml|57e182a296097870a4c4ed1579c67da20c2b69de
-vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti.xml|ac07e83ba7c2a87a2f216f04ec84df4539ea8507
vendor/bin/hw/android.hardware.neuralnetworks@1.3-service-qti|d8f5981b1bedaa9cbef1b9fc93a400dc98e89cfa
vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti-hta.xml|57e182a296097870a4c4ed1579c67da20c2b69de
vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti.xml|ac07e83ba7c2a87a2f216f04ec84df4539ea8507
vendor/lib64/libhexagon_nn_stub.so|6fdaffc1c9372c0e70bcd82f5d806162ca31c176
vendor/lib64/libhta_hexagon_runtime.so|e8f735a8d9396052fe217eafe506e28b492f024c
vendor/lib64/unnhal-acc-adreno.so|bc3aa43c7cc4b16ac8991ada3c0f731a5b4e37fc
@@ -861,6 +849,7 @@ vendor/lib64/unnhal-acc-hvx.so|d5123c50b9523190c71d90acc2635ff21595bd1a
# Peripheral manager - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/bin/pm-proxy|c36785c811db9af0d6d938cdbc6b90dedaaf706e
vendor/bin/pm-service|c3d1b2f6e7f731b1328afbcf8e344405744528e3
vendor/lib/libspcom.so|3e1b92390ebcb02d35fcda89f80d1cfef3a03a71
vendor/lib64/libperipheral_client.so|9bfd41e276e16b8f7c6808f3d87531fc5be4cdd5
vendor/lib64/libspcom.so|7cc4390e7caf520586c22cdb7219842fa5d6ed2c
@@ -898,6 +887,7 @@ vendor/lib/libqmi_common_so.so|ff25aa6185ebf0700fd5c7d913f383bcd09ea866
vendor/lib/libqmi_csi.so|77e088094a86d9eab9fcdc3a86fb12b82f4c5d22
vendor/lib/libqmi_csvt_srvc.so|4f7890a0f6c80436341e639a3179b78495594612
vendor/lib/libqmi_encdec.so|d8642bf7e8193db310dafad8116222f3b3d9013a
vendor/lib/libqmi_legacy.so|7805ed3a940405d88d4b7dd29516c68ee19c5b08
vendor/lib/libqmiservices.so|54a2417ab396730b26a2a29e32531d637aa800fc
vendor/lib/libqrtr.so|89e9808e264dc47648c18549a4eedc2169b9c6ef
vendor/lib/libqsocket.so|bc42794c439b8a767e87b60071e3827a793218aa
@@ -918,6 +908,7 @@ vendor/lib64/libqmi_common_so.so|d817b576a054dd91e8e4346d73e6d635d221bfde
vendor/lib64/libqmi_csi.so|f1a30e304f667de6cfbe35c043465e3c8f92a673
vendor/lib64/libqmi_csvt_srvc.so|f1a3bc5d8e48e8bc3464b6a9ad652a7553240c79
vendor/lib64/libqmi_encdec.so|a18bb21e5b9b53e3dc8dc45f6e7e65e32a467607
vendor/lib64/libqmi_legacy.so|f324c6701ecf78ff50975c0bc7f99aea09cb3539
vendor/lib64/libqmiservices.so|d7540cd0888599a11dd2ebac1f19ff13d27f9e90
vendor/lib64/libqrtr.so|3ea4f27b261a1a5ddeee02e9561dc040ddb26514
vendor/lib64/libqsocket.so|3fa01c9aff6ed96a5ea9886c7696a046c929e339
@@ -932,8 +923,7 @@ vendor/lib64/libQTEEConnector_vendor.so|30e5fd8d4fff50083f44f6d0bd09f4bd287a8366
vendor/lib64/vendor.qti.hardware.qteeconnector@1.0.so|4e08dcd830d319c1a56d108c037b1f76eb5060d4
# Radio (IMS) (system) - from LA.QSSI.12.0.r1-05800.02-qssi.0
-system_ext/priv-app/ims/ims.apk|ed68ecd630ddbd49e88bd0b2e3b50ee35c334ef0
system_ext/lib64/lib-imsvideocodec.so|ba0a0696b468ee2458c196b3d252656d20eb197f
system_ext/lib64/lib-imsvideocodec.so;DISABLE_CHECKELF|ba0a0696b468ee2458c196b3d252656d20eb197f
system_ext/lib64/lib-imsvt.so|f795cc87119b49587dbb1f3e4349fcf67b0610ed
system_ext/lib64/lib-imsvtextutils.so|50a092eb7b490f4307bddb3d5a4c595b458bc503
system_ext/lib64/lib-imsvtutils.so|9a7f904b12a066038c2b5725610e8dd45e3f75ed
@@ -941,10 +931,11 @@ system_ext/lib64/libdiag_system.so|46b48593c913d5cbb05518b31721bb0f33e6c1ba
system_ext/lib64/libimscamera_jni.so;SYMLINK=system_ext/priv-app/ims/lib/arm64/libimscamera_jni.so|0394fbe375893f9aa2fee5e28e5c657575025a12
system_ext/lib64/libimsmedia_jni.so;SYMLINK=system_ext/priv-app/ims/lib/arm64/libimsmedia_jni.so|a8271a46c31ed50a1f7f94d7ec78fb534f432296
system_ext/lib64/vendor.qti.imsrtpservice@3.0.so|34da5e45ae4817ccff75c6b8d1d0c125ebd253ed
system_ext/priv-app/ims/ims.apk;NODEXPO|ed68ecd630ddbd49e88bd0b2e3b50ee35c334ef0
# Radio (IMS) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/bin/ims_rtp_daemon|514b4f3a8483c21526d98634aaf8f01e3a59328a
vendor/bin/imsdatadaemon|41a10f6f2431a8b2acc29a539f6007aadf43ac26
vendor/bin/imsdatadaemon;DISABLE_CHECKELF|41a10f6f2431a8b2acc29a539f6007aadf43ac26
vendor/bin/imsqmidaemon|01cf9da152d3d816b1b2e8ac425cb6e5942bd6b7
vendor/bin/imsrcsd|bf29aac14856f29268c01599e5f6c7c6ae520685
vendor/etc/init/ims_rtp_daemon.rc|06510e936890f51aeb76f2cf3ed5dbe45e67ac20
@@ -991,16 +982,16 @@ vendor/lib64/vendor.qti.ims.rcsconfig@1.1.so|91521d031060612dbf53d4a6437eba56780
vendor/lib64/vendor.qti.ims.rcsconfig@2.0.so|bd0db76d555c51971dcfcce62d981f987af32811
vendor/lib64/vendor.qti.ims.rcsconfig@2.1.so|f52f0cd5e19455eba97dea61542217d4aa5c1841
vendor/lib64/vendor.qti.imsrtpservice@3.0-service-Impl.so|4fc84ea2ec56396fa1d6daa9c8f06b227be403a4
vendor/lib64/vendor.qti.imsrtpservice@3.0.so|460e589128fce0b0e83bb3c75aa32f7e1a9494fd
vendor/lib64/vendor.qti.imsrtpservice@3.0.so;MODULE_SUFFIX=_vendor|460e589128fce0b0e83bb3c75aa32f7e1a9494fd
# Radio (system) - from LA.QSSI.12.0.r1-05800.02-qssi.0
-system_ext/app/QtiTelephonyService/QtiTelephonyService.apk|a32f88ddcc8f9cba18aa5697ee5bd52201e89b13
-system_ext/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk|60af440aae61fcd6939af56a0b94d9b9ef5ebd55
product/etc/permissions/telephony_product_privapp-permissions-qti.xml|42f4553b61731e56d253766554d4479519cea3ff
system_ext/app/QtiTelephonyService/QtiTelephonyService.apk;NODEXPO|a32f88ddcc8f9cba18aa5697ee5bd52201e89b13
system_ext/etc/permissions/qcrilhook.xml|30397e293b2c40e6b7a1d11c2a615cdd05de625a
system_ext/etc/permissions/telephonyservice.xml|b7831598d3c19c6ce4ef431d1cc44d94c3c35a8d
system_ext/framework/qcrilhook.jar|f2888f922b8347417dfa86741feb8348795fce6f
system_ext/framework/qti-telephony-common.jar|a22ed88e0cd81ea8c4788c26494c8b5fd666ec7c
system_ext/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk;NODEXPO|60af440aae61fcd6939af56a0b94d9b9ef5ebd55
# Radio (vendor) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/bin/ATFWD-daemon|98b712409955b49330f7e179da8019be723850a3
@@ -1028,9 +1019,12 @@ vendor/etc/init/qcrild.rc|320b644319182f96e494ea30de26cb52b448f592
vendor/etc/init/ssgtzd.rc|140086da548acd74420c8f494c3351b4dedc1c80
vendor/etc/init/vendor.qti.rmt_storage.rc|bc212c6353c2ded44ae4d759605fbbe55aa4fa3f
vendor/etc/init/vendor.qti.tftp.rc|b27f188cbffba470a4510d50e46ff7c8446c22cb
vendor/etc/seccomp_policy/atfwd@2.0.policy|74fdb7d47bdb6d0cb06b13701a96a76c9171ab5d
vendor/etc/seccomp_policy/atfwd@2.0.policy|da0ecc6378a5df652f412c4aac8423e50f27a53e
vendor/etc/ssg/ta_config.json|e18554b038da3737b7352d1271e5fde9c789c9df
vendor/etc/ssg/tz_whitelist.json|c0dc4f4cfee20db5993eb5142e362cba7dfaecd6
vendor/lib/libconfigdb.so|082bcb0b6f1d86dc65f6e05fb59420d555131c1a
vendor/lib/libnetmgr.so|5e4ee4e68e011329662a5bd27be4caf025e5ff25
vendor/lib/libqcbor.so|e6907a4f9da62793c7e821fc5388c76c48f8774f
vendor/lib64/deviceInfoServiceModule.so|d9fb334e23fc38ac9b105af43b76c7f796f3d02a
vendor/lib64/libconfigdb.so|92884af781e10586e90319b4b2155db4f27b0215
vendor/lib64/liblqe.so|a9c9cc6539482655a5ef1c612050e7cd961c2fd3
@@ -1051,7 +1045,6 @@ vendor/lib64/libril-qc-hal-qmi.so|f304af57068c7968073b718fcbeed30ed3fc71e6
vendor/lib64/libril-qc-logger.so|8b01d4e2c0209b4142370593edac3ccc63a24716
vendor/lib64/libril-qc-ltedirectdisc.so|ce5caebbd1442a4827f256d2d626a1a008292c84
vendor/lib64/libril-qc-radioconfig.so|9b3d2857d3e13a3566a7a467ef1ab65a659076c9
vendor/lib64/libril-qcril-hook-oem.so|63a96306fddd3e16129a0ce26be8e82137960279
vendor/lib64/librilqmiservices.so|ad3512fa14ca5231fed6926d48b94633cebb8adf
vendor/lib64/libsettings.so|595e71e5841b9de36dc2e85e84e90ad4d05a5371
vendor/lib64/libsystem_health_mon.so|2cc55d78ea00b9fe8af9cd88fd8ef8c31ee5f494
@@ -1143,6 +1136,7 @@ vendor/etc/sensors/config/sns_tilt_to_wake.json
vendor/etc/sensors/config/tcs3701.json
vendor/etc/sensors/config/vl53l1_tof_0.json
vendor/etc/sensors/sns_reg_config
vendor/lib/libsnsapi.so
vendor/lib64/libsensorcal.so
vendor/lib64/libsensorslog.so
vendor/lib64/libsns_device_mode_stub.so
@@ -1159,9 +1153,8 @@ vendor/lib64/sensors.mius.proximity.so
vendor/lib64/sensors.ssc.so
# Snapdragon Computer Vision Engine - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
-vendor/lib/libfastcvopt.so|7cf6fc27e6536f32be9409532aa7e19e96ec7083
-vendor/lib64/libfastcvopt.so|de99aded67cd9834bc0c5aaf405d7d2a115a2883
vendor/lib/libfastcvdsp_stub.so|7f27cee24281bc9bf4f08c6100cc66bd650d8efb
vendor/lib/libfastcvopt.so|7cf6fc27e6536f32be9409532aa7e19e96ec7083
vendor/lib/libscveCommon.so|4be56b846f71f4ba8032471abf9f02dc5b01810c
vendor/lib/libscveCommon_stub.so|89e1a3d3302b6809ae4ca1d80f6c2e0cd3c3b752
vendor/lib/libscveObjectSegmentation.so|b60b43377262ef6cc7882ff5cc49d35e4c516670
@@ -1169,6 +1162,7 @@ vendor/lib/libscveObjectSegmentation_stub.so|f1a139933c16c2fde367506fe0419c15684
vendor/lib/libscveObjectTracker.so|26318c862d3d56596fe7208ebcc3ae1900f7d55f
vendor/lib/libscveObjectTracker_stub.so|cafdeed8fa0d51672806038065cf4ce38d442b6b
vendor/lib64/libfastcvdsp_stub.so|af78b8104678b87fbe07d679448ae2f4bc5c461e
vendor/lib64/libfastcvopt.so|de99aded67cd9834bc0c5aaf405d7d2a115a2883
vendor/lib64/libscveCommon.so|1603e11f268390739f9d0297ab0b8e84886becab
vendor/lib64/libscveCommon_stub.so|a818f00395ba18608798890017ac6b2d80f1f878
vendor/lib64/libscveObjectSegmentation.so|1598ad3797897eb3331a545c74d937c0ae0aeddf
@@ -1177,7 +1171,7 @@ vendor/lib64/libscveObjectTracker.so|0cf7d3128ae0019d882da5c9d8d9186d549177d1
vendor/lib64/libscveObjectTracker_stub.so|6f45aa215de07dfeacf811c06af750206bb1cf58
# Soter
-app/SoterService/SoterService.apk
-app/SoterService/SoterService.apk;NODEXPO
vendor/bin/hw/vendor.qti.hardware.soter@1.0-service
vendor/etc/init/vendor.qti.hardware.soter@1.0-service.rc
vendor/lib64/hw/vendor.qti.hardware.soter@1.0-impl.so
@@ -1189,12 +1183,11 @@ vendor/bin/ssr_setup
# Thermal - from coral-user-12-SQ1A.220105.002-7961164-release-keys
vendor/bin/thermal-engine|01cb7dc998c39016b54089c18921ad7d65b3c675
# ThermalClient
-vendor/lib/libthermalclient.so
-vendor/lib64/libthermalclient.so
# Thermal - from barbet 12 S2B2.211203.006-8015633
vendor/lib64/libthermalclient.so|0a12301d1557583db10f730d1d3cced841448b99
# Time - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
-vendor/app/TimeService/TimeService.apk|92317b3b72586489456d37057b4c3c8e55863923
vendor/app/TimeService/TimeService.apk;NODEXPO|92317b3b72586489456d37057b4c3c8e55863923
vendor/bin/time_daemon|48401d7f85c87aa3e12ce7b4a969a50cbf59c293
vendor/etc/init/init.time_daemon.rc|b253ca2a498757e14e1d7a051bf504ae09218f51
vendor/lib64/libtime_genoff.so|8bb116ad297a5e4a94da2f10509509cb6e863a5f

View File

@@ -3,9 +3,12 @@
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.carrierconfig.overlay.raphael">
<application android:allowBackup="false"/>
<overlay android:targetPackage="com.android.carrierconfig"
android:isStatic="true"
android:priority="100"/>
package="com.android.carrierconfig.raphael"
android:versionCode="1"
android:versionName="1.0">
<application android:hasCode="false" android:allowBackup="false"/>
<overlay
android:targetPackage="com.android.carrierconfig"
android:isStatic="true"
android:priority="900"/>
</manifest>

View File

@@ -1554,9 +1554,6 @@
<boolean name="allow_hold_video_call_bool" value="false" />
<boolean name="carrier_allow_transfer_ims_call_bool" value="false" />
<boolean name="carrier_video_crs_supported_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
</carrier_config>
@@ -1625,9 +1622,6 @@
<item value="0201008616" />
</string-array>
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
<boolean name="carrier_data_channel_supported_bool" value="true" />
@@ -1677,9 +1671,6 @@
<boolean name="carrier_allow_transfer_ims_call_bool" value="false" />
<boolean name="disable_filter_out_conference_host" value="true" />
<boolean name="support_video_conference_call_bool" value="false" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="carrier_video_crs_supported_bool" value="true" />
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
@@ -1751,9 +1742,6 @@
<item value="0201008616" />
</string-array>
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
<boolean name="carrier_data_channel_supported_bool" value="true" />
@@ -1889,9 +1877,6 @@
<item value="0201008616" />
</string-array>
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
<boolean name="carrier_data_channel_supported_bool" value="true" />
@@ -1958,9 +1943,6 @@
<item value="0201008616" />
</string-array>
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
<boolean name="carrier_data_channel_supported_bool" value="true" />
@@ -2000,9 +1982,6 @@
<boolean name="allow_hold_video_call_bool" value="false" />
<boolean name="carrier_allow_transfer_ims_call_bool" value="false" />
<boolean name="carrier_video_crs_supported_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
</carrier_config>
@@ -2062,9 +2041,6 @@
<boolean name="carrier_allow_transfer_ims_call_bool" value="false" />
<boolean name="disable_filter_out_conference_host" value="true" />
<boolean name="support_video_conference_call_bool" value="false" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="carrier_video_crs_supported_bool" value="true" />
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
@@ -2176,9 +2152,6 @@
<item value="0201008616" />
</string-array>
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
<boolean name="carrier_data_channel_supported_bool" value="true" />
@@ -2245,9 +2218,6 @@
<boolean name="carrier_allow_transfer_ims_call_bool" value="false" />
<boolean name="carrier_video_crs_supported_bool" value="true" />
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
<boolean name="vonr_setting_visibility_bool" value="false" />
@@ -7204,4 +7174,138 @@
<carrier_config mcc="901" mnc="18">
<boolean name="carrier_volte_available_bool" value="false" />
</carrier_config>
<carrier_config mcc="400" mnc="02">
<boolean name="carrier_volte_available_bool" value="true" />
</carrier_config>
<carrier_config mcc="404">
<boolean name="carrier_volte_available_bool" value="true" />
<boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="editable_wfc_roaming_mode_bool" value="true" />
<boolean name="carrier_wfc_supports_ims_preferred_bool" value="true" />
</carrier_config>
<carrier_config mcc="404" mnc="02,03,06,10,16,31,40,45,49,61,70,90,92,93,94,95,97,98">
<boolean name="carrier_volte_available_bool" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="51,52,53,54,55,56">
<boolean name="carrier_volte_available_bool" value="true" />
</carrier_config>
<carrier_config mcc="452" mnc="01">
<boolean name="carrier_volte_available_bool" value="true" />
</carrier_config>
<carrier_config mcc="452" mnc="02">
<boolean name="carrier_volte_available_bool" value="true" />
</carrier_config>
<carrier_config mcc="452" mnc="04">
<boolean name="carrier_volte_available_bool" value="true" />
</carrier_config>
<carrier_config mcc="452" mnc="05">
<boolean name="carrier_volte_available_bool" value="true" />
</carrier_config>
<carrier_config mcc="452" mnc="06">
<boolean name="carrier_volte_available_bool" value="true" />
</carrier_config>
<carrier_config mcc="452" mnc="08">
<boolean name="carrier_volte_available_bool" value="true" />
</carrier_config>
<carrier_config mcc="470" mnc="01">
<boolean name="rtt_supported_bool" value="true" />
<boolean name="rtt_supported_for_vt_bool" value="true"/>
<boolean name="rtt_upgrade_supported_bool" value="true"/>
<boolean name="carrier_volte_available_bool" value="true" />
<boolean name="carrier_vt_available_bool" value="false" />
<boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="carrier_volte_tty_supported_bool" value="true" />
</carrier_config>
<carrier_config mcc="470" mnc="02">
<boolean name="rtt_supported_bool" value="true" />
<boolean name="rtt_supported_for_vt_bool" value="true"/>
<boolean name="rtt_upgrade_supported_bool" value="true"/>
<boolean name="carrier_volte_available_bool" value="true" />
<boolean name="carrier_vt_available_bool" value="false" />
<boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="carrier_volte_tty_supported_bool" value="true" />
</carrier_config>
<carrier_config mcc="470" mnc="03">
<boolean name="rtt_supported_bool" value="true" />
<boolean name="rtt_supported_for_vt_bool" value="true"/>
<boolean name="rtt_upgrade_supported_bool" value="true"/>
<boolean name="carrier_volte_available_bool" value="true" />
<boolean name="carrier_vt_available_bool" value="false" />
<boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="carrier_volte_tty_supported_bool" value="true" />
</carrier_config>
<carrier_config mcc="470" mnc="04">
<boolean name="rtt_supported_bool" value="true" />
<boolean name="rtt_supported_for_vt_bool" value="true"/>
<boolean name="rtt_upgrade_supported_bool" value="true"/>
<boolean name="carrier_volte_available_bool" value="true" />
<boolean name="carrier_vt_available_bool" value="false" />
<boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="carrier_volte_tty_supported_bool" value="true" />
</carrier_config>
<carrier_config mcc="470" mnc="05">
<boolean name="rtt_supported_bool" value="true" />
<boolean name="rtt_supported_for_vt_bool" value="true"/>
<boolean name="rtt_upgrade_supported_bool" value="true"/>
<boolean name="carrier_volte_available_bool" value="true" />
<boolean name="carrier_vt_available_bool" value="false" />
<boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="carrier_volte_tty_supported_bool" value="true" />
</carrier_config>
<carrier_config mcc="470" mnc="06">
<boolean name="rtt_supported_bool" value="true" />
<boolean name="rtt_supported_for_vt_bool" value="true"/>
<boolean name="rtt_upgrade_supported_bool" value="true"/>
<boolean name="carrier_volte_available_bool" value="true" />
<boolean name="carrier_vt_available_bool" value="false" />
<boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="carrier_volte_tty_supported_bool" value="true" />
</carrier_config>
<carrier_config mcc="470" mnc="07">
<boolean name="rtt_supported_bool" value="true" />
<boolean name="rtt_supported_for_vt_bool" value="true"/>
<boolean name="rtt_upgrade_supported_bool" value="true"/>
<boolean name="carrier_volte_available_bool" value="true" />
<boolean name="carrier_vt_available_bool" value="false" />
<boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="carrier_volte_tty_supported_bool" value="true" />
</carrier_config>
<carrier_config mcc="470" mnc="08">
<boolean name="rtt_supported_bool" value="true" />
<boolean name="rtt_supported_for_vt_bool" value="true"/>
<boolean name="rtt_upgrade_supported_bool" value="true"/>
<boolean name="carrier_volte_available_bool" value="true" />
<boolean name="carrier_vt_available_bool" value="false" />
<boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="carrier_volte_tty_supported_bool" value="true" />
</carrier_config>
<carrier_config mcc="502" mnc="16">
<boolean name="carrier_volte_available_bool" value="true" />
<boolean name="carrier_wfc_ims_available_bool" value="true" />
</carrier_config>
<carrier_config mcc="502" mnc="18">
<boolean name="carrier_volte_available_bool" value="true" />
<boolean name="carrier_wfc_ims_available_bool" value="true" />
</carrier_config>
<carrier_config mcc="510" mnc="01">
<boolean name="carrier_volte_available_bool" value="true"/>
</carrier_config>
<carrier_config mcc="510" mnc="07">
<boolean name="carrier_volte_available_bool" value="true" />
</carrier_config>
<carrier_config mcc="510" mnc="08">
<boolean name="carrier_volte_available_bool" value="true" />
</carrier_config>
<carrier_config mcc="510" mnc="09">
<boolean name="carrier_volte_available_bool" value="true" />
</carrier_config>
<carrier_config mcc="510" mnc="10">
<boolean name="carrier_volte_available_bool" value="true"/>
</carrier_config>
<carrier_config mcc="510" mnc="11">
<boolean name="carrier_volte_available_bool" value="true"/>
</carrier_config>
<carrier_config mcc="510" mnc="89">
<boolean name="carrier_volte_available_bool" value="true" />
</carrier_config>
</carrier_config_list>

View File

@@ -1,5 +0,0 @@
runtime_resource_overlay {
name: "DeviceAsWebcamRaphael",
product_specific: true,
sdk_version: "current"
}

View File

@@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2024, YAAP
**
** 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.
*/
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.DeviceAsWebcam.overlay.raphael"
android:versionCode="1"
android:versionName="1.0">
<overlay android:targetPackage="com.android.DeviceAsWebcam" android:priority="880" android:isStatic="true" />
</manifest>

View File

@@ -1,6 +0,0 @@
[
"/dev/video0",
"/dev/video2",
"/dev/video32",
"/dev/video33"
]

View File

@@ -1,21 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2024 YAAP
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.
-->
<resources>
<!-- Whether hardware video encoding is supported. default: true -->
<bool name="config_HardwareVideoEncode" translatable="false">false</bool>
<!-- Whether to default to HQ mode. default: false -->
<bool name="config_HighQualityVideoDefault" translatable="false">true</bool>
</resources>

View File

@@ -10,6 +10,6 @@
<application android:allowBackup="false"/>
<overlay
android:isStatic="true"
android:priority="750"
android:priority="900"
android:targetPackage="org.pixelexperience.faceunlock" />
</manifest>

View File

@@ -10,6 +10,6 @@
<application android:allowBackup="false"/>
<overlay
android:isStatic="true"
android:priority="750"
android:priority="900"
android:targetPackage="android" />
</manifest>

View File

@@ -250,30 +250,6 @@
device does not support hardware scan filters-->
<integer translatable="false" name="config_bluetooth_max_scan_filters">1</integer>
<!-- This string array should be overridden by the device to present a list of network
attributes. This is used by the connectivity manager to decide which networks can coexist
based on the hardware -->
<!-- An Array of "[Connection name],[ConnectivityManager.TYPE_xxxx],
[associated radio-type],[priority],[restoral-timer(ms)],[dependencyMet] -->
<!-- the 5th element "resore-time" indicates the number of milliseconds to delay
before automatically restore the default connection. Set -1 if the connection
does not require auto-restore. -->
<!-- the 6th element indicates boot-time dependency-met value. -->
<string-array translatable="false" name="networkAttributes">
<item>wifi,1,1,1,-1,true</item>
<item>mobile,0,0,0,-1,true</item>
<item>mobile_mms,2,0,4,60000,true</item>
<item>mobile_supl,3,0,2,60000,true</item>
<item>mobile_dun,4,0,2,60000,true</item>
<item>mobile_hipri,5,0,3,60000,true</item>
<item>mobile_fota,10,0,2,60000,true</item>
<item>mobile_ims,11,0,2,60000,true</item>
<item>mobile_cbs,12,0,2,60000,true</item>
<item>bluetooth,7,7,2,-1,true</item>
<item>mobile_emergency,15,0,5,-1,true</item>
<item>ethernet,9,9,9,-1,true</item>
</string-array>
<!-- This string array should be overridden by the device to present a list of radio
attributes. This is used by the connectivity manager to decide which networks can coexist
based on the hardware -->
@@ -419,8 +395,6 @@
<!--
<bool name="config_radio_reset_on_regular_deactivation">false</bool>
-->
<!-- Flag indicating if the speed up audio on mt call code should be executed -->
<bool name="config_speed_up_audio_on_mt_calls">true</bool>
<!-- Whether camera shutter sound is forced or not (country specific). -->
<bool name="config_camera_sound_forced">false</bool>
@@ -474,8 +448,8 @@
<item>"/apex/com.android.art/javalib/core-libart.jar"</item>
</string-array>
<!-- Should the pinner service pin the Home application? -->
<bool name="config_pinnerHomeApp">true</bool>
<!-- Bytes that the PinnerService will pin for Home app -->
<integer name="config_pinnerHomePinBytes">6291456</integer>
<!-- Maximum number of supported users -->
<integer name="config_multiuserMaximumUsers">4</integer>
@@ -511,14 +485,6 @@
empty string is passed in -->
<string name="config_wlan_network_service_package">vendor.qti.iwlan</string>
<!-- List of biometric sensors on the device, in decreasing strength. Consumed by AuthService
when registering authenticators with BiometricService. Format must be ID:Modality:Strength,
where: IDs are unique per device, Modality as defined in BiometricAuthenticator.java,
and Strength as defined in Authenticators.java -->
<string-array name="config_biometric_sensors" translatable="false" >
<item>0:2:15</item> <!-- ID0:Fingerprint:Strong -->
</string-array>
<!-- If this is true, device supports Sustained Performance Mode. -->
<bool name="config_sustainedPerformanceModeSupported">true</bool>
@@ -597,13 +563,6 @@
rotations as the default behavior. -->
<bool name="config_allowAllRotations">true</bool>
<!-- The properties of a UDFPS sensor in pixels, in the order listed below: -->
<integer-array name="config_udfps_sensor_props" translatable="false" >
<item>540</item> <!-- <item>sensorLocationX</item> -->
<item>2026</item> <!-- <item>sensorLocationY</item> -->
<item>95</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>
@@ -616,14 +575,6 @@
<!-- the number of the max cached processes in the system. -->
<integer name="config_customizedMaxCachedProcesses">64</integer>
<!-- The default refresh rate. Raphael manages this using the peak refresh rate setting, so set
this value to 0 so it has no effect. -->
<integer name="config_defaultRefreshRate">0</integer>
<!-- The default peak refresh rate for a given device. Change this value if you want to allow
for higher refresh rates to be automatically used out of the box -->
<integer name="config_defaultPeakRefreshRate">90</integer>
<!-- Enable Zram writeback feature to allow unused pages in zram be written to flash. -->
<bool name="config_zramWriteback">true</bool>
@@ -648,6 +599,9 @@
<!-- Type of the tap sensor. Empty if tap is not supported. -->
<string name="config_dozeTapSensorType" translatable="false">org.lineageos.sensor.single_tap</string>
<!-- Whether device supports increased touch sensitvity -->
<!-- Whether device supports increased touch sensitvity -->
<bool name="config_supportGloveMode">true</bool>
<!-- Whether the new Auto Selection Network UI should be shown -->
<bool name="config_enableNewAutoSelectNetworkUI">true</bool>
</resources>

View File

@@ -22,10 +22,10 @@
<bool name="config_multiColorBatteryLed">false</bool>
<!-- Pocket Lock -->
<bool name="config_pocketModeSupported">true</bool>
<bool name="config_pocketUseLightSensor">false</bool>
<!-- Shows the required view for Screen OFF FOD -->
<bool name="config_supportsScreenOffUdfps">true</bool>
<!-- Whether devices supports in-display fingerprint when screen is off -->
<bool name="config_supportScreenOffUdfps">true</bool>
<!-- The list of package IDs that are allowed to use aux cameras.
NOTE: If this list is empty then all apps will be able to use aux cameras. -->
@@ -51,6 +51,9 @@
to enable/disable DC dimming. -->
<string name="config_deviceDcDimmingSysfsNode">/sys/devices/platform/soc/soc:qcom,dsi-display-primary/dc_dim</string>
<!-- Whether to enable Lineage Health Service -->
<bool name="config_lineageHealthSupported">true</bool>
<!-- PowerOffAlarmService -->
<bool name="config_powerOffAlarmEnabled">true</bool>
<!-- Whether the device supports Smart Pixels -->
<bool name="config_supportSmartPixels">true</bool>
</resources>

View File

@@ -0,0 +1,10 @@
//
// Copyright (C) 2024 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "NfcResOverlayRaphael",
product_specific: true,
}

View File

@@ -0,0 +1,12 @@
<!--
Copyright (C) 2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.nfc.overlay.raphael">
<overlay
android:targetPackage="com.android.nfc"
android:targetName="NfcCustomization"
android:isStatic="true"
android:priority="900"/>
</manifest>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- List of SKUs where Secure NFC functionality is supported -->
<string-array name="config_skuSupportsSecureNfc" translatable="false">
<item>nfc</item>
</string-array>
<bool name="enable_secure_nfc_support">true</bool>
</resources>

View File

@@ -10,6 +10,6 @@
<application android:allowBackup="false"/>
<overlay
android:isStatic="true"
android:priority="750"
android:priority="900"
android:targetPackage="com.android.settings" />
</manifest>

View File

@@ -15,6 +15,9 @@
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Device specific doze package -->
<string name="config_customDozePackage" translatable="false">org.lineageos.settings/org.lineageos.settings.doze.DozeSettingsActivity</string>
<!-- The number of vibration intensity levels supported by the device.
Note that this should correspond to the ability to vary the vibration amplitude, with
@@ -40,9 +43,6 @@
<!-- Whether to show the Preference for Adaptive connectivity -->
<bool name="config_show_adaptive_connectivity">false</bool>
<!-- Whether to show min/max refresh rate in display settings -->
<bool name="config_show_refresh_rate_controls">true</bool>
<!-- Whether device supports increased touch sensitvity -->
<bool name="config_show_touch_sensitivity">true</bool>
@@ -51,4 +51,13 @@
<!-- Show battery cycle count -->
<bool name="config_show_battery_cycle_count" translatable="false">true</bool>
<!-- Whether to show double tap ambient settings -->
<bool name="config_supports_double_tap_ambient" translatable="false">true</bool>
<!-- Whether to show volume steps settings -->
<bool name="config_supports_volume_steps" translatable="false">true</bool>
<!-- Whether to show vendor security patch level -->
<bool name="config_show_vendor_patch_level" translatable="false">false</bool>
</resources>

View File

@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 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.
-->
<resources>
<!-- Battery health -->
<string name="config_batteryRemainingCapacityNode">/sys/class/power_supply/bms/charge_full</string>
<string name="config_batteryDesignCapacityNode">/sys/class/power_supply/bms/charge_full_design</string>
<string name="config_batteryChargeCycles">/sys/class/power_supply/bms/cycle_count</string>
</resources>

View File

@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2019-2023 Evolution X
Copyright (C) 2019-2024 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/EvolutionXRaphael_v2</string>
<string name="build_maintainer_summary">Joey Huab</string>
<string name="build_maintainer_donate_url">https://linktr.ee/shaazice</string>
<string name="build_maintainer_donate_url">https://linktr.ee/joeyhuab</string>
</resources>

View File

@@ -10,6 +10,6 @@
<application android:allowBackup="false"/>
<overlay
android:isStatic="true"
android:priority="750"
android:priority="900"
android:targetPackage="com.android.systemui" />
</manifest>

View File

@@ -39,6 +39,9 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
low powered state yet. -->
<bool name="doze_single_tap_uses_prox">false</bool>
<!-- Whether usage of the proximity sensor during doze is supported -->
<bool name="doze_proximity_sensor_supported">false</bool>
<!-- Doze: whether the long press sensor uses the proximity sensor.
If both this parameter and doze_selectively_register_prox are true, registration for the
sensor will be delayed when the device first enters dozing but the device has not entered its
@@ -64,9 +67,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
vibrator is capable of subtle vibrations -->
<bool name="config_vibrateOnIconAnimation">true</bool>
<!-- Whether to show a warning notification when device's skin temperature is high. -->
<integer name="config_showTemperatureWarning">1</integer>
<!-- Whether to show a alarm dialog when device's usb port is overheating. -->
<integer name="config_showUsbPortAlarm">1</integer>
<!-- Pixel pitch of the device. um/px -->
<item name="pixel_pitch" format="float" type="dimen">63.1</item>
</resources>

View File

@@ -18,18 +18,18 @@
<!-- Color of the UDFPS pressed view -->
<color name="config_udfpsColor">#00ffffff</color>
<!-- Preferred max refresh rate at AOD & Ambient Display, if supported by the display. -->
<integer name="config_aodMaxRefreshRate">60</integer>
<!-- Preferred refresh rate at keyguard, if supported by the display -->
<integer name="config_keyguardRefreshRate">60</integer>
<!-- Preferred max refresh rate at keyguard, if supported by the display. -->
<integer name="config_keyguardMaxRefreshRate">60</integer>
<!-- Whether to find optimal display refresh rate when using udfps -->
<bool name="config_udfpsOptimalRefreshRate">false</bool>
<!-- Update battery info every second when device is charging -->
<bool name="config_alternateFastchargeInfoUpdate">true</bool>
<!-- FPSInfoService FPS node file path -->
<string name="config_fpsInfoSysNode" translatable="false">/sys/class/drm/sde-crtc-0/measured_fps</string>
<!-- Whether to disable Smart Pixels on UDFPS -->
<bool name="config_disableSmartPixelsOnUDFPS">true</bool>
<!-- Show 5G toggle in internet dialog when available -->
<bool name="config_supportsVONR">false</bool>
<!-- The CPU temperature divider, if needed -->
<integer name="config_cpuTempDivider" translatable="false">1000</integer>
</resources>

View File

@@ -4,9 +4,6 @@
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Bottom margin size when fingerprint in display is active -->
<dimen name="keyguard_indication_margin_bottom_fingerprint_in_display">25dp</dimen>
<!-- UDFPS recognizing animation vertical position offset -->
<dimen name="udfps_animation_offset">35dp</dimen>
</resources>

View File

@@ -10,6 +10,6 @@
<application android:allowBackup="false"/>
<overlay
android:isStatic="true"
android:priority="550"
android:priority="900"
android:targetPackage="com.android.phone" />
</manifest>

View File

@@ -18,5 +18,5 @@ runtime_resource_overlay {
name: "TetheringConfigOverlay",
theme: "TetheringConfigOverlay",
sdk_version: "current",
product_specific: true
product_specific: true,
}

View File

@@ -7,5 +7,5 @@
android:targetPackage="com.android.networkstack.tethering"
android:targetName="TetheringConfig"
android:isStatic="true"
android:priority="750"/>
android:priority="900"/>
</manifest>

View File

@@ -2,5 +2,5 @@ runtime_resource_overlay {
name: "WifiOverlay",
theme: "WifiOverlay",
sdk_version: "current",
product_specific: true
vendor: true
}

View File

@@ -83,4 +83,8 @@
<!-- Boolean indicating that wifi only link configuratios that have exact same credentials (i.e PSK) -->
<bool translatable="false" name="config_wifi_only_link_same_credential_configurations">false</bool>
<!-- Enable concurrent restricted connectivity + internet connectivity
Note: this is conditional on the device supporting dual concurrent STAs. -->
<bool translatable="false" name="config_wifiMultiStaRestrictedConcurrencyEnabled">true</bool>
</resources>

View File

@@ -1,9 +1,6 @@
get_prop({ appdomain -isolated_app_all }, vendor_fp_prop)
get_prop({ appdomain -isolated_app_all }, vendor_tee_listener_prop)
dontaudit appdomain sysfs_msm_subsys:dir search;
dontaudit appdomain sysfs_msm_subsys:file r_file_perms;
allow { appdomain -isolated_app_all } adsprpcd_file:dir r_dir_perms;
allow { appdomain -isolated_app_all } public_adsprpcd_file:file r_file_perms;
allow { appdomain -isolated_app_all } vendor_xdsp_device:chr_file r_file_perms;

4
sepolicy/vendor/attributes vendored Normal file
View File

@@ -0,0 +1,4 @@
# HALs
attribute hal_dms;
attribute hal_dms_client;
attribute hal_dms_server;

View File

@@ -1,2 +0,0 @@
dontaudit bootanim sysfs_msm_subsys:dir search;
dontaudit bootanim sysfs_msm_subsys:file r_file_perms;

2
sepolicy/vendor/cameraserver.te vendored Normal file
View File

@@ -0,0 +1,2 @@
allow cameraserver sysfs_torch:file rw_file_perms;
allow cameraserver sysfs_leds:dir r_dir_perms;

View File

@@ -1,4 +1,5 @@
dontaudit untrusted_app ashmem_device:chr_file open;
dontaudit vendor_thermal-engine self:capability dac_override;
dontaudit {
hal_audio_default

View File

@@ -18,6 +18,9 @@ type sysfs_msm_boot, fs_type, sysfs_type;
type sysfs_touchpanel, fs_type, sysfs_type;
type pps_socket, file_type;
# Torch
type sysfs_torch, fs_type, sysfs_type;
# Powerstats
type sysfs_power_stats, fs_type, sysfs_type;
type sysfs_power_stats_ignore, sysfs_type, fs_type;

View File

@@ -8,6 +8,9 @@
# Charger
/vendor/bin/batterysecret u:object_r:batterysecret_exec:s0
# Data files
/data/vendor/dolby(/.*)? u:object_r:vendor_data_file:s0
# Devices
/dev/akm09970 u:object_r:hall_device:s0
/dev/drv8846_dev u:object_r:motor_device:s0
@@ -23,11 +26,12 @@
/sys/devices/virtual/touch/tp_dev/fp_state u:object_r:vendor_sysfs_sensors:s0
# HALs
/vendor/bin/hw/android\.hardware\.biometrics\.fingerprint@2\.3-service\.xiaomi_raphael u:object_r:hal_fingerprint_default_exec:s0
/vendor/bin/hw/android\.hardware\.biometrics\.fingerprint-service\.xiaomi u:object_r:hal_fingerprint_default_exec:s0
/vendor/bin/hw/android\.hardware\.light@2\.0-service\.xiaomi_raphael u:object_r:hal_light_default_exec:s0
/vendor/bin/hw/android\.hardware\.power-service\.pixel-libperfmgr u:object_r:hal_power_default_exec:s0
/vendor/bin/hw/android\.hardware\.power\.stats@1\.0-service\.raphael u:object_r:hal_power_stats_default_exec:s0
/vendor/bin/hw/android\.hardware\.thermal-service\.pixel u:object_r:hal_thermal_default_exec:s0
/vendor/bin/hw/vendor\.dolby\.hardware\.dms@2\.0-service u:object_r:hal_dms_default_exec:s0
/vendor/bin/hw/vendor\.xiaomi\.hardware\.motor@1\.0-service u:object_r:hal_motor_default_exec:s0
/vendor/bin/mlipayd@1\.1 u:object_r:hal_mlipay_default_exec:s0
/vendor/bin/sendhint u:object_r:sendhint_vendor_exec:s0
@@ -55,9 +59,6 @@
/(vendor|system/vendor)/bin/hw/vendor\.xiaomi\.hardware\.misys@2\.0-service u:object_r:hal_misys_default_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.xiaomi\.hardware\.misys@3\.0-service u:object_r:hal_misys_default_exec:s0
# NFC
/vendor/bin/hw/android\.hardware\.nfc_snxxx@1\.2-service u:object_r:hal_nfc_default_exec:s0
# Thermal
/vendor/bin/thermal_symlinks u:object_r:init-thermal-symlinks-sh_exec:s0
@@ -77,3 +78,6 @@
#/dev/cpu_dma_latency u:object_r:latency_device:s0
#/dev/socket/pps u:object_r:pps_socket:s0
#Graphics dependencies
/vendor/lib(64)?/libOpenCL_adreno\.so u:object_r:same_process_hal_file:s0

View File

@@ -2,18 +2,9 @@
genfscon sysfs /kernel/boot_cdsp/boot u:object_r:sysfs_msm_boot:s0
# Display
genfscon sysfs /devices/platform/soc/2c00000.qcom,kgsl-3d0 u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/idle_state u:object_r:vendor_sysfs_graphics:s0
genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/sde-crtc-0/early_wakeup u:object_r:vendor_sysfs_graphics:s0
genfscon sysfs /devices/platform/soc/soc:qcom,cpu-cpu-llcc-bw u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/soc:qcom,cpu-llcc-ddr-bw u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/soc:qcom,cpu0-cpu-l3-lat u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/soc:qcom,cpu4-cpu-l3-lat u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/soc:qcom,cpu6-cpu-l3-lat u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/soc:qcom,dsi-display u:object_r:vendor_sysfs_graphics:s0
genfscon sysfs /devices/platform/soc/soc:qcom,gpubw u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/soc:qcom,gpubw/devfreq u:object_r:sysfs_msm_subsys:s0
# CSC DC Dimming
genfscon sysfs /devices/platform/soc/soc:qcom,dsi-display-primary/dc_dim u:object_r:vendor_sysfs_graphics:s0
@@ -41,12 +32,12 @@ genfscon sysfs /devices/platform/soc/soc:maxim_ds28e16/power_supply/batt_verify
# kmsg
genfscon proc /last_kmsg u:object_r:proc_last_kmsg:s0
# LED
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm6150l@5:qcom,leds@d300/leds/flashlight/brightness u:object_r:sysfs_leds:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm6150l@5:qcom,leds@d300/leds/led:torch_0/brightness u:object_r:sysfs_leds:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm6150l@5:qcom,leds@d300/leds/led:torch_1/brightness u:object_r:sysfs_leds:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm6150l@5:qcom,leds@d300/leds/led:switch_0/brightness u:object_r:sysfs_leds:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm6150l@5:qcom,leds@d300/leds/led:switch_1/brightness u:object_r:sysfs_leds:s0
# Torch
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_0/brightness u:object_r:sysfs_torch:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_0/max_brightness u:object_r:sysfs_torch:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_1/brightness u:object_r:sysfs_torch:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_1/max_brightness u:object_r:sysfs_torch:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:switch_2/brightness u:object_r:sysfs_torch:s0
# Touchpanel
genfscon sysfs /touchpanel u:object_r:sysfs_touchpanel:s0
@@ -59,7 +50,6 @@ genfscon sysfs /devices/0306_02.01.00/wakeup
genfscon sysfs /devices/platform/goodix_ts.0/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/171c0000.slim/tavil-slim-pgd/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/17300000.qcom,lpass/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/18800000.qcom,icnss/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/188101c.qcom,spss/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/1c00000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/1101_00.01.00/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/1c10000.qcom,pcie/pci0002:00/0002:00:00.0/0002:01:00.0/0306_02.01.00_EFS/wakeup u:object_r:sysfs_wakeup:s0

View File

@@ -2,3 +2,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)

View File

@@ -1,2 +1,2 @@
r_dir_file(hal_bluetooth_default, vendor_wifi_vendor_data_file)
allow hal_bluetooth_default vendor_diag_device:chr_file { read write };
allow hal_bluetooth_default vendor_diag_device:chr_file { open read write ioctl getattr };

6
sepolicy/vendor/hal_dms.te vendored Normal file
View 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
View 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)

View File

@@ -13,6 +13,7 @@ allow hal_fingerprint_default {
}:chr_file rw_file_perms;
set_prop(hal_fingerprint_default, vendor_fp_prop)
set_prop(hal_fingerprint_default, vendor_system_prop)
# Allow fp HAL to sent hint
hal_client_domain(hal_fingerprint_default, hal_power)
@@ -27,3 +28,6 @@ allow hal_fingerprint_default vendor_sysfs_graphics:file r_file_perms;
allow hal_fingerprint_default vendor_sysfs_spss:dir { search };
allow hal_fingerprint_default vendor_sysfs_spss:file { open read };
allow hal_fingerprint_default sysfs_touchpanel:dir search;
allow hal_fingerprint_default sysfs_touchpanel:file rw_file_perms;

View File

@@ -2,3 +2,6 @@ get_prop(vendor_hal_neuralnetworks_default, vendor_adsprpc_prop)
# Allow vendor_hal_neuralnetworks_default to read fastrpc_shell_3
allow vendor_hal_neuralnetworks_default public_adsprpcd_file:file r_file_perms;
# b/159570217 suppress warning related to zeroth.debuglog.logmask
dontaudit vendor_hal_neuralnetworks_default default_prop:file { open read };

View File

@@ -1,7 +1,5 @@
binder_call(hal_power_default, hal_graphics_composer_default);
type sysfs_msm_subsys, sysfs_type, fs_type;
allow hal_power_default vendor_sysfs_kgsl:lnk_file rw_file_perms;
allow hal_power_default {
@@ -14,7 +12,6 @@ allow hal_power_default {
proc
sysfs_devices_system_cpu
sysfs_fs_f2fs
sysfs_msm_subsys
vendor_sysfs_devfreq
vendor_sysfs_graphics
vendor_sysfs_kgsl
@@ -31,7 +28,6 @@ allow hal_power_default {
allow hal_power_default {
sysfs_fs_f2fs
sysfs_msm_subsys
vendor_sysfs_devfreq
}:dir search;

View File

@@ -15,9 +15,6 @@ r_dir_file(hal_power_stats_default, sysfs_iio_devices)
# Needed to traverse platform low power stats
r_dir_file(hal_power_stats_default, sysfs_power_stats)
# Needed to traverse subsystem low power stats
r_dir_file(hal_power_stats_default, sysfs_msm_subsys)
# The following folders are incidentally accessed by hal_power_stats_default and are not needed.
dontaudit hal_power_stats_default sysfs_power_stats_ignore:dir r_dir_perms;
dontaudit hal_power_stats_default sysfs_power_stats_ignore:file r_file_perms;

Some files were not shown because too many files have changed in this diff Show More