FORUMS
Remove All Ads from XDA

[MARLIN/SAILFISH] [9.0.0] [3.18.119] [CLANG 7.0] Flash Kernel 2.03

13,470 posts
Thanks Meter: 48,406
 
Post Reply Email Thread

Introduction

Hello everyone, this is my personal kernel for the Pixel (sailfish) and Pixel XL (marlin). While I am not a super star kernel developer, I do know my way around it. My philosophy on kernels is pretty simple:
  • Follow stable Linux always. Updates will be delivered within 24 hours of their release to kernel.org.
  • Stable kernel rules work best (only add small things when possible).
  • Security and stability are paramount. Vulnerabilities are patched as soon as they are disclosed.
  • Features will be added only as needed (I have a list of things in the FAQ I will NOT add, even if requested).
Hopefully you enjoy


Important thread information!
  1. I refuse to acknowledge/respond to bug reports that do not include clear steps to reproduce, a logcat, and a console ramoops (if random rebooting) or a dmesg (any other issues). Follow this guide to do this.
  2. Keep things civil, I do NOT tolerate flaming of any kind.
  3. OT is allowed.


Features
Here are the major features of the kernel (feel free to explore Github)
  • Up to date with the August security update (android-9.0.0_r0.4)
  • Up to date with the latest stable Linux version (3.18.119)
  • Latest binder and sdcardfs commits from kernel/common
  • Several subsystems converted to use power efficient workqueues
  • Mainline improvements to CFQ
  • Kernel hardening from CopperheadOS
  • Westwood as the default congestion algorithm
  • Sultanxda's wake boost driver
  • The following user facing features:
    • Backlight dimmer
    • Color control
    • HBM
    • Maple I/O scheduler
    • Sound control
    • USB fast charging
    • Wake gestures
    • Wakelock blocking
    • Vibration control
  • Latest WireGuard snapshot (0.0.20180809)
  • Built with a self compiled Clang 7.0 toolchain with a local initialization sanitizer (build script here)
  • Hides bootloader unlock from SafetyNet (can still fail through other means)
  • Available to flash with AnyKernel2 (thanks to @osm0sis) [zip will automatically detect when Magisk is installed and patch the kernel so reflashing Magisk becomes unnecessary]


Downloads

Primary: https://nathanchance.me/downloads/kernels/marlin
Mirror: https://github.com/nathanchance/fk-zips

NOTE: Although the kernel's name is Marlin, it is for both Marlin and Sailfish (fully unified).

Folder descriptions:
  1. alpha: Very likely broken or contains highly experimental patches; should only be run if you want to be a part of cutting edge development
  2. beta: Normal testing build; bootable and has no immediate issue.
  3. rc: Same as a beta but has had no issues for at least three days. I recommend running these when they are out as they will be pushed to the stable folder after a few days.
  4. stable: Same as rc but has had no issues for at least three days. If you are unsure which one to run, just use this one.
  5. archive: Old stable kernels

All issues with any build other than a stable build MUST be reported via Telegram. I keep my development out in the open but I don't let it cross over onto XDA. I do recommend participating as I am quicker to fix issues if I have multiple people testing. I request that you do not mirror my kernels. If the primary site is down, please use the mirror. Navigate to the file you want and click the download button. If you are mobile, tell GitHub to use the desktop version. I don't need posts telling me the primary site is down, it's my build server so I'll know if it is down. Thanks!


Installation

NOTE: These sets of steps should work for both initial installations and upgrades. All sane kernels on this device are just replacing the kernel image and maybe adding some cmdline parameters, which this kernel won't care about. If there are ANY issues after flashing this kernel over another, be sure to flash the stock boot image for your ROM, TWRP + Magisk if you want them, then the kernel before reporting any issues.

Through TWRP:

See their instructions for further information, you can install the kernel with TWRP temporarily booted or permanently installed.
  1. Boot into TWRP.
  2. Flash the zip (flashing Magisk is not necessary if you already have it installed).
  3. Reboot and enjoy!

Through Franco Kernel Manager (requires root):

If you are not on the Flash Kernel channel, go to Options, select "Channel for Kernel updates", choose "Flash Kernel", then go back to "Kernel flasher".

Stable build:
  1. Tap on "Get Flash Kernel"
  2. Tap on "Auto-flash"
  3. Your phone should reboot automatically!


Test build (alpha/beta/rc):
  1. Download the zip (and optionally, the md5) from my server
  2. Tap on "Manual flasher"
  3. Navigate to Download
  4. Tap on the zip, select Auto-flash, and choose one of the options.
  5. Reboot and enjoy!


NOTE: On custom ROMs, you must do a reboot between installing the ROM and installing the kernel/Magisk on a clean flash otherwise you may end up in a bootloop...


Changelog

Latest release post!

Commits


Frequently asked questions
1.1 Q: I am having an issue, can you help me?
1.1 A: I am not an amazing kernel developer but I will certainly try my best. First, start by reading the release posts, as I may make note of a particular issue. Also search the thread to see if I have discussed it before. If you see nothing, please provide me with a dmesg/last_kmsg and logcat, your ROM/kernel version, and a detailed description of the issue, following this guide. If I can't reproduce reliably, I'm not going to fix the issue.

1.2 Q: Can you add xyz feature?
1.2 A: If you link me the commits or tell me what kernel you had the feature in, I can take a look at them. I will not go digging super hard for commits and I will ignore requests that don't include this information. I won't promise that I will merge every request but I will always take it into consideration. I will NOT add the following:
  • Overclocking or underclocking of CPU or GPU
  • Undervolting
  • Any governors other than sched/schedutil
  • Any schedulers other than cfq
  • Anything that compromises performance

1.3 Q: How do I control the kernel?
1.3 A: I want to be very clear: the kernel does NOT need to be tuned to be useful. Most of the improvements are under the hood and don't require any user intervention to take advantage of them. In fact, if you don't know what you are doing, you could degrade the experience.

To control the user visible features of the kernel listed above, I recommend using either @franciscofranco's Kernel Manager for Franco Kernel (which has Flash Kernel support for downloading and automatically flashing the latest kernel zip along with some nice, user friendly ways for tuning the kernel) or @flar2's EX Kernel Manager.

1.4 Q: OMFG MY BATTERY SUXXXX PLS FIX!!!
1.4 A: The kernel doesn't drain any battery, use an app like BetterBatteryStats to figure out what app is screwing with your phone.


Thanks to:
The various other developers for their patches
@osm0sis for AnyKernel2
@franciscofranco for adding Flash Kernel support to Kernel Manager for Franco Kernel
@phantom146 for the thread banner
All of you guys for viewing the thread


A note about donations

Quite a few people have asked to donate to me in the past and I have turned them down. I am not in this for the money, this is my hobby, something I truly enjoy. If you truly want to donate to something (it is not expected in the slightest), I recommend an entity like the Open Source Initiative, the Free Software Foundation, XDA, or any one of the people I have thanked in the OP. Additionally, you are free to copy any and all of my work; the only thing I request is that you not ask for donations as well (though I can't really enforce this lol). Thank you.


Kernel source links

8.1.0/P Preview 2-5: https://github.com/nathanchance/marlin/tree/oreo-m4
9.0.0: https://github.com/nathanchance/marlin/tree/pie


DISCLAIMER: I openly welcome off topic in my threads. Mods, please do not clean off topic discussion and users, do not complain about off topic discussion here. I may direct you to another thread if it is so suited but I won't have the discussion cleaned. Thank you.
The Following 21 Users Say Thank You to nathanchance For This Useful Post: [ View ]
 
 
10th May 2018, 06:44 AM |#3  
nathanchance's Avatar
OP Recognized Developer / Recognized Contributor
Flag Mesa, AZ
Thanks Meter: 48,406
 
More
You may notice the feature list is a little bare. I wanted to get a nice solid base formed first then add features in as requested. Please read the thread before requesting a feature; if it is already present, just press thanks.

In theory, this should work on P as I have merged the source in. I have only tested on Oreo though.

Feel free to join Telegram for beta builds and hanging out https://t.me/joinchat/C1UAJ0OCAoJtDRo-hhkjhw
The Following 4 Users Say Thank You to nathanchance For This Useful Post: [ View ]
10th May 2018, 09:29 AM |#4  
stebomurkn420's Avatar
Senior Member
Flag Pitsburg
Thanks Meter: 859
 
Donate to Me
More
Quote:
Originally Posted by nathanchance

You may notice the feature list is a little bare. I wanted to get a nice solid base formed first then add features in as requested. Please read the thread before requesting a feature; if it is already present, just press thanks.

In theory, this should work on P as I have merged the source in. I have only tested on Oreo though.

Feel free to join Telegram for beta builds and hanging out https://t.me/joinchat/C1UAJ0OCAoJtDRo-hhkjhw

Awesome! Thank you Nathan...
The Following User Says Thank You to stebomurkn420 For This Useful Post: [ View ] Gift stebomurkn420 Ad-Free
10th May 2018, 10:34 AM |#5  
Chimaira33's Avatar
Junior Member
Thanks Meter: 9
 
More
Add KCAL Color Control and I'm in. All I've wanted for so long is a stock like stable kernel with KCAL so I can tweak the display!
I ran your flash kernel the short time it was available for my old Nexus 6, happy to see this kernel here.
The Following User Says Thank You to Chimaira33 For This Useful Post: [ View ] Gift Chimaira33 Ad-Free
10th May 2018, 01:44 PM |#6  
aoaleman's Avatar
Senior Member
Flag San Antonio, TX
Thanks Meter: 827
 
More
Thank you for bringing this to marlin!!
The Following User Says Thank You to aoaleman For This Useful Post: [ View ] Gift aoaleman Ad-Free
10th May 2018, 04:55 PM |#7  
nathanchance's Avatar
OP Recognized Developer / Recognized Contributor
Flag Mesa, AZ
Thanks Meter: 48,406
 
More
Quote:
Originally Posted by Chimaira33

Add KCAL Color Control and I'm in. All I've wanted for so long is a stock like stable kernel with KCAL so I can tweak the display!
I ran your flash kernel the short time it was available for my old Nexus 6, happy to see this kernel here.

Sure, I can add that always happy to see returning users!
The Following 2 Users Say Thank You to nathanchance For This Useful Post: [ View ]
10th May 2018, 05:06 PM |#8  
shagbag913's Avatar
Senior Member
Flag United States
Thanks Meter: 319
 
More
Quote:
Originally Posted by nathanchance

Sure, I can add that always happy to see returning users!

Was looking at your taimen post and was thinking to myself I wish we had this on sailfish/Marlin. Can you add schedutil?
The Following User Says Thank You to shagbag913 For This Useful Post: [ View ] Gift shagbag913 Ad-Free
10th May 2018, 05:06 PM |#9  
Gordietm's Avatar
Senior Member
Flag Toronto
Thanks Meter: 230
 
More
I tried another kernel on Android P preview 2 and had some problems. You noted that this kernel includes the source links for preview 2. The other I think only had preview 1. Would there be a difference?
10th May 2018, 06:15 PM |#10  
nathanchance's Avatar
OP Recognized Developer / Recognized Contributor
Flag Mesa, AZ
Thanks Meter: 48,406
 
More
Quote:
Originally Posted by shagbag913

Was looking at your taimen post and was thinking to myself I wish we had this on sailfish/Marlin. Can you add schedutil?

I plan to look into EAS 1.5 tomorrow or this weekend I will look at adding features tonight.

Quote:
Originally Posted by Gordietm

I tried another kernel on Android P preview 2 and had some problems. You noted that this kernel includes the source links for preview 2. The other I think only had preview 1. Would there be a difference?

Yes although I don't know how much offhand.
The Following 5 Users Say Thank You to nathanchance For This Useful Post: [ View ]
10th May 2018, 07:27 PM |#11  
Akomack's Avatar
Senior Member
Thanks Meter: 68
 
More
@nathanchance I haven't had a change to flash this yet, I really enjoyed this from my 6P days. Can you tell me if HBM and backlight dimmer are available? If not, could I request them? Any wakelock blocks available? Possibly fingerprint scanner boost--NSFW Kernel has this.

Thanks, I was really missing Flash Kernel
The Following User Says Thank You to Akomack For This Useful Post: [ View ] Gift Akomack Ad-Free
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes