• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[KERNEL][09/11/2021] fsociety tribute for Google Pixel 4a [A11/A12]

Search This thread

momojuro

Senior Member
Jan 15, 2014
542
905
Samsung Galaxy A30
Google Pixel 4a
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
  • Built with Google Clang version 13.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
  • Latest ARM64 architecture patches
  • CAF patches and fixes
  • The device passes bootloader SafetyNet check
  • Security fixes from GrapheneOS
  • VLA-free kernel
  • Powersaving workqueues enabled by default
    (thanks to @Freak07)
  • CPU uses freq-energy-model with calculated capacities
  • Disabled several debug and logging options
  • 250 Hz timer frequency
  • Implement Sony LowMemoryKiller TNG from 55.0.A.11.25 update
  • Implement josenk's srandom driver (faster than random and urandom)
  • Implement zRAM deduplication with arter97's changes and automatic compaction
  • BBR v2 set as the default TCP network congestion control
  • ZEN v2 set as the default I/O scheduler with slight changes
    (read-ahead set to 512 for specific blocks)
  • GPU idle timeout set to 64 ms
  • KCAL - Advanced color control for Qualcomm MDSS v2
    (RGB calibration and post-processing features)
  • KLAPSE v5.0 support
  • Backlight min. brightness and HBM option (thanks to @flar2)
  • Boeffla wakelock blocker enabled
  • Haptic Feedback level Control w/ Fingerprint Haptic Feedback Control support
    (thanks to @eng.stk)
  • exFAT filesystem support
  • TWRP support (LZMA/LZ4 ramdisk)
  • WireGuard support
  • Other misc. optimizations and fixes

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 their guidance in solving my first kernel compiling issues and for his amazing contributions
@arter97 for their contributions
@kdrag0n for Proton kernel and their innovative contributions
@osm0sis for AnyKernel3 and their contributions
@Sultanxda for their outstanding contributions
@flar2 for their clean contributions
@HolyAngel for HolyDragon kernel and their contributions
@tytydraco for their contributions
@pkgnex for their tuning script and contributions
@nathanchance for their compilation guides and repos
@badaas for being a great tester
@beeshyams for being an awesome tester as well

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

Contributors
momojuro
Source Code: https://github.com/fsociety-tribute/pixel4a

Kernel Special Features: Boeffla Wakelock Blocker, KCAL, KLAPSE, Wireguard, Haptic Feedback level Control, Fingerprint Haptic Feedback Control

Version Information
Status:
Stable
Current Stable Version: 1.99
Stable Release Date: 2021-09-11

Created 2021-04-06
Last Updated 2021-09-11
 
Last edited:

momojuro

Senior Member
Jan 15, 2014
542
905
Samsung Galaxy A30
Google Pixel 4a
Changelog

alpha#1.00
  • Initial release
alpha#1.01
  • Reverted some under the hood commits to prepare for future updates
  • Different cpuidle fixes and optimizations (thanks to @wrongway213)

    Thanks to @eng.stk for these changes:
  • Merge branch android-msm-sunfish-4.14-android11-qpr2 (Apr 2021.1)
  • BACKPORT: GKI: hwtracing: Add a driver for disabling coresight clocks (backport from Pixel 5, less idle draw)
  • Revert the latest merged CAF patches and fixes applied to the KGSL graphic driver
  • Revert "AIO: Don't plug the I/O queue in do_io_submit()"
  • power: smb5: Disable debug logging
  • Revert "f2fs: Fix deadlock between f2fs_quota_sync and block_operation"
  • f2fs: shrink node_write lock coverage
  • Revert "kbuild: disable clang's default use of -fmerge-all-constants"
  • techpack: data: don't build emac-dwc-eqos
  • Remove some logspam in net/sched
alpha#1.02
  • A bunch of optimization commits used in Kirisakura included. Huge respect to @Freak07.
    These changes mainly concern the GPU and the CPU architecture.
  • In addition to this, normal grace periods are now preferred to reduce power usage (Thanks a lot to @kdrag0n for his approach).
  • Finally, boeffla wakelock blocker doesn't block any wakelock by default for now, but you can add your own to the blocklist.
alpha#1.03
  • BBR v2 set as the default TCP network congestion control instead of Westwood (thanks to @Freak07).
  • Thanks to @LazerL0rd for having these changes imported :
- Imported upstream Bluetooth fixes.
- fs: ext4: fsync: optimize double-fsync() a bunch.
- Initialize ata before graphics.
- Re-enabled BPF JIT compiler to improve gaming and overall system performance
(thanks to @Sultanxda).
- arm64: lib: memory utilities optimization.

alpha#1.04
  • defconfig: Don't pre-create any loop devices (speeds up the booting process slightly)
  • defconfig: Disable UFS logging
  • sched: fair: Stop running idle_balance on active migration kick
  • cpufreq: Avoid leaving stale IRQ work items during CPU offline
  • Different CAF fixes and patches (thanks to @arter97 for providing the CAF repo mirror)
  • Revert "fs: ext4: fsync: optimize double-fsync() a bunch"
  • Revert "msm: kgsl: Increase worker thread priority"
  • Revert: "defconfig: Enable the BPF JIT compiler"
beta #1.00
  • drivers: char: mem: Reroute random fops to urandom
  • defconfig: Boot with schedutil
  • Revert "linux: blkdev: Set nr_requests to 64"
  • include: linux: Update nr_requests and read-ahead values (to stock 128, and 512 respectively)
  • defconfig: Reduce timer frequency to 100 Hz (for less power consumption)
  • block: Disable I/O stats accounting by default (to reduce approximate 0.5/1% overhead for block devices)
  • defconfig: Disable debug and some unused drivers config
  • net: add WireGuard from wireguard-linux-compat
  • Different scheduler improvement commits cherry-picked from Sultan kernel
  • More CAF patches and fixes for the KGSL graphic driver
beta#1.01
  • wireguard: Update to version 1.0.20210219
  • Revert "defconfig: Reduce PELT half-life from 32 ms to 16 ms"
beta#1.02
  • Revert the latest merged CAF patches and fixes applied to the KGSL graphic driver
  • Revert "AIO: Don't plug the I/O queue in do_io_submit()"
  • power: smb5: Disable debug logging
beta#1.03

Thanks to Sultanxda and kdrag0n for the following changes:
  • disp: msm: Don't clear dim layers when there aren't any applied
  • defconfig: Enable the BPF JIT compiler (again)
  • defconfig: Enable ZSTD
  • defconfig: Omit CPU and PID from console printk
  • defconfig: Disable GPU memory usage tracing
  • scsi: ufs: Only create one pm_qos object for the IRQ
  • scsi: ufs: Only apply pm_qos to the CPU servicing UFS interrupts
  • scsi: ufs: Remove 10 ms CPU idle latency unvote timeout
  • Revert "mutex: Add a delay into the SPIN_ON_OWNER wait loop."
  • Revert "usb: gadget: mtp: Increase RX transfer length to 1M"
  • Revert "usb: gadget: f_mtp: Increase default TX buffer size"
  • scatterlist: Don't allocate sg lists using __get_free_page
  • mm: kmemleak: Don't die when memory allocation fails
  • mm: kmemleak: Don't require global debug options or debugfs
  • pinctrl: msm: Remove explicit barriers from mmio ops where unneeded
  • dma-buf/sync_file: Speed up ioctl by omitting debug names
  • msm: camera: Stub out the camera_debug_util API and compile it out
  • locking/rwsem: Don't hog RCU read lock while optimistically spinning
  • locking/mutex: Don't hog RCU read lock while optimistically spinning
  • cpuidle: Mark CPUs idle as late as possible to avoid unneeded IPIs
  • cpuidle: Optimize pm_qos notifier callback and IPI semantics
  • arm64: Allow IPI_WAKEUP to be used outside of the ACPI parking protocol
  • kernel: Only set one CPU in the default IRQ affinity mask
  • kernel: Don't allow IRQ affinity masks to have more than one CPU
  • qos: Don't allow userspace to impose restrictions on CPU idle levels
  • msm: kgsl: Wake GPU upon receiving an ioctl rather than upon touch input
beta#1.04

Thanks to Sultanxda and engstk for the following changes:
  • msm: kgsl: Don't allocate memory dynamically for drawobj sync structs
  • bpf: Avoid allocating small buffers for map keys and values
  • defconfig: Reduce PELT half-life from 32 ms to 16 ms (again, and correctly this time)
  • defconfig: Enable USB2 Fast Charge
  • drivers: misc: power: implement usb2 fast charge mode
beta#1.05

Revert the following changes:
  • msm: kgsl: Don't allocate memory dynamically for drawobj sync structs
  • bpf: Avoid allocating small buffers for map keys and values
  • defconfig: Reduce PELT half-life from 32 ms to 16 ms (again, and correctly this time)
stable#1.00

Thanks to everyone involved in the following changes, and to my testers from the Telegram group:
  • sched: Import sched_irq_work_queue()
  • cpufreq: schedutil: Queue sugov irq work on policy online cpu
  • cpufreq: schedutil: Fix the incorrect average capacity calculation
  • drivers: binder: silence logging
  • mm: Increase vmstat interval to 1 minute
  • msm: ipa: add check to see if pm client is not NULL
  • drm/msm/sde: Skip heavy autorefresh checks when it's not enabled
  • do accept() in LIFO order for cache efficiency
  • power: Reduce debug logging if logbuffer is still enabled
  • defconfig: Unset CONFIG_SCHEDSTATS
  • defconfig: Set timer frequency to 250 Hz
  • defconfig: Disable some crufts
  • defconfig: Disable SLUB per-CPU partial caches
  • defconfig: Disable unnecessary errata
  • Kbuild: Optimize more crypto drivers with crypto extensions
  • kbuild: Proper CPU optimization flags for Clang and GCC
  • scsi: ufs: Keep UniPro in FASTMODE
  • scsi: ufs: Fix ufshcd_probe_hba() return value when fails to reinit
  • scsi: ufs: handle error to avoid kernel panic
  • usb: dwc3: gadget: Issue soft reset as part of composition switch
  • UPSTREAM: sched/rt: Disable RT_RUNTIME_SHARE by default
  • Revert "msm_geni_serial: reduce wakelock timeout from ISR to 100ms"
  • Revert "msm: camera: Stub out the camera_debug_util API and compile it out"
  • Revert "msm: camera: disable debug logging"
  • Revert "msm: camera: Fix memory leak"
  • dts: fix missing frequency on sd730
  • arm64: Makefile: Proper CPU optimization flags for Clang and GCC
  • arm64: dts: sdmmagpie: Allow big cluster to idle in USB perf mode
  • arm64: dts: sdmmagpie: Power off DSI PHY during idle PC
  • arm64: Kconfig: disable some tracers
  • ARM64: sdmmagpie: fix a few freq inconsistencies
  • ARM64: sdmmagpie: add lower freq to llcc-bw bus
  • ARM64: dst: sdmmagpie-idp: scale SSOC with BSOS
  • ARM64: dts: sdmmagpie: fix max frequencies
  • ARM64: dts: magpie: Remove unused conflicting disp_rdump_memory region
stable#1.01

Thanks to everyone involved in the following changes:
  • drivers: thermal: Return zero on success for qmi_tmd_send_state_request.
  • drivers: thermal: step_wise: Handle the temperature stable trend.
  • drivers: thermal: step_wise: Clear mitigation on reaching clear threshold
  • sched/core: fix preemption disable tracking during context switch to idle
  • cpumask: Add cpumasks for big and LITTLE CPU clusters
  • defconfig: Configure big and LITTLE CPU masks
  • defconfig: set exfat-linux options
  • fs: exfat: add version 2.2.0-3arter97 (like it is the case with CAF latest changes)
  • kernel: Add API to mark IRQs and kthreads as performance critical
  • drm/msm: Offload commit cleanup onto an unbound worker
  • workqueue: Affine unbound workqueues to little CPUs by default
  • msm: ipa: Do not acquire wakelocks
  • msm: vidc: Disable msm_vidc_fw_debug_mode
  • msm: kgsl: Mark IRQ as performance critical
  • drm: Mark IRQ as performance critical
  • msm: adreno: Set GPU timeout to 64 ms
  • ARM64: dts: sdmmagpie: Set GPU idle timeout to 64 ms
  • ARM64: dts: qcom: Delete CDSP sec memory region
  • arm64: dts: sdmmagpie: Avoid run-time IPIs from expedited grace periods
stable#1.02

Thanks to everyone involved in the following changes:
  • sched/core: Free dead mm structs asynchronously in finish_task_switch()
  • sched/core: Free dead tasks asynchronously in finish_task_switch()
  • kgsl: msm: Prevent userspace from changing the GPU idle timeout
  • scsi: ufs: use WQ_HIGHPRI for gating work
  • sched: fair: placement optimization for heavy load
  • sched: Improve the scheduler
  • sched: fair: Improve the scheduler
  • sched/fair: Add timeout for detach_tasks() in load balance
  • ARM64: sdmmagpie: switch to calculated capacities
  • kernel: sched: Checkout energy to Common kernel
  • schedutil: Tune the down rate limits for better battery life using PK's tuning script v9 values (thanks to pkgnex and also engstk for the tuning method)
stable#1.03

Thanks to everyone involved in the following changes:
  • ext4: optimize file overwrites
  • lib/lz4: explicitly support in-place decompression
  • mmap() backports for better performance
  • mm, truncate: do not check mapping for every page being truncated
  • zsmalloc: switch from alloc_vm_area to get_vm_area
  • mm/zsmalloc.c: rework the list_add code in insert_zspage()
  • mm/zsmalloc.c: drop ZSMALLOC_PGTABLE_MAPPING
  • mm/zsmalloc.c: fix duplicated words
  • mm/zswap: fix passing zero to 'PTR_ERR' warning
  • mm/zswap: make struct kernel_param_ops definitions const
  • arm64: Add missing dependency for ARM erratum 1188873 workaround
  • arm64: dts: sdmmagpie: Implement RHEL's Low Latency Kernel cmdline
  • arm64: dts: sdmmagpie: Set silver cluster qos-cores for msm_fastrpc
  • arm64: dts: sdmmagpie-sde: Configure PM-QoS IRQ latency
  • arm64: dts: sdmmagpie: remove pm qos latency overrides
  • arm64: dts: sdmmagpie: use 67us latency for cdsp
  • drm/msm/sde: Remove redundant write memory barriers from IRQ routines
  • drm/msm/sde: Consolidate IRQ status reads into IRQ dispatcher
  • drm/msm/sde: Don't read and clear VBIF errors upon commit
  • disp: msm: Use the PM_QOS_REQ_AFFINE_IRQ feature to control SDE PM QoS
  • disp: msm: sde: add dt based support for pm qos irq latency
  • disp: msm: sde: modify Qos vote for irq latency during idle cases
  • disp: msm: sde: add pm QoS vote on CPU receiving display IRQ
  • sde: rotator: Remove PM-QOS usage
  • sched/rt: Optimize checking group RT scheduler constraints
  • scsi: ufs: Add simple IRQ-affined PM QoS operations
  • scsi: ufs: Scrap Qualcomm's PM QoS implementation
stable#1.04

Thanks to everyone involved in the following changes, especially to @eng.stk:
  • Merge branch android-msm-sunfish-4.14-android11-qpr2 (May 2021.1)
  • Android: Implement Sony LowMemoryKiller TNG from 55.0.A.11.25
  • net/wireguard: merge v1.0.20210424
  • lib/lzo: implement run-length encoding (set as zRAM default's compression algorithm)
  • ext4: remove additional tracings added by CAF
  • mm: oom_kill: Reduce some verbose logging
  • bpf: Eliminate CONFIG_MODULES limitation from JIT for arm64
  • scripts/kallsyms: set relative_base more effectively
  • scripts/kallsyms: shrink table before sorting it
  • scripts/kallsyms: remove unneeded #ifndef ARRAY_SIZE
  • block: Disable preemption during IPI consideration
  • block: Track DISCARD statistics and output them in stat and diskstat
  • block: Add and use op_stat_group() for indexing disk_stat fields.
  • block: Define and use STAT_READ and STAT_WRITE
  • block: Add part_stat_read_accum to read across field entries.
  • block: make bdev_ops->rw_page() take a REQ_OP instead of bool
  • defconfig: further disable audit
  • kbuild: Don't try to add '-fcatch-undefined-behavior' flag
  • Makefile: add -fno-builtin-stpcpy
  • Revert "kernel: Add API to mark IRQs and kthreads as performance critical"
  • Revert "msm: kgsl: Mark IRQ as performance critical"
  • Revert "drm: Mark IRQ as performance critical"
stable#1.05

Thanks to everyone involved in the following changes, especially to kerneltoast:
  • include: linux: Set nr_requests and read-ahead values to 64 and 256 respectively
    (thanks to pkgnex and HolyAngel)
  • cpufreq: Ensure the minimal frequency is lower than the maximal frequency
  • usb: gadget: f_mass_storage: Add Drivedroid Support
  • arm64: dts: msm: disable kpti on sdmmagpie
  • arm64: dts: sdmmagpie: Enable freq-energy-model
  • tcp: change pingpong threshold to 3
  • tcp: Refactor pingpong code
  • sched/fair: Compile out NUMA code entirely when NUMA is disabled
  • sched: Resolve sched_feat() at compile time to improve code optimization
  • sched: Add API to migrate the current process to a given cpumask
  • sched/idle: Micro-optimize the idle loop
  • sched/fair: Kill spam about max cpu_capacity
  • sched: core: silence no longer affine to cpu logspam
  • mm: Perform PID map reads on the little CPU cluster
  • scsi: ufs: Enable NO_FASTAUTO quirk for all vendor
  • BACKPORT: crypto: arm64/aes-modes - get rid of literal load of addend vector
  • crypto: arm64/aes-blk - add 4 way interleave to CBC-MAC encrypt path
  • crypto: arm64/aes-blk - add 4 way interleave to CBC encrypt path
  • crypto: arm64/aes-blk - remove configurable interleave
  • crypto: arm64/aes-blk - move kernel mode neon en/disable into loop
  • mm: compaction: avoid 100% CPU usage during compaction when a task is killed
  • BACKPORT: mm: process_reclaim: consider compound pages
  • Revert "sched: fair: placement optimization for heavy load"
  • Revert "qos: Execute notifier callbacks atomically"
  • Revert "drm/msm/sde: Wait for ctl_start asynchronously on cmd mode panels
  • Revert "disp: msm: Don't clear dim layers when there aren't any applied"
  • Revert "disp: msm: Use the PM_QOS_REQ_AFFINE_IRQ feature to control SDE PM QoS"
  • Revert "mmc: disable SPI CRC"
  • bpf: fix subprog verifier bypass by div/mod by 0 exception
  • bpf: fix net.core.bpf_jit_enable race
  • bpf, lpm: make longest_prefix_match() faster
  • msm: camera: utils: Demote unwanted logging to debug
  • msm: vidc: Silence video instance logging
- Commits reverted until the kernel version gets upstreamed:
  • Revert "block: Disable preemption during IPI consideration"
  • Revert "block: Track DISCARD statistics and output them in stat and diskstat"
  • Revert "block: Add and use op_stat_group() for indexing disk_stat fields."
  • Revert "block: Define and use STAT_READ and STAT_WRITE"
  • Revert "block: Add part_stat_read_accum to read across field entries."
  • Revert "block: make bdev_ops->rw_page() take a REQ_OP instead of bool"
stable#1.10

Thanks to everyone involved in the following changes:
  • qcacld-3.0: Free a bunch of pkts at once (to reduce CPU consumption)
  • qcacld: disable qcom_rx_wakelock (to reduce power consumption)
  • fs: Override default relatime mount flag for noatime (to improve FS performance)
  • Revert "usb: gadget: f_mass_storage: Add Drivedroid Support"
stable#1.11

Thanks to everyone involved in the following changes:
  • Revert changes from the recent updates that were causing possible stability issues
  • Cherry-pick last chipset patches from CAF
  • sched: fair: Modify capacity margins for sm7150ab.
  • Revert "ARM64: dts: magpie: Remove unused conflicting disp_rdump_memory region"
  • android: binder: add rate limit for possible excessive log
  • defconfig: Don't initialize early random pool
  • include: linux: Set nr_requests and read-ahead values back to default
    (thanks to eng.stk for their tuning approach)
  • sched: fair: Cover more WALT balancing cases.
  • diag: disable DIAG_DEBUG
stable#1.50

Thanks to everyone involved in the following changes:
  • Full source rebase from scratch
  • sched: fair: Fix load balancing for big tasks
  • msm: ipa: Add an option to allow IPA wakelocks (disabled by default)
  • msm: ipa_v3: Do not acquire wakelocks
  • msm: ipa_v3: block ipa_ws wakelocks
  • blkdev: Set QUEUE_FLAG_NONROT
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
 
Last edited:

momojuro

Senior Member
Jan 15, 2014
542
905
Samsung Galaxy A30
Google Pixel 4a
Hello everyone, new update!

Changelog

fsociety tribute alpha#1.01
  • Reverted some under the hood commits to prepare for future updates
  • Different cpuidle fixes and optimizations (thanks to @wrongway213)

    Thanks to @eng.stk for these changes:
  • Merge branch android-msm-sunfish-4.14-android11-qpr2 (Apr 2021.1)
  • BACKPORT: GKI: hwtracing: Add a driver for disabling coresight clocks (backport from Pixel 5, less idle draw)
  • Revert "f2fs: Fix deadlock between f2fs_quota_sync and block_operation"
  • f2fs: shrink node_write lock coverage
  • Revert "kbuild: disable clang's default use of -fmerge-all-constants"
  • techpack: data: don't build emac-dwc-eqos
  • Remove some logspam in net/sched
Download & Links
 

momojuro

Senior Member
Jan 15, 2014
542
905
Samsung Galaxy A30
Google Pixel 4a
Based on bluespark kernel? imagine it doesn't have support for usb dacs right?
It has got major blu.spark's elements in it, yes. It also uses @eng.stk's excellent soucedrops from Google. The latest update from blu.spark and fsociety tribute has got a change related to your issue. You should try and let us know if the problem got fixed!
  • techpack: data: don't build emac-dwc-eqos
 

Chrisnetika

Member
Jan 16, 2021
36
11
Google Pixel 4a
It has got major blu.spark's elements in it, yes. It also uses @eng.stk's excellent soucedrops from Google. The latest update from blu.spark and fsociety tribute has got a change related to your issue. You should try and let us know if the problem got fixed!
I can give it a try tomm, just flashed the new release bluspark put out yesterday and my DAC unit seems to work with the changes he made.Just testing it for stability for now.Good to see more developers making kernels for this device.
 

momojuro

Senior Member
Jan 15, 2014
542
905
Samsung Galaxy A30
Google Pixel 4a
Hello friend. Hello friend?

Can you build in wireless monitor mode and usb keyboard support for use with nethunter?

Hello friend,

I will try to compile a version containing those specific changes when I have some free time and send you the zip file. However, they will not be incorporated to the main version. If you have a Linux powered computer/laptop, I will be glad to show you how I did it and how you could compile it yourself, so that you may add them for each new version.
 

momojuro

Senior Member
Jan 15, 2014
542
905
Samsung Galaxy A30
Google Pixel 4a
Hello everyone, new promising update!

Changelog

fsociety tribute alpha#1.02
  • A bunch of optimization commits used in Kirisakura included. Huge respect to @Freak07.
    These changes mainly concern the GPU and the CPU architecture.
  • In addition to this, normal grace periods are now preferred to reduce power usage (Thanks a lot to @kdrag0n for his approach).
  • Finally, boeffla wakelock blocker doesn't block any wakelock by default for now, but you can add your own ones to the blocklist.
Download & Links
 
  • Like
Reactions: EriecTan and kkjb

d33dvb

Senior Member
Sep 30, 2007
713
165
Hello friend,

I will try to compile a version containing those specific changes when I have some free time and send you the zip file. However, they will not be incorporated to the main version. If you have a Linux powered computer/laptop, I will be glad to show you how I did it and how you could compile it yourself, so that you may add them for each new version.
Thanks a bunch man I have tried and failed several times to get it working.
 
  • Like
Reactions: momojuro

Chrisnetika

Member
Jan 16, 2021
36
11
Google Pixel 4a
As promised I tried it,so far it works ok.My USB DAC works fine and everything inc mqa,dsd play no issues.Noticed with 1.01 it was running bit warmer my device with normal use like surfing when it usually never did,however 1.02 seems fine? Possible it is nothing.
If I may ask,what is the changes/differences between this and bluespark? Looking at the description for both kernels they look about the same.OC is not enabled by default right?
 
  • Like
Reactions: momojuro

momojuro

Senior Member
Jan 15, 2014
542
905
Samsung Galaxy A30
Google Pixel 4a
As promised I tried it,so far it works ok.My USB DAC works fine and everything inc mqa,dsd play no issues.Noticed with 1.01 it was running bit warmer my device with normal use like surfing when it usually never did,however 1.02 seems fine? Possible it is nothing.
If I may ask,what is the changes/differences between this and bluespark? Looking at the description for both kernels they look about the same.OC is not enabled by default right?
I am glad it is working as it should be.
I would say that fsociety tribute is on its way to become more and more distinct.

It is true that it is based on @eng.stk's excellent initial building setup and his Google sourcedrops, as I was not knowledgeable enough to do it by myself (they have my gratitude). Some features to me were appealing, like its incorporation of KLAPSE and KCAL or its choice for Zen v2 as the default I/O scheduler. However, according to my own preferences, I did not pick up the USB Fast Charge and the FS fsync's tweaking support features for example or compile the kernel with the -O2 optimization flag.
The next build will use BBR v2 instead of Westwood as the default TCP congestion control.

I am still at the beginning of my journey to explore and learn what would be appealing to my vision for fsociety tribute, hence the alpha stage it is under right now. Feel free to choose whatever suits you!
 
Last edited:
  • Like
Reactions: EriecTan

momojuro

Senior Member
Jan 15, 2014
542
905
Samsung Galaxy A30
Google Pixel 4a
Hello everyone, another update! It is temporarily uploaded on GIthub until Sourceforge stops being buggy.

Changelog

fsociety tribute alpha#1.03
  • BBR v2 set as the default TCP network congestion control instead of Westwood (thanks to @Freak07).
  • Thanks to @LazerL0rd for having these changes imported :
- Imported upstream Bluetooth fixes.
- fs: ext4: fsync: optimize double-fsync() a bunch.
- Initialize ata before graphics.
- Re-enabled BPF JIT compiler to improve gaming and overall system performance
(thanks to @Sultanxda).
- arm64: lib: memory utilities optimization.

Download & Links
 
Last edited:
  • Like
Reactions: EriecTan and nss357

momojuro

Senior Member
Jan 15, 2014
542
905
Samsung Galaxy A30
Google Pixel 4a
Hello everyone, last update before reaching the beta stage!

Changelog

fsociety tribute alpha#1.04
  • defconfig: Don't pre-create any loop devices (speeds up the booting process slightly, thanks to @kdrag0n)
  • defconfig: Disable UFS logging
  • sched: fair: Stop running idle_balance on active migration kick
  • cpufreq: Avoid leaving stale IRQ work items during CPU offline
  • Different CAF fixes and patches (thanks to @arter97 for providing the CAF repo mirror)
  • Revert "fs: ext4: fsync: optimize double-fsync() a bunch"
  • Revert "msm: kgsl: Increase worker thread priority"
  • Revert: "defconfig: Enable the BPF JIT compiler"

Download & Links
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    So how do I install the a12 version without a custom recovery?
    You can install the kernel with a kernel manager/flasher like FKM (Franco Kernel Manager) on A11 and A12.

    Speaking of which, #1.99 is coming out this weekend after a month of work with my testers on Telegram!
    2
    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
  • 16
    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
    • Built with Google Clang version 13.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
    • Latest ARM64 architecture patches
    • CAF patches and fixes
    • The device passes bootloader SafetyNet check
    • Security fixes from GrapheneOS
    • VLA-free kernel
    • Powersaving workqueues enabled by default
      (thanks to @Freak07)
    • CPU uses freq-energy-model with calculated capacities
    • Disabled several debug and logging options
    • 250 Hz timer frequency
    • Implement Sony LowMemoryKiller TNG from 55.0.A.11.25 update
    • Implement josenk's srandom driver (faster than random and urandom)
    • Implement zRAM deduplication with arter97's changes and automatic compaction
    • BBR v2 set as the default TCP network congestion control
    • ZEN v2 set as the default I/O scheduler with slight changes
      (read-ahead set to 512 for specific blocks)
    • GPU idle timeout set to 64 ms
    • KCAL - Advanced color control for Qualcomm MDSS v2
      (RGB calibration and post-processing features)
    • KLAPSE v5.0 support
    • Backlight min. brightness and HBM option (thanks to @flar2)
    • Boeffla wakelock blocker enabled
    • Haptic Feedback level Control w/ Fingerprint Haptic Feedback Control support
      (thanks to @eng.stk)
    • exFAT filesystem support
    • TWRP support (LZMA/LZ4 ramdisk)
    • WireGuard support
    • Other misc. optimizations and fixes

    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 their guidance in solving my first kernel compiling issues and for his amazing contributions
    @arter97 for their contributions
    @kdrag0n for Proton kernel and their innovative contributions
    @osm0sis for AnyKernel3 and their contributions
    @Sultanxda for their outstanding contributions
    @flar2 for their clean contributions
    @HolyAngel for HolyDragon kernel and their contributions
    @tytydraco for their contributions
    @pkgnex for their tuning script and contributions
    @nathanchance for their compilation guides and repos
    @badaas for being a great tester
    @beeshyams for being an awesome tester as well

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

    Contributors
    momojuro
    Source Code: https://github.com/fsociety-tribute/pixel4a

    Kernel Special Features: Boeffla Wakelock Blocker, KCAL, KLAPSE, Wireguard, Haptic Feedback level Control, Fingerprint Haptic Feedback Control

    Version Information
    Status:
    Stable
    Current Stable Version: 1.99
    Stable Release Date: 2021-09-11

    Created 2021-04-06
    Last Updated 2021-09-11
    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,

    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
    6
    Hello everyone, today's new update for the first month of fsociety tribute!
    Magisk 22.1 or newer is now required for root!

    Changelog


    fsociety tribute stable#1.04

    Thanks to everyone involved in the following changes, especially to @eng.stk:
    • Merge branch android-msm-sunfish-4.14-android11-qpr2 (May 2021.1)
    • Android: Implement Sony LowMemoryKiller TNG from 55.0.A.11.25
    • net/wireguard: merge v1.0.20210424
    • lib/lzo: implement run-length encoding (set as zRAM default's compression algorithm)
    • ext4: remove additional tracings added by CAF
    • mm: oom_kill: Reduce some verbose logging
    • bpf: Eliminate CONFIG_MODULES limitation from JIT for arm64
    • scripts/kallsyms: set relative_base more effectively
    • scripts/kallsyms: shrink table before sorting it
    • scripts/kallsyms: remove unneeded #ifndef ARRAY_SIZE
    • block: Disable preemption during IPI consideration
    • block: Track DISCARD statistics and output them in stat and diskstat
    • block: Add and use op_stat_group() for indexing disk_stat fields.
    • block: Define and use STAT_READ and STAT_WRITE
    • block: Add part_stat_read_accum to read across field entries.
    • block: make bdev_ops->rw_page() take a REQ_OP instead of bool
    • defconfig: further disable audit
    • kbuild: Don't try to add '-fcatch-undefined-behavior' flag
    • Makefile: add -fno-builtin-stpcpy
    • Revert "kernel: Add API to mark IRQs and kthreads as performance critical"
    • Revert "msm: kgsl: Mark IRQ as performance critical"
    • Revert "drm: Mark IRQ as performance critical"
    Download & Links
    6
    Hello everyone, new update!

    Changelog

    fsociety tribute alpha#1.01
    • Reverted some under the hood commits to prepare for future updates
    • Different cpuidle fixes and optimizations (thanks to @wrongway213)

      Thanks to @eng.stk for these changes:
    • Merge branch android-msm-sunfish-4.14-android11-qpr2 (Apr 2021.1)
    • BACKPORT: GKI: hwtracing: Add a driver for disabling coresight clocks (backport from Pixel 5, less idle draw)
    • Revert "f2fs: Fix deadlock between f2fs_quota_sync and block_operation"
    • f2fs: shrink node_write lock coverage
    • Revert "kbuild: disable clang's default use of -fmerge-all-constants"
    • techpack: data: don't build emac-dwc-eqos
    • Remove some logspam in net/sched
    Download & Links