[KERNEL][03/13/2022] fsociety tribute for Google Pixel 4a [A11-A12/L]

Search This thread

momojuro

Senior Member
Jan 15, 2014
595
1,078
Samsung Galaxy A30
Google Pixel 4a
Hello friends,

New update is up! Thanks to my Telegram testers for their useful feedback and reports.

Changelog

fsociety tribute stable#1.90

Thanks to everyone involved in the following changes:
  • Android 12 official support with stock A12 kernel changes
  • Merge branch android-msm-sunfish-4.14-android11-qpr3 (July 2021 security patch - thanks to engstk)
  • Makefile: Prohibit VLA *
  • proc: cmdline: Patch SafetyNet flags (The device passes bootloader SafetyNet check - thanks to sultanxda & kdrag0n)
  • PM: sleep: Don't allow s2idle to be used (enforce the default deep sleep mode because s2idle is buggy - thanks to sultanxda)
  • clk: qcom: gpucc-sdmmagpie: Undervolt the GPU (thanks to lybxlpsv on Github)
  • Revert "defconfig: Enable the BPF JIT compiler" (to fix gaming lag issues) **
  • Revert "rcu: Speed up calling of RCU tasks callbacks" (it caused kernel panics)
  • Revert "qcacmn: Disable all of qdf_trace when WLAN_DEBUG is disabled"
  • Revert "mm: wakeup kswapd for order-0 allocation"
  • VFS: use synchronize_rcu_expedited() in namespace_unlock() (statiscally faster filesystem unmounting time)
  • qcacld-3.0: Fix regulatory domain country names. (thanks to kdrag0n)
  • sched: fair: Tune scheduler capacity margins for sm7150-ab (thanks to KenHV on Github)
  • sched/fair: Revert Google's capacity margin hacks (they aren't needed anymore - thanks to sultanxda)
  • sched/fair: Allow load bigger task load balance when nr_running is 2
  • sched/fair: Optimize test_idle_cores() for !SMT
  • sched/fair: Fix unnecessary increase of balance interval
  • sched/fair: Trigger asym_packing during idle load balance
  • sched/fair: Fix rounding bug for asym packing
  • sched/core: Optimize try_to_wake_up() for local wakeups
  • sched/core: Fix preempt warning in ttwu
  • soc: qcom: watchdog_v2: Fix memory leaks when memory_dump_v2 isn't built (thanks to sultanxda)
  • soc: qcom: Remove tracing (thanks to celtare21 on Github)
  • UPSTREAM: psi: eliminate kthread_worker from psi trigger scheduling mechanism
  • BACKPORT: cgroup: make per-cgroup pressure stall tracking configurable
  • arm64/dts: sdmmagpie: Disable per cgroup tracking via psi (for less system overhead and better performance - thanks to Freak07)

* This Linux upstream change makes the kernel more secure and less bloated code wise.

More info here: https://www.phoronix.com/vr.php?view=Linux-Kills-The-VLA

** Enabling the BPJ JIT compiler was supposed to bring better performance, but it had the opposite effect for some games.


Download & Links
 

momojuro

Senior Member
Jan 15, 2014
595
1,078
Samsung Galaxy A30
Google Pixel 4a
Hello friends,

FIrst of all, I would like to thank @Chrisnetika for their second donation. It is highly appreciated and I cannot express my gratitude enough for their kindness. I would also like to thank my testers on Telegram for their patience and cooperation.

Changelog

fsociety tribute stable#1.95

Thanks to everyone involved in the following changes:
  • Implement the latest ARM64 architecture patches
  • Merge tag 'android-11.0.0_r0.99' into techpack/audio (Aug. 2021 security patch)
  • Merge tag 'android-msm-4.14-s-beta-3' changes (Android 12 beta 3)
  • defconfig: Properly disable CONFIG_FAIR_GROUP_SCHED (as A12 stock kernel's change)
  • defconfig: Set CONFIG_DISABLE_TRACE_PRINTK (again)
  • Bring back the automatic compaction mechanism implemented in the #1.70 private build
  • mm: compaction: Run ZRAM compaction on automatic compaction
  • Switch back to lz4 zRAM compression algorithm
  • treewide: Suppress overly verbose log spam *
  • thermal: step_wise: Apply some CAF patches
  • drm/msm: add stub API for drm msm event notification
  • drm/msm/dsi-staging: Fix memory leak in drm_panel_get_timings() *
  • cpuidle: lpm-levels: Fix panics when CONFIG_MSM_IDLE_STATS=n *
  • cpuidle: lpm-levels: Allow exit latencies equal to target latencies *
  • drm/msm/sde: Skip unneeded register reads when getting write line count *
  • msm: ipa_v3: Mitigate usleep_range calls
  • Revert "msm: ipa_v3: block ipa_ws wakelocks"
  • Revert "msm: ipa_v3: Do not acquire wakelocks"
  • drivers: ipa_v3: Conditionally compile out ipa wakelock code
  • power/wakelock: Add a timeout to wakelocks globally
  • qcacld-3.0: Do not allow any wakelocks to be held
  • thermal_core: Use power efficient workqueue
  • sched/core: Use SCHED_RR in place of SCHED_FIFO for all users
  • sched/core: Fix rq clock warning in sched_migrate_to_cpumask_end()
  • drm/msm/dsi-staging: Fix transposed panel_switch and panel_post_switch *
  • mailbox/qcom-rpmh: Do not spam logs with busy TCS states
  • power/google: sm7150_bms: Silence logspam when charger is connected
  • gpio: Remove VLA from gpiolib
  • tty: okl4_vtty: remove VLA usage
  • Revert "drm/msm/sde: Wait for ctl_start asynchronously on cmd mode panels" *
  • Revert "pinctrl: msm: Remove explicit barriers from mmio ops where unneeded" *
  • Misc. building changes

    * Credits go to sultanxda
Download & Links
 
Last edited:

momojuro

Senior Member
Jan 15, 2014
595
1,078
Samsung Galaxy A30
Google Pixel 4a
Hello friends,

Today's new update!

Changelog

fsociety tribute stable#1.97
  • drm: Reduce latency while processing atomic ioctls (thanks to sultanxda)
  • drm/msm/sde: Remove remaining PM QoS usage
  • Set zRAM disksize to 4GB according to Qualcomm's default value
Download & Links
 
  • Like
Reactions: Slim2none4u

Chrisnetika

Member
Jan 16, 2021
37
11
Google Pixel 4a
The exFAT drivers are built-in the kernel, but the partition mounting isn't being done by the ROM.
ohh? so frankly just need figure out fsck to mount it right? but that would mean editing system partition right? So in other words a magisk addon would been needed. It ok tho, simple solution is format my drive to fat32.Seems to be working between pc and phone so far.
 

momojuro

Senior Member
Jan 15, 2014
595
1,078
Samsung Galaxy A30
Google Pixel 4a
ohh? so frankly just need figure out fsck to mount it right? but that would mean editing system partition right? So in other words a magisk addon would been needed. It ok tho, simple solution is format my drive to fat32.Seems to be working between pc and phone so far.
The easiest and seamless solution would be to format the drive to FAT32 indeed!
 

momojuro

Senior Member
Jan 15, 2014
595
1,078
Samsung Galaxy A30
Google Pixel 4a
  • Like
Reactions: Chrisnetika

momojuro

Senior Member
Jan 15, 2014
595
1,078
Samsung Galaxy A30
Google Pixel 4a
Hello friends,

Here is today's new update! I would also like to dearly thank @CSmaug for their kind donation.

Changelog

fsociety tribute stable#1.98
  • Merge tag 'android-msm-4.14-s-beta-4' changes (Android 12 beta 4)
  • defconfig: Enable support for TTL spoofing (for those who could be interested in bypassing their carrier's hotspot throttle)
  • msm: ipa3: Use read memory barrier before reading events
  • Revert "drm: Reduce latency while processing atomic ioctls"
  • Revert "sched/core: Use SCHED_RR in place of SCHED_FIFO for all users"
  • fs: f2fs: Remove CAF tracing
  • fs: f2fs: Remove remaining CAF tracing code
  • drivers: msm: qcedev: demote additional dmesg spam to pr_debug
Download & Links
 

momojuro

Senior Member
Jan 15, 2014
595
1,078
Samsung Galaxy A30
Google Pixel 4a
Hello friends,

Here is today's new update! I would like to thank everyone involved in the following changes, and to my testers from the Telegram group.
There were no security patches for A11, but they were instead for A12 beta 5.

Changelog

fsociety tribute stable#1.99
  • Merge 'android-s-beta-5' tag's changes (Android 12 beta 5) along with its security patches
  • Merge 'android-s-beta-3_r0.3' and 'android-s-beta-4_r0.3' tags' changes to the audio drivers
  • Merge 'android-s-beta-4_r0.3' tag's changes to the WiFi driver
  • Update AnyKernel3 to 20210910 version
  • makefile: remove some clang13 spam
  • Set zRAM's page-cluster to 0 per Google's recommendation, but it's to reduce the latency rather than saving memory. x
  • Set zRAM's disksize from 4GB to 2.7GB because the former was too high. A (450% x our device's RAM (6GB) calculation was preferred, and resulted in 2.7GB). xx
  • Revert "drm/msm/dsi-staging: Fix transposed panel_switch and panel_post_switch"
  • Revert "qcacmn: Enable EAPOL/DHCP message tracing in Wifi driver"
  • qcacmn: Fix suspicious string concatenation warning in fwlog
  • qcacld-3.0: Disable ATHDIAG procfs debug support for Adrastea
  • qcacld-3.0: default_defconfig: Unset some debugging configs
  • qcacld: reduce log spam
  • Revert "cpuidle: Change idle policy to always enter C1 first" for battery life purposes
  • cpuidle: lpm-levels: Only cancel the bias timer when it's used
  • treewide: Silence more verbose logging
  • Under-the-hood scheduler improvements
  • Memory management updates
  • Implement arter97's changes to the msm serial driver which fix a possible runtime power management malfunction
  • cpufreq: schedutil: Don't set next_freq to UINT_MAX.
  • cpufreq: schedutil: Don't skip freq update when limits change
  • msm: kgsl: Report correct GPU frequency in sysfs
  • iommu: msm: Rewrite to improve clarity and performance
  • ion: Rewrite to improve clarity and performance
  • f2fs: reduce timeout for uncongestion
  • f2fs: Set uncongestion timeout for 250 Hz timer frequency

    x More info here: https://source.android.com/devices/tech/perf/low-ram and https://github.com/ecdye/zram-config
    xx Calculation equation taken from: https://github.com/ecdye/zram-config
Download & Links
 

vassosman

Senior Member
  • Like
Reactions: Slim2none4u

Top Liked Posts

  • There are no posts matching your filters.
  • 17
    7IatM5l.png

    Hello, friend.

    Inspired by @wrongway213's original custom kernel for Pixel 4/XL, I decided to make my own project once I grab my hand on a Google device myself. The naming is a tribute to both his ideas and Mr. Robot. fsociety tribute's goal is to give the device a set of useful features while ensuring its stability for a daily life usage. Those features and changes are pulled from different places like blu.spark, Sultan kernel, Kirisakura and many more.

    Features

    General features

    • Built with Google Clang version 14.0.2 + LLD linker
    • Full -O3 build with chipset's flags included (thanks to @eng.stk and @Sultanxda)
    • AnyKernel3 powered installation to stay OTA and flashers (EXKM, FKM...) friendly
    • ARM64 architecture optimization and performance patches
    • Merged security and code fixes from Google and Qualcomm - CAF
    • Filesystem (ext4/f2fs) optimizations
    • Scheduler code improvements for better CPU tasks assigning
    • Disabled several debugging cruft
    • WireGuard support
    Memory related features
    • Merge zRAM and zRAM's compression algorithm code updates
    • Increase zRAM's disksize to 4GB (from the stock 2GB). Apps can be easily memory intensive nowadays...
    • Swap 1 page at a time instead of the default's 8, so that it may help in case "the device is under extreme memory pressure"
      (source: https://source.android.com/devices/tech/perf/low-ram)
    • Reduce memory and CPU time usage by avoiding dynamic memory allocations in different kernel components (thanks to @arter97 and @Sultanxda)
    Network related features
    • Set BBR as the default TCP network congestion control and switch to fq_codel queue discipline
      (this combination improves network speed and reliability - thanks to @kdrag0n)
    • Enable support for TTL spoofing
    • Update Wireguard to its latest release
    Power-saving related features
    • The processor uses freq-energy-model with calculated capacities for power efficiency
    • Some of the main kernel parts (such as the audio drivers and the WLAN driver's delayed work/tasks) now use power-efficient workqueues (thanks to @Freak07)
    • Display "power-saving tweaks" merged-in (from Proton kernel - Pixel 4a 5G/Pixel 5)
    • Reduce the GPU idle timeout set to 58 ms and implement GPU power-saving changes from Sultan kernel
    • battery: Tweak QG SOC to be more linear/monotonic (from Proton kernel)
      That fixes the stock kernel's unlinear battery level curve, especially between 100% and 90%. The device will need a few charge-discharge cycles to take it into consideration
    Performance related features
    • Implement LRNG for better performance
    • Disable the GPU memory usage tracing (which was enabled for debugging purposes)
    • Return before thermal trip evaluates (it is a workaround for the lag occurring when the device is low on battery and automatically switches to battery saving mode)
    • Other under the hood changes
    Extra features
    • KCAL Color Control with KLAPSE v5.0 support (thanks to @savoca, @tbalden, @flar2 and @eng.stk)
    • Backlight min. brightness and HBM option (thanks to @flar2)
    • Boeffla Wakelock Blocker (to use with caution, and only if it is necessary)
    Download & Links

    Credits go to
    • @eng.stk for their clean sourcedrops' bases, their personal pieces of advice and also for their contributions
    • @wrongway213 for inspiring me to achieve this project, their precious free time and also for their contributions (especially this thread template)
    • @Freak07 for his guidance in solving my first kernel compiling issues and for his amazing contributions
    • @arter97 for his contributions
    • @kdrag0n for Proton kernel and their innovative contributions
    • @osm0sis for AnyKernel3 and his contributions
    • @Sultanxda for their outstanding contributions
    • @Kaz205 for their contributions
    • @flar2 for his contributions
    • @HolyAngel for HolyDragon kernel and their contributions
    • @pkgnex for his tuning script and contributions
    • @nathanchance for his compilation guides and repos

    Thanks to
    • @badaas, @beeshyams and all my Telegram's group members for being the awesome testers they are
    • Every person that submitted a donation and showed me their support!

    XDA:DevDB Information
    fsociety tribute for Pixel 4a, Kernel for the Google Pixel 4a

    Contributors
    momojuro
    Source code: Github repository

    Kernel Special Features: Boeffla Wakelock Blocker, KCAL, KLAPSE, Wireguard

    Version Information
    Status:
    Stable
    Current Stable Version: 2.66 (A12) - 2.62 (A11)
    Stable Release Date: 2022-03-13

    Created 2021-04-06
    Last Updated 2022-03-13
    11
    Hello friends,

    First of all, my apologies for those who gave me their requests/questions above. I was not able to answer them on time, but I am glad that blu_spark and HolyDragon kernels' maintainers were able to give you their replies.
    It's with bitterness that I am writing the following words as I decided to stop working on the project. Due to personal reasons, I am no longer able to maintain it updated. I am keeping the source code available, and I am open to any discussion related to the Pixel 4a's kernel development. The Telegram group will also stay open if needed. Finally, I would like to thank everyone that has been involved in fsociety tribute, from the developers, to the testers and the donators.
    9
    Hello friends,

    New update is up! Thanks to my Telegram testers for their useful feedback and reports.

    Changelog

    fsociety tribute stable#1.80

    Thanks to everyone involved in the following changes:
    • Fix an occasional kernel panic that had been affecting the previous versions
    • Revert "mm: compaction: Add automatic compaction mechanism"
    • Revert "qcacld-3.0: use power efficient workingqueue"
      (was causing higher idle battery drain due to its conflict with qcom_rx_wakelock disable)
    • Remove USB2 Fast Charge support
    • Add Haptic Feedback level Control w/ FPR Haptic Feedback Control support
      (thanks to engstk for their original work)
    • dsi: panel: add in-driver ULPS enabling (thanks to tbalden for their original work)
    • gpu: msm: Remove tracing
    • msm: camera: Stub out the camera_debug_util API and compile it out
    • cpuidle: enter_state: Don't needlessly calculate diff time
    • Revert "power: Reduce debug logging if logbuffer is still enabled"
    • defconfig: Disable Google logbuffer
    • defconfig: Set DISABLE_TRACE_PRINTK
    • defconfig: Disable Memory Dump driver
    • defconfig: Disable unnecessary errata
    • defconfig: Unset a bunch of debugging options
    • defconfig: Disable some sleep states debugging configs
      (thanks to Freak07 for their work)
    • qcacmn: Remove leftover debug function
    • arm64: vdso: Compile vDSO at O3 with Clang
    • arm64: dts: sdmmagpie: Disable debug monitoring
    • arm64: dts: sdmmagpie: Disable expedited RCU grace periods
    • arm64: dts: msm: disable kpti on sdmmagpie
    • arm64/dts: qcom: Disable CoreSight DT entries for sdmmagpie
    • hwtracing: coresight: Add entries from sdmmagpie-coresight
    Download & Links
    8
    Hello friends,

    I don't even know where to start, but I would like firstly to express my gratitude to my testers on the Telegram that have been giving me their support, and also their suggestions and feedback. I would also thank @eng.stk because his consistent work allowed me to gain back my motivation, and do my best for this new release.

    Changelog

    fsociety tribute stable#2.00
    • fsociety tribute has got now separate releases for Android 12 and Android 11 (thanks to engstk for providing the kernel sources)
    • Android 12 build has December 2021 security patches merged-in
    • Update AnyKernel3 to its latest release
    • Implement power management and code fixes for the UFS driver from CAF
    • Implement Adreno GPU drivers' security and code fixes from CAF
    • Wireguard's updates are checked and done automatically during the kernel's compilation (thanks to Freak07)
    • Set BBR as the default TCP compression algorithm and switch to fq_codel queue discipline
      (this combination improves network performance)
    • block: Replace zen I/O scheduler with cfq I/O scheduler
    • block: use ktime_get_ns() instead of sched_clock() for cfq and bfq
    • block: Set slice_idle to 0 on cfq (mobile devices are non-rotational)
    • block: blkdev: Set QUEUE_FLAG_NONROT by default
    • Revert the upstream ARM64 architecture patches because they ended up causing the device to bootloop,
      but safe patches were added; To cite a few:
    • arm64: Align __arch_clear_user() to 16 bytes as per upstream
    • arm64: Use 16 bytes optimized memcmp
    • arm64: bpf: optimize modulo operation
    • arm64: crypto: Correct march to 8.2-a
    • Revert the read-ahead and nr_requests' values to stock (less latency is preferred over statistical performance)
    • Change fsociety tribute tuning script's execution delay to 60 seconds during post-boot time for better reliability
    • Set back the timer frequency to 300Hz and adapt f2fs' uncongestion timeout accordingly
    • Fix stock's suspend errors and avoid a kernel crash from possible excessive logging of the binder driver
    • Use buffer from the stack space in different components of the kernel to avoid overhead (thanks to sultanxda and arter97)
    • msm: camera: Kill the vsync notification driver
      (it was responsible for 30% kernel CPU usage while using the camera - thanks to sultanxda)
    • Revert sultanxda's kernel components (ashmem, iommu, ion) rewrites
    • Revert arter97's zRAM optimizations
    Download & Links
    8
    Hello friends,

    FIrst of all, I would like to thank @Chrisnetika for their kind donation. It was heartwarming and definitely helped to cheer myself up. I would also like to thank my testers on Telegram, especially @beeshyams who has been working with me the whole month to make sure of today's update stability.

    Changelog

    fsociety tribute stable#1.65

    Thanks to everyone involved in the following changes:
    • treewide: Merge tag 'android-11.0.0_r0.85' of
      https://android.googlesource.com/kernel/msm (June 2021 security patch)
    • Merge fixes from CAF
    • Merge security fixes from GrapheneOS
    • wireguard: Update to version 1.0.20210606
    • Implement josenk's srandom driver (faster than random and urandom - https://github.com/josenk/srandom)
    • Implement zRAM deduplication with arter97's changes
    • mm: compaction: Add automatic compaction mechanism
    • techpack: audio: Merge last update
    • mbcache: Speed up cache entry creation
    • msm/sde/rotator: Remove unneeded PM QoS requests
    • drm/msm/sde: Remove unneeded PM QoS requests
    • msm: kgsl: Remove L2PC PM QoS feature
    • scsi: ufs: Add sultanxda's simple IRQ-affined PM QoS operations
    • scsi: ufs: Scrap Qualcomm's PM QoS implementation
    • qcacld-3.0: use power efficient workingqueue
    • qcacld-3.0: Nuke as much debug bloat as possible
    • qcacmn: Disable all of qdf_trace when WLAN_DEBUG is disabled
    • sched: fair: consider all running tasks in cpu for load balance
    • cpuidle: don't disable cpuidle when entering suspend
    • defconfig: Disable EDAC
    Download & Links