[KERNEL] [blu_sp★rk r164] [OOS 2.* / CM]

Not open for further replies.
Search This thread

Portgas D. Ace

Recognized Contributor
Jun 12, 2014
Bergisches Land
Nexus 7
Google Pixel 6
I will not update this anymore, it was a good ride guys but it came to an end.

Since it's not doable to me to make new stuff thread will be closed.
Then there is only one more thing to say:

Thank you for all your efforts and time you spend on this great project. I really appreciate it.
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 252

    Kernel features:
    • Powered by Ubuntu 16.04.1 x86_64 (sparky VPS @ www.servercore.com.br - thanks @ChristianLetti)
    • Build with custom toolchain blu_naro-6.2 (cortex-a15 neon-vfpv4 hard-float targeted, build with latest Crosstool-NG from developer snapshot Linaro GCC 6.2-2016.09)
    • Full -O3 support with device and target flags enhanced, linaro build improvements, etc
    • Less is more: stockish builds based on android_kernel_oneplus_msm8974
    • Kernel compressed with XZ, custom tweaked RAMdisk with GZIP (best size/efficiency ratio, faster boot, less CPU usage)
    • Removed some debug and logging options
    • ARM enhanced performance and battery patches
    • Upstream and CAF fixes
    • Several CPU Governors (blu_active own governor is default - fastlane mode available!)
    • Voltage Control UV_mV_table (UV down to 675mV possible)
    • Enhanced TCP methods (westwood is default), Network and Wifi tweaks
    • Several I/O control (FIOPS is default), tweaked filesystems (F2FS, ExFAT, NTFS & CIFS)
    • blu_plug: Dynamic Hotplug for onyx
    • Disabled mpdecision
    • Stock thermal driver by default, custom kernel driver available (check this)
    • Optimized RWSEM, AES and SHA1 routines (with NEON support)
    • CAF adaptive LMK
    • Vibrator Strength tunable
    • KGSL fixes and reworked GPU driver (goes to idle @ 27MHz), Adreno Idler GPU Governor on by default
    • KCAL - Advanced color control for Qualcomm MDSS v2 (RGB calibration and post-processing features)
    • USB Fast Charge (USB mode up to 900mA with MTP on)
    • Battery/Notification LED control
    • Multimount fstab (you can use data and cache partitions as f2fs or ext4)
    • CDROM emulation added to mass_storage (full Drive Droid compatible)
    • init.d support (put your scripts in /system/su.d or /su.su.d [systemless SuperSU])
    • Compatible with Kernel Adiutor, Universal Kernel Manage and others


    Warning: If you come from other kernel, you should dirty flash your ROM before flashing blu_sp★rk zip to avoid problems.
    Reflash ROM -> flash SuperSU -> flash blu_sp★rk.
    Also uninstall or clean data of any kernel control app you're using.

    About bugs and troubleshoots: don't bother to post if a log isn't ready or without steps so the behavior can be replicated. I only active support stock OOS with NO mods whatsoever (apart from root). If you're using custom ROMs you're on your own, I'm only interested on debugging stuff in OOS.
    Save the SOT and battery stats/screenshots for general threads, here we deal with development, not personal tastes and results.
    Also don't spam this thread with CM or other ROMs stuff like "this don't work, my app doesn't open, etc" , no OT about OTAs, apps, ROM bugs and other userspace stuff. There's threads for it, use them.

    This kernel installer modifies your filesystem, backup your boot.img and system.img with TWRP if you want to go back to full stock.

    If you want to use F2FS, do the following (backup your data before attempt this, it will erase all your Data)
    • Flash latest TWRP and flash latest blu_sp★rk zip
    • Go to Wipe -> Advanced Wipe -> Select only Data -> Repair/Format File system -> Change partition type to F2FS
    • Go to Wipe -> Advanced Wipe -> Select only Cache -> Repair/Format File system -> Change partition type to F2FS
    • Reboot and profit


    If you like my work, donations are always welcome (but not mandatory).
    Don't forget to hit thanks, it's free ;)

    Thanks to @franciscofranco, @faux123, @LaboDJ @show-p1984, @flar2, @anarkia1976, @stratosk, @myfluxi, @Christopher83, @hellsgod, @savoca, @squid2
    Special thanks to @DariosF and @ciprianruse88, for the friendship, initial push, knowledge and webart.

    XDA:DevDB Information
    blu_sp★rk onyx, Kernel for the OnePlus X

    Source Code: https://gitlab.com/engstk/onyx

    Kernel Special Features: Powered by sparky

    Version Information
    Status: Stable
    Current Stable Version: r164
    Stable Release Date: 2016-08-09
    Current Beta Version: r175 OOS 3.1.*
    Beta Release Date: 2016-10-10

    Created 2015-11-17
    Last Updated 2016-10-14
    blu_sp★rk r74

    All right crew!

    New update is up, some nice goodies inside, go get it.
    Probably last update until OP update to OOS 2.2.0
    Also updated TWRP to blu_spark edition r9, with updated components & kernel and usable dt2w

    • makefile: use blu_naro cortex-a15 neon-vfpv4 hard-float toolchain (build with latest Crosstool-NG from developer snapshot Linaro GCC 5.3-2015.12)
    • sched/rt: Reduce rq lock contention by eliminating locking of non-feasible target
    • sched/core: Fix an SMP ordering race in try_to_wake_up() vs. schedule()
    • sched: Fix RLIMIT_RTTIME when PI-boosting to RT, Queue RT tasks to head when prio drops, Fix race in idle_balance()
    • sched/fair: Stop searching for tasks in newidle balance if there are runnable tasks
    • proc: actually make proc_fd_permission() thread-friendly, make proc_fd_permission() thread-friendly
    • mm/slub: don't wait for high-order page allocation
    • fs/buffer.c: increase the buffer-head per-CPU LRU size
    • ASoC: pcm: If pmdown_time is zero then shut down DAPM immediately
    • PM / QoS: Fix workqueue deadlock when using pm_qos_update_request_timeout()
    • cpufreq: ondemand: even if it's not being used it spawns uninterruptible threads
    • timer: Prevent overflow in apply_slack
    • bluetooth: Validate socket address length in sco_sock_bind().
    • net: add validation for the socket syscall protocol argument
    • md: use kzalloc() when bitmap is disabled
    • ipv6: addrconf: validate new MTU before applying it
    • pagemap: do not leak physical addresses to non-privileged userspace
    • wlan: Address buffer overflow due to invalid length

    If you like my work, don't forget to hit thanks :good:
    blu_spark r61

    All right crew!
    New build is up, lot's of nice upstream & CAF updates/improvements, also some goodies from hammerhead marshmallow :cool:

    • defconfig: remove SysV IPC from kernel, remove some debug
    • Failed to load kernel modules
    • msm: ipc_socket: fix leak of kernel memory to userspace
    • Input: optimize events_per_packet count calculation, fix defuzzing logic
    • soc: qcom: smd: Fix SMD packet sync loss issue
    • vidc: Initialize kernel space stack variables, disable CPU L2 cache PC during video sessions
    • net: add length argument to skb_copy_and_csum_datagram_iovec
    • memory hotplug: fix invalid memory access caused by stale kswapd pointer
    • mm: consider all swapped back pages in used-once logic
    • bam_dmux: Fix spinlock lock-up
    • tty: fix memleak in alloc_pid
    • msm: kgsl: Keep the GPU from going into a slumber after a touch event, Do not detect faults when GPU core is idle, Fix Z180 memory leak, set the correct max_state
    • genirq: Sanitize spurious interrupt detection of threaded irqs
    • futex: Prevent attaching to kernel threads
    • hrtimer: Set expiry time before switch_hrtimer_base(), Prevent remote enqueue of leftmost timers, Prevent all reprogramming if hang detected
    • Revert "cpufreq: make the "scaling_cur_freq" sysfs entry pollable"
    • ARM: 7685/1: delay: use private ticks_per_jiffy field for timer-based delay ops
    • ARM: 7653/2: do not scale loops_per_jiffy when using a constant delay clock
    • ARM: add cpufreq transiton notifier to adjust loops_per_jiffy for smp
    • qup_i2c: Initialize I2C resource before registering.
    • lib: cpu_rmap: avoid flushing all workqueues
    • cpufreq: Protect against hotplug in cpufreq_register_driver()
    • rcu: Yield simpler
    • printk: remove unused code from kernel/printk.c
    • wlan: just shut up...
    • ASoC: msm: qdsp6v2: Silence some noise

    If you like my work, don't forget to hit thanks ;)
    blu_sp★rk r79

    All right crew!

    Since seems likely to OOS 2.2.0 come in February (OP definition of early January lol), I decided to release a new kernel build with some nice improvements.
    Also updated TWRP to blu_spark edition v11.
    You need to update to new TWRP v11 to use with kernel blu_spark r79 (because of f2fs changes in kernel)

    • makefile: use newest and improved blu_naro-5.3, build from developer snapshot Linaro GCC 5.3-2016.01, with updated components and improvements/fixes
    • net: inet_diag: zero out uninitialized idiag_{src,dst} fields
    • UPSTREAM: include/linux/poison.h: fix LIST_POISON{1,2} offset
    • sysfs: check if one entry has been removed before freeing
    • mm: vmscan: support complete shrinker reclaim
    • mm: fix prctl_set_vma_anon_name
    • f2fs: update from msm8974 upstream, catch up to v4.4-rc1
    • defconfig: update f2fs extensions
    • small ramdisk tweaks and fixes

    If you like my work, don't forget to hit thanks :good:
    It's up!

    All right crew!

    Some of you may know me from Nexus and other devices development in Code_Blue and blu_spark projects.
    I decided to release the first kernel for my newest device, the OnePlus X.

    I manage to do a nice and stable base, keep in mind that more stuff will come in the future, patience is a virtue ;)