[KERNEL][N/O][F2FS][sdcardfs][MultiROM] jolla-kernel_bullhead_II-v28.0 [2017-12-16]

Search This thread

jollaman999

Senior Member
Aug 19, 2014
908
2,419
South Korea
github.com
[Kernel Features!!]
- Android 8.x.x support
- Android 7.x.x support
- Linux 3.10.107
- Protect ARP Spoofing attack!!
- MultiROM support!!
- multirom: Auto boot primary rom on password UI
- Added fingerprint boost driver
- leds-qpnp: Smooth pulsing LED for charging and notification
- leds-qpnp, mdss: Adjust charging LED brightness based on mdss backlight value
(If you adjust backlight brightness, LED's brightness will be change after replugged the cable.)
- sdcardfs support!!
- lazytime mount option support and enabled for ext4 and f2fs partitions!!
(See the details: https://lwn.net/Articles/621046/)
- GUI All-In-One Aroma installer applied
- jolla-kernel Updater support
- Improved msm_thermal
- Fixed yellow screen!!
- DoubleTap2Wake, DoubleTap2Sleep, Sweep2Wake, Sweep2Sleep
- Screen Off Volume Control (Control the device's volume and tracks while screen turned off.)
- Built with Linaro GCC 6.4.1
- Applied some CAF patches
- KSM (Kernel Samepage Merging) with suspend/resume support
- Use LZ4 compressed ramdisk image
- f2fs Support with recent stable branch patches
- NTFS Support
- exFAT Support
- Using Android device as USB Keyboard/Mouse
(See the details: https://play.google.com/store/apps/details?id=remote.hid.keyboard.client)
- Using Android device as USB storage or CD-Rom/DriveDroid Support
(About DriveDroid: https://play.google.com/store/apps/details?id=com.softwarebakery.drivedroid)
- mdss KCAL Control
- Dynamic Fsync support
- Sound Control
- Vibrator control
- Use CUBIC for default TCP congestion control
- Use BFQ for default I/O scheduler
- Available TCP Congestion controls : cubic, reno, bic, cdg, westwood, highspeed, htcp, vegas, veno, scalable, lp. yeah, illinois
- Available CPU governors : blu_active, despair, zzmoove, elementalx, wheatley, impulse, interactive, conservative, ondemand, userspace, powersave, bioshock, performance, relaxed
- Available I/O schedulers : noop, deadline, row, cfq, bfq, test-iosched, fiops, sio, sioplus, zen, vr, maple

+ Plus: Various patches and upstream patches


[Changeable tap counts DoubleTap2Wake]
You can set tap counts of doubletap2wake.
echo [tap_counts - 1] > /sys/android_touch/doubletap2wake
Available values are 0 to 9.
(0 will turn off the doubletap2wake.)

If you set 'echo 2 > /sys/android_touch/doubletap2wake'
Screen will turn on after 3 taps and you will tap 3 times in 300ms(100ms * tap counts).

If you set 'echo 9 > /sys/android_touch/doubletap2wake'
Screen will turn on after 10 taps and you will tap 3 times in 1000ms(100ms * tap counts).
Try it! :)

In Kernel Adiutor 'Half' is same as 'echo 1 > /sys/android_touch/doubletap2wake'. (Double taps)
And 'Full' is 'echo 2 > /sys/android_touch/doubletap2wake' (Triple taps)


[DoubleTap2Sleep on Status bar]
If you double tap the screen at status bar location(top of the screen), it will turn off the screen.


[Sweep2Sleep on Navigiation bar]
If you swipe the screen at navigation bar location(bottom of the screen), it will turn off the screen.


[Screen Off Volume Control]
== For Volume Control ==
If you sweep touchscreen up or down in SOVC_TIME_GAP (ms) time
and detach your finger, volume will increase/decrease
just one time.

Otherwise if you sweep touchscreen up or down and hold your
finger on touchscreen, volume will increase/decrease
continuously based on SOVC_VOL_REEXEC_DELAY (ms) time.

See the demo video
http://tp.jollaman999.com/jolla-kernel_AIO-bullhead/Screen_Off_Volume_Control.mp4

== For Track Control ==
If you sweep touchscreen right to left in
SOVC_TIME_GAP (ms) time, you can play next track.

Otherwise if you sweep touchscreen left to right,
you can play previous track.

Also if you sweep touchscreen right or left and hold your
finger on touchscreen, track will change
continuously based on SOVC_TRACK_REEXEC_DELAY (ms) time.

SOVC_TIME_GAP 250
SOVC_VOL_REEXEC_DELAY 250
SOVC_TRACK_REEXEC_DELAY 4000

Thanks to @flar2 for prevent to sleep bullhead's touchscreen.


== ARP Project ==
ARP Spoofing Attack Protecting Project. Protect to update MAC address of the gateway.

>> Currently implemented <<
- arp_project: Ignore reply when request not proceeded or source IP is different with requested target IP.
- arp_project: Ignore request when gateway update attempt detected from other hardware address.


== MSM Thermal Tunable options ==
Parameters are here '/sys/module/msm_thermal/parameters'

[msm_thermal Tunable options]
= poll_ms - msm_thermal will check the device's temperature every this milli seconds.
= temp_threshold - Limit the frequency of LITTLE when the temp is reached to this value.
= temp_big_threshold - Limit the frequency of big when the temp is reached to this value.
= temp_big_off_threshold - Turn off the big cores when the temp is reached to this value.
= temp_step_little - If 'temp_step_little = 4' and 'temp_threshold = 60', frequency will decrease like below.
└─temp = 60 --> LITTLE's max frequency will decrease one step.
└─temp = 62 --> LITTLE's max frequency will decrease one step.
└─temp = 63 --> LITTLE's max frequency will decrease one step.
└─temp = 64 --> LITTLE's max frequency will decrease two steps.
└─temp = 65 --> LITTLE's max frequency will decrease two steps.
└─temp = 68 --> LITTLE's max frequency will decrease three steps.
= temp_step_big - If 'temp_step_big = 2' and 'temp_threshold = 60', frequency will decrease like below.
└─temp = 60 --> big's max frequency will decrease one step.
└─temp = 61 --> big's max frequency will decrease one step.
└─temp = 62 --> big's max frequency will decrease two steps.
└─temp = 63 --> big's max frequency will decrease two steps.
└─temp = 64 --> big's max frequency will decrease three steps.
= freq_step_little - Frequency decrease step for little.
= freq_step_big - Frequency decrease step for big.
= temp_count_max_little - If this value is 3, LITTLE's max frequency will decrease 1 to 3 steps.
= temp_count_max_big - If this value is 5, big's max frequency will decrease 1 to 5 steps.



[Installation Instructions]
Just follow the aroma installer!
(If you install this kernel from other kernel, please re-flash your rom without wipe than flash this kernel!)


[Download]
http://tp.jollaman999.com/jolla-kernel_AIO-bullhead/

[Changelog]
https://github.com/jollaman999/jolla-kernel_AIO/blob/bullhead/META-INF/com/google/android/aroma/changelog/en.txt

[Thanks to..]
The Linux Kernel Archives : https://www.kernel.org/
LineageOS : https://github.com/LineageOS
Developers : nkk71, zhuowei, HashBang173, TheScarastic, jaegeuk, Tasssadar, savoca, flar2, franciscofranco and all of commited in their sources & all of xda developers

XDA:DevDB Information
jolla-kernel_bullhead, Kernel for the LG Nexus 5X

Contributors
jollaman999
Source Code: https://github.com/jollaman999/jolla-kernel_bullhead

Kernel Special Features:

Version Information
Status: Stable
Current Stable Version: II-v28.0
Stable Release Date: 2017-12-16

Created 2015-12-15
Last Updated 2017-12-16
 
Last edited:

morpheus620

Senior Member
Mar 8, 2012
824
283
Cottbus
Kernel runs on full rate when the screen is on.

e543a76672a0b9701875c8e4b9c2ee77.jpg
 

khartaras

Senior Member
Feb 14, 2011
234
111
Many thanks for this, my phone is affected by a slightly yellow screen, compared to my friend's 5x.
This color calibration pleases my eyes, I haven't compared it with his "perfect" phone yet, so I can't attest to accuracy, but it's certainly pleasant.

Again, thanks.
 
  • Like
Reactions: jollaman999

jollaman999

Senior Member
Aug 19, 2014
908
2,419
South Korea
github.com
[jolla-kernel_bullhead-v3.0]

== Kernel ==
- hotplug: Add msm_hotplug driver and adaptive for big and little
- touchscreen: Add doubletap2wake and sweep2wake
- touchscreen: Temporary enable dt2w when playing music
- leds-qpnp: Smooth blinking charging LED & smooth notifier LED
- power:qpnp-charger: extended charge time from 30s to 100s when battery status is near to full
- hwrng: Avoid manual device_create_file() calls
- cpufreq: Add impulse elementalx, wheatley, impulse, conservative governors
- cpufreq: interactive: Applied some of patches
- tcp: enable sockets to use MSG_FASTOPEN by default
- mdss_fb: backlight dimmer option
- power: Disable the lge crash handler
- f2fs: Fix a system panic caused by f2fs_follow_link
- f2fs: remove unnecessary new_valid_dev() check
- f2fs: Add f2fs_kvfree from f2fs-stable repository
- random: Add /dev/frandom support
- random, random32: Applied Linux upstream patches
- zram, zsmalloc, zpool: Appiled upstream patches
- crypto: msm: Appiled some of patches
- md: Appiled some of patches
- dm verity: Appiled some of patches

== Recovery ==
- Built with lastest omni android-6.0 branch TWRP sources
- Use lastest cm-13.0 sources as base
- f2fs-tools: v1.6.0 applied
- jolla-kernel_bullhead-v3.0 applied

== AIO ==
- fstab.bullhead: Fix f2fs boot issue
- A2DPChecker: Temporary enable dt2w when playing music
- Revert "disable device verification of /system /vendor"
 

Top Liked Posts

  • There are no posts matching your filters.
  • 87
    [Kernel Features!!]
    - Android 8.x.x support
    - Android 7.x.x support
    - Linux 3.10.107
    - Protect ARP Spoofing attack!!
    - MultiROM support!!
    - multirom: Auto boot primary rom on password UI
    - Added fingerprint boost driver
    - leds-qpnp: Smooth pulsing LED for charging and notification
    - leds-qpnp, mdss: Adjust charging LED brightness based on mdss backlight value
    (If you adjust backlight brightness, LED's brightness will be change after replugged the cable.)
    - sdcardfs support!!
    - lazytime mount option support and enabled for ext4 and f2fs partitions!!
    (See the details: https://lwn.net/Articles/621046/)
    - GUI All-In-One Aroma installer applied
    - jolla-kernel Updater support
    - Improved msm_thermal
    - Fixed yellow screen!!
    - DoubleTap2Wake, DoubleTap2Sleep, Sweep2Wake, Sweep2Sleep
    - Screen Off Volume Control (Control the device's volume and tracks while screen turned off.)
    - Built with Linaro GCC 6.4.1
    - Applied some CAF patches
    - KSM (Kernel Samepage Merging) with suspend/resume support
    - Use LZ4 compressed ramdisk image
    - f2fs Support with recent stable branch patches
    - NTFS Support
    - exFAT Support
    - Using Android device as USB Keyboard/Mouse
    (See the details: https://play.google.com/store/apps/details?id=remote.hid.keyboard.client)
    - Using Android device as USB storage or CD-Rom/DriveDroid Support
    (About DriveDroid: https://play.google.com/store/apps/details?id=com.softwarebakery.drivedroid)
    - mdss KCAL Control
    - Dynamic Fsync support
    - Sound Control
    - Vibrator control
    - Use CUBIC for default TCP congestion control
    - Use BFQ for default I/O scheduler
    - Available TCP Congestion controls : cubic, reno, bic, cdg, westwood, highspeed, htcp, vegas, veno, scalable, lp. yeah, illinois
    - Available CPU governors : blu_active, despair, zzmoove, elementalx, wheatley, impulse, interactive, conservative, ondemand, userspace, powersave, bioshock, performance, relaxed
    - Available I/O schedulers : noop, deadline, row, cfq, bfq, test-iosched, fiops, sio, sioplus, zen, vr, maple

    + Plus: Various patches and upstream patches


    [Changeable tap counts DoubleTap2Wake]
    You can set tap counts of doubletap2wake.
    echo [tap_counts - 1] > /sys/android_touch/doubletap2wake
    Available values are 0 to 9.
    (0 will turn off the doubletap2wake.)

    If you set 'echo 2 > /sys/android_touch/doubletap2wake'
    Screen will turn on after 3 taps and you will tap 3 times in 300ms(100ms * tap counts).

    If you set 'echo 9 > /sys/android_touch/doubletap2wake'
    Screen will turn on after 10 taps and you will tap 3 times in 1000ms(100ms * tap counts).
    Try it! :)

    In Kernel Adiutor 'Half' is same as 'echo 1 > /sys/android_touch/doubletap2wake'. (Double taps)
    And 'Full' is 'echo 2 > /sys/android_touch/doubletap2wake' (Triple taps)


    [DoubleTap2Sleep on Status bar]
    If you double tap the screen at status bar location(top of the screen), it will turn off the screen.


    [Sweep2Sleep on Navigiation bar]
    If you swipe the screen at navigation bar location(bottom of the screen), it will turn off the screen.


    [Screen Off Volume Control]
    == For Volume Control ==
    If you sweep touchscreen up or down in SOVC_TIME_GAP (ms) time
    and detach your finger, volume will increase/decrease
    just one time.

    Otherwise if you sweep touchscreen up or down and hold your
    finger on touchscreen, volume will increase/decrease
    continuously based on SOVC_VOL_REEXEC_DELAY (ms) time.

    See the demo video
    http://tp.jollaman999.com/jolla-kernel_AIO-bullhead/Screen_Off_Volume_Control.mp4

    == For Track Control ==
    If you sweep touchscreen right to left in
    SOVC_TIME_GAP (ms) time, you can play next track.

    Otherwise if you sweep touchscreen left to right,
    you can play previous track.

    Also if you sweep touchscreen right or left and hold your
    finger on touchscreen, track will change
    continuously based on SOVC_TRACK_REEXEC_DELAY (ms) time.

    SOVC_TIME_GAP 250
    SOVC_VOL_REEXEC_DELAY 250
    SOVC_TRACK_REEXEC_DELAY 4000

    Thanks to @flar2 for prevent to sleep bullhead's touchscreen.


    == ARP Project ==
    ARP Spoofing Attack Protecting Project. Protect to update MAC address of the gateway.

    >> Currently implemented <<
    - arp_project: Ignore reply when request not proceeded or source IP is different with requested target IP.
    - arp_project: Ignore request when gateway update attempt detected from other hardware address.


    == MSM Thermal Tunable options ==
    Parameters are here '/sys/module/msm_thermal/parameters'

    [msm_thermal Tunable options]
    = poll_ms - msm_thermal will check the device's temperature every this milli seconds.
    = temp_threshold - Limit the frequency of LITTLE when the temp is reached to this value.
    = temp_big_threshold - Limit the frequency of big when the temp is reached to this value.
    = temp_big_off_threshold - Turn off the big cores when the temp is reached to this value.
    = temp_step_little - If 'temp_step_little = 4' and 'temp_threshold = 60', frequency will decrease like below.
    └─temp = 60 --> LITTLE's max frequency will decrease one step.
    └─temp = 62 --> LITTLE's max frequency will decrease one step.
    └─temp = 63 --> LITTLE's max frequency will decrease one step.
    └─temp = 64 --> LITTLE's max frequency will decrease two steps.
    └─temp = 65 --> LITTLE's max frequency will decrease two steps.
    └─temp = 68 --> LITTLE's max frequency will decrease three steps.
    = temp_step_big - If 'temp_step_big = 2' and 'temp_threshold = 60', frequency will decrease like below.
    └─temp = 60 --> big's max frequency will decrease one step.
    └─temp = 61 --> big's max frequency will decrease one step.
    └─temp = 62 --> big's max frequency will decrease two steps.
    └─temp = 63 --> big's max frequency will decrease two steps.
    └─temp = 64 --> big's max frequency will decrease three steps.
    = freq_step_little - Frequency decrease step for little.
    = freq_step_big - Frequency decrease step for big.
    = temp_count_max_little - If this value is 3, LITTLE's max frequency will decrease 1 to 3 steps.
    = temp_count_max_big - If this value is 5, big's max frequency will decrease 1 to 5 steps.



    [Installation Instructions]
    Just follow the aroma installer!
    (If you install this kernel from other kernel, please re-flash your rom without wipe than flash this kernel!)


    [Download]
    http://tp.jollaman999.com/jolla-kernel_AIO-bullhead/

    [Changelog]
    https://github.com/jollaman999/jolla-kernel_AIO/blob/bullhead/META-INF/com/google/android/aroma/changelog/en.txt

    [Thanks to..]
    The Linux Kernel Archives : https://www.kernel.org/
    LineageOS : https://github.com/LineageOS
    Developers : nkk71, zhuowei, HashBang173, TheScarastic, jaegeuk, Tasssadar, savoca, flar2, franciscofranco and all of commited in their sources & all of xda developers

    XDA:DevDB Information
    jolla-kernel_bullhead, Kernel for the LG Nexus 5X

    Contributors
    jollaman999
    Source Code: https://github.com/jollaman999/jolla-kernel_bullhead

    Kernel Special Features:

    Version Information
    Status: Stable
    Current Stable Version: II-v28.0
    Stable Release Date: 2017-12-16

    Created 2015-12-15
    Last Updated 2017-12-16
    23
    [bullhead-v21.0]

    [bullhead-v21.0]

    New updates for f2fs and sdcardfs with updated recovery!

    == Kernel ==
    - Built with Linaro gcc-linaro-6.3.1-2017.05-rc1
    - Applied timerfd, tty and net patches from Google android-3.10
    - sdcardfs: Applied lastest android-3.10 patches from Google android-3.10
    - f2fs: Appied linux-4.4.y stable branch patches from jaegeuk/f2fs-stable

    == AIO ==
    - f2fs-tools: Applied lastest dev branch patches from jaegeuk/f2fs-tools

    == Recovery ==
    - Built with lastest LineageOS sources
    - Update TWRP to AOSP 7.1.2
    - TWRP version up to 3.1.1
    - Appiled jolla-kernel_bullhead_II-v21.0


    * Android 7.x.x and Android O compatible.
    (WARNING: Android O is NOT OFFICIALLY SUPPORTED! USE WITH YOUR OWN RISK!)
    * If USB Keyboard application stopped at "Opening /dev/hidg0 and /dev/hidg1" message!
    Check root permission and download "SELinuxModeChanger_MOD" from Server Folder.
    http://tp.jollaman999.com/jolla-kernel_AIO-bullhead/SELinuxModeChanger_MOD/
    Change SELinux to Permissive then re-open USB Keyboard.
    Restore SELinux to Enforce after used USB Keyboard for security.
    * In my test, Bluetooth's aptX codec is only worked with LineageOS.
    22
    [I got a other 5X!]

    I changed my old tablet to other 5X.
    Now, I have two Nexus 5X!

    Now I can test new kernels in a convenient way.
    Hurray! :laugh:

    Thank you for all of who love my jolla-kernel!
    22
    [bullhead-v15.2]

    [bullhead-v15.2]

    == Kernel ==
    - mdss: Enable backlight dimmer by default
    - Revert "workqueue: make sure delayed work run in local cpu"
    - msm8992, msm_thermal: Restore poll-ms to 250
    - msm8992, msm_thermal: Get smooth performance in lower temperature
    - rmnet_data, ion, msm: Change %p to %pK (CAF)
    - ASoC: soc: prevent risk of buffer overflow (CAF)
    - ASoC: qdsp6v2: fix potential bug of infinite loop (CAF)
    - qcacld-2.0 (WLAN Driver): LA.BF64.1.2.3_rb1.8 from CAF

    == AIO ==
    - init.bullhead.rc: Reduce LITTLE's boost freq to 960MHz
    - init.bullhead.rc: Adjust hispeed load speedly

    == Recovery ==
    - Revert "gui: Actions: Toggle backlight on power key"
    (Can't turn on the screen after turned off.)
    - init.recovery.bullhead.rc: Reduce LITTLE's boost freq to 960MHz
    - init.recovery.bullhead.rc: Adjust hispeed load speedly
    22
    [bullhead-v8.0]

    == Kernel ==
    >> Common <<
    - Better performance and better battery
    - Source cleanup
    - Linux 3.10.103
    - Applied September patches
    - Built with with Linaro gcc 6.1.1-2016.08-rc2
    - mmc: disable crc check
    - block: Disable add_random
    - block: scheduler: add ZEN v2
    - block: zen: set fifo batch to 16 to reduce overload on eMMC and CPU
    - arp: Export arp_project's sysfs nodes and arp_print_info
    - arp: Remove already included line
    - arp, net/core: Fix exports
    - Revert "arp: Ignore reply when request not proceeded or sip is differ with requested tip"
    - arp: Remove time information
    - arp: Check 'print_arp_info' earlier
    - arp: Fix gateway detection
    - arp: Add ignore_gw_update_by_reply option
    - arp: Cleanup memcpy and useless variables in 'arp_print_info'
    - Remove power efficient workqueue
    - f2fs: Back to stable branch with lazytime patch
    - sovc: Add playing state notifier and cleanup *~tmp pointers + Fix some bugs
    - tcp_cubic: add SNMP counters to track how effective is Hystart
    - tcp_cubic: refine Hystart delay threshold
    - inet_diag: fix access to tcp cc information
    - tcp: add CDG congestion control
    - tcp: cdg: use div_u64()
    - tcp: add tcp_in_slow_start helper
    - tcp: do not slow start when cwnd equals ssthresh
    - tcp: Remove unnecessary arg from tcp_enter_cwr and tcp_init_cwnd_reduction
    - proc: Add jolla-kernel's version information
    - msm_thermal: Fix some wrong logics
    - msm_thermal: Decrease heat and increase device's performance
    - msm_thermal: Add 'freq_step' parameter
    - msm_thermal: Add debug options for core_control and freq_control

    == AIO ==
    - init.d: Remove old lines and add seclabel
    - aroma: Change N's name to Nougat and set as defult
    - Fix disable kcal and sovc not working issue.
    - updater-script: Remove 'jolla-kernel.prop' installation lines
    - Remove sepolicy patch
    - aroma: Add MultiROM license
    - aroma: license: ko: Remove '<U+FEFF>'.
    - multirom: Built with with Linaro gcc 6.1.1-2016.08-rc2

    == jolla-kernel Updater ==
    - Update libraries
    - Fix force close issues
    - Version up to v1.5

    == Recovery ==
    - Built with with Linaro gcc 6.1.1-2016.08-rc2
    - 3.0.2-2
    - init.recovery.bullhead.rc: Add power settings
    (When using recovery, device getting very hot cause default geoversnor is 'performance'.
    Also my board was broken when boot in to recovery mode for a long time.
    So change governor to 'interactive' and add power settings for safety.)
    - jolla-kernel_bullhead_II-v8.0 applied
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone