Changelogs For ProjectBlaze 3.8 EOL - Synced Latest Blaze v3.8 changes - September security patches - Added leica cam 4.9 support for mod devices (Mi11x,Redmi k40) credits to @Eidoron1 - Cleanup useless logspam by powersave governor - Enable ro.hwui.render_ahead * Rendering ahead makes some animations handling better (especially qs pulldown on a13 qpr2) - Push 120 FPS for ScreenRecorder * Our Device is with 120hz display and Snapdragon 870 5G, there is no reason to lock on 60fps - Set wide color display prop to false * Fixes yellowish tint in Google-Photos - Tune bmps listening interval *Tune the BMPS listening interval for the moderate power level to achieve power savings during wifi idle. - Enable Optimized Power Management - This config was renamed as of CLO commit [1] and [2]. [1]: https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/-/commit/10989ba3769cab220d7df5b03a967cb13401552c [2]: https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/-/commit/9ef1447db30d2d6ef0069258d62a8fbf10cba29d - Set debug.sf.auto_latch_unsignaled to 0 * Need to explicitly set auto_latch_unsignaled property to disabled state to keep latch-unsignaled as the default behavior. - Enable WiFi calling over IMS - Start audio rpc daemon early to improve performance * Audio HAL initialization relies on rpc daemon to load dynamic libs, if daemon is not ready when HAL tries to load libs, HAL has to wait until that finished. Start this daemon early can smooth boot up of audio HAL process, as this can save time for dynamic libs loading. - Powerhint: Set top-app schedtune boost to 1 - Sepolicy: Label ro.vendor.oem.meid prop * Unable to set property "ro.vendor.oem.meid" to "99001728682382": error code: 0x18 - Sepolicy: Address Wi-Fi HAL denial * W libc : Access denied finding property "persist.vendor.debug.wifi.hal.preset_interface_combination_idx" - 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 default density to 420. looks better - Hide dac_override spam - Disable intrusive gms components * these processes were not allowed to run in background and yet they still persist everytime causing logspam and unnecessary broadcast, we may want to disable "GmsIntentOperationService" but some users on xda reported broken notifications on stuffs like google keep and maybe other google apps that relies on GmsIntentOperationService broadcasts. 07-24 09:29:26.041 2997 5548 W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.stats.service.DropBoxEntryAddedReceiver 07-24 09:29:26.042 2879 2879 I Zygote : Process 8201 exited due to signal 9 (Killed) 07-24 09:29:26.043 2997 3023 W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.chimera.GmsIntentOperationService$PersistentTrustedReceiver (testing, do let me know if anyone faces issues wiht google apps notification delays) - Remove configs that do not exists. - Disable pocket lock and light sensor * Since we don't have proximity sensor, its useless. Lets just disable it to save power - Use the new auto network selection UI - Many more improvements for better bb and smoothness Changelogs For ProjectBlaze 3.7 - Synced Latest Blaze v3.7 changes - leica app fallback to 4.9 * fixed front portrait - Added dolby valume leveler and serround virtualizer - Added battery cycle count in battery settings - Allowed HFR for Miui Camera * Add Miui Camera to the list of package IDs that are allowed to skip camera high frame rate checks. - Override cgroups.json & task_profiles.json * In order to allow uclamp kernels to place tasks correctly - Set zram to 30% from entire RAM - 50% is big amount which I don't track to be loaded even in half in various big apps multitasking - Zram is good for multitasking, but we need to handle heavy apps also, so let's decrease following amount to benefit from regular RAM - Fixed permissions for PowerHAL * W libperfmgr: Failed to write to node: /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq with value: XXXXX fd: -1 W libperfmgr: Failed to write to node: /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq with value: XXXXX fd: -1 - Stop trying to set ro.sf.lcd_density prop * It's wrong because we have devices with different screen densities, and does not work: W libc : Unable to set property "ro.sf.lcd_density" to "480": error code: 0xb - Remove legacy ril-daemon and vendor.ril-daemon rules * W libc : Unable to set property "ctl.stop" to "vendor.ril-daemon": error code: 0x20 - Address persist.hydra.mem_trace denial * Access denied finding property "persist.hydra.mem_trace" - Use prebuilt gralloc libs * Fixes the following issue: 08-27 00:14:33.062 1022 1257 E qdgralloc: GetGpuPixelFormat: No map for format: 0x38 08-27 00:14:33.062 1022 1257 E AdrenoUtils: : Unknown Format 0 08-27 00:14:33.062 1022 1257 E AdrenoUtils: : Memory Layout input parameter validation failed! 08-27 00:14:33.062 1022 1257 E qdgralloc: GetGpuResourceSizeAndDimensions Graphics metadata init failed 08-27 00:14:33.062 4181 4538 E GraphicBufferAllocator: Failed to allocate (1 x 1) layerCount 1 format 56 usage 100: 1 08-27 00:14:33.062 4181 4538 E AHardwareBuffer: GraphicBuffer(w=1, h=1, lc=1) failed (Unknown error -1), handle=0x0 - Drop SUSTAINED_PERFORMANCE * This sometimes keeps the CPU frequencies locked at the set limit even when it's not needed, i.e. playing videos which need hardware decoder, leading to increased power draw, battery drain and heat. Drop SUSTAINED_PERFORMANCE tick from powerhint and let the CPU ramp up it's frequencies when needed, i.e. on demand to counteract the said issue. - Auto brightness adjustment * Make auto brightness more stable, prevent the brightness from jittering repeatedly in dim environment. - Enable ro.audio.monitorRotation * Adjusts stereo speaker according to device orientation. - Disable DRC * DRC is audio policy to 'compress' volume table, which causes low max volume. Disable it for now - Use limited alpha & fading marquee * Completely eliminates occasional jank in few animations - Disable vsync for CPU rendered Apps * Choreographer VSync has some performance impact for CPU rendered apps as the app has to wait for VSync to start a new frame draw. When the frame draw time exceeds one VSync, this has a direct impact on the FPS. debug.cpurend.vsync property controls the VSync for CPU rendered apps. Disable VSync for CPU rendered app, by setting this property to false. Changelogs For ProjectBlaze 3.7 - Synced Latest Blaze v3.7 changes - Merged August ASB - Fully Rebased common device tree - Dropped old style HBM and DC dimming and their kernel based implantation - Introducing new HBM and DC dimming. Credits @EmanuelCN - Use game thermal as fallback for GameSpace's listed apps * This will apply the "gaming" thermal preset to the app that listed at GameSpace's library, but aren't yet configured by user on thermal settings. With this behavior, we can get saner default on gaming scenarios without having to force user choice. - Reverted TOGGLEABLE_TILE in Dirac for now - Moved thermal profiles to system settings * let's not pollute our beautiful battery settings menu - Added thermal profiles tile * Launches ThermalActivity - Tuned zram performance *Switch to LZ4 for better overall performance - Set zram size to 50% of total ram * As recommended by CAF - Silenced some spammy logging - Allowed more cached apps in the background - Increased wifi max bss count - Enabled wifi QPower and Deep sleep at the same time * This enables Deep Sleep mode, additionally to QPower * With this configuration, QPower manages the new Deep sleep mode -> Leads to amazing power savings - Enabled automatic channel selection * Automatic Channel Selection algorithms and implementations are used to enable interfaces to automatically figure out which channel configuration to use for initiating communication, for any mode of operation which initiates radiation (AP, Mesh, IBSS, P2P). - Enabled support for IEEE80211AC * This is to allow supporting GO with 11AC support. - Enabled support for IEEE80211AX * This is to allow supporting WiFi 6 mobile hotspots, to be noted this is only supported on SDM855+ platforms. - Many Wifi improvments - Smarter wifi decisions on whether to use 2/5Ghz AP * Implement a smarter system on whether to connect to the provided 2Ghz or 5Ghz network - Switch gEnablePowerSaveOffload to 5 *This should improve VoIP calls performance - Removed TxPower2g and 5g, because they weren't been used - Addressed telephony denials - Suppress warning related to NNAPI HAL accessing zeroth.debuglog.logmask - Disable QCOM system daemon * For factory use only and has real performance costs. - Remove unnecessary QTI logkit directories * We do not use logkit - Strip off some debug packages * Ref: https://source.android.com/devices/tech/dalvik/configure#compilation_options Q: PRODUCT_MINIMIZE_JAVA_DEBUG_INFO wth does this do? A: https://android.googlesource.com/platform/build/+/master/target/product/go_defaults_common.mk#68 - Address batterysecret denial * Even MIUI provides create file permission. - Update pinner configuration * Pin critical graphics libraries Inspired from AOSPA/android_vendor_aospa@c33cdcb - Set readahead_size_kb=128 to main partitions *To avoid memory pressure - Offload WM shell to another thread * Android 12 added this config to offload some window management to a dedicated thread. Enable it to improve performance when the main System UI thread is busy. - Set default wifi country code to '00' * By default, AOSP uses the 'US' country code for wifi. When a SIM is present, Android can check the correct country (using information from the SIM itself) and it can set the correct country code. However, if no SIM is present or if the phone is in airplane mode, Android will just use 'US' as country code and it will disable access to a lot of frequencies. To bypass this issue, set the default country code to '00': this is the "world regulatory domain" and it contains generic settings. When a SIM is inserted, Android will overwrite the default setting with the correct country code. Copy from Google: https://android.googlesource.com/device/google/crosshatch/+/12b500667e5440345a7bd8237c38fa2839329c11/init.hardware.rc#524 - Don't pin launcher app in memory * Similar to what we did for the camera app, unpin the launcher app from memory as well. While the default launcher (Launcher3) isn't particularly big, it doesn't make much sense to pin because the launcher does not typically load new resources much. Most of its resources should already be loaded in memory after it starts, so pinning the APK is redundant. NB: The value has been changed to false instead of removing it entirely because we need to override the config set by overlays in the prebuilt vendor image. - Change all three default haptic levels to high * Test: verify default haptic levels set to high on r4 - Enable suspend to RAM * Improves idle drain considerably - Bind mount Wifi Aware feature permissions. * Fixes issues when GPS and Wifi are switched on simultaneously. * Also kills logspam regarding NAN. - Wifi: set inactivity time * Wait for 1 second to let wifi driver do complete clean reset of SW/HW. Test: perform watchdog recovery and success - Extend gInterfaceChangeWait to 2 seconds for avoid crash when "adb reboot" * Test: "adb reboot" test more than 4000 times and not hit crash as b/131123423 Wifi work normally after the same test. - Props: RIL edits for battery life * Changed “ro.ril.disable.power.collapse” value to zero. Seems to be a debate on what value is more effective but after more reading and testing found that a value of “0” shows more improvement. Have also added “ro.mot.eri.losalert.delay=1000 “ that helps smooth out disconnects and reconnects, saving battery. - Add some libraries to pinner list * Add some librart which will load during camera launch to reduce camera launch time in I/O busy case. - Overlay: Frameworks: Update pinner configuration * Drop unused 32-bit libs. Drop RS libs as they're deprecated since 12. Add few adreno (EGL) libs, taken from MIUI. Add libipebpsstriping170 for yupik camx. - Reduced aod brightness value - Silence OpenGLRenderer logspams - props: Add more props for battery saving - props: Clean up useless logspams - Update Adreno to LA.UM.9.14.r1-20200-LAHAINA.QSSI13.0 - Update adreno blobs from LA.VENDOR.1.0.r1-16000-WAIPIO.QSSI13.0 - overlay: Tune max notification icons visible * Ref: - AOSPA/android_device_xiaomi_marble@3db7e76. - AOSPA/android_device_xiaomi_marble@7d57769. - Powerhint: Set to powersave governor when device is idle * This should help improve drains while device on idle - Disabled VT * Avoid unexpected hangups due to failure to establish a connection - Switched to common libqti-perfd-client and power-libperfmgr - Added advanced debugging tools to get logs even in userdebug/user builds Changelogs For ProjectBlaze 3.6 Build Date: 13/07/2024 - Synced Latest Blaze v3.6 changes - Merged July ASB - DT2W fixed - Fixed Omx Ac3 decoders - Lecia camera and Dolby Atmos Included - Leica updated to 7.5 - Both Vannila and Gapps Variant available - Reworked trees - Compiled with Redline kernel - Many under the hood fixes and improvements