[Nexus 5X Original Android Development] jollaman999:
[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