[REFERENCE] Umbrella Kernel - Nokia 8 ROMs, Kernels, Recoveries, & Other Develop

WARNING:
This is not a post targeted to end users. It is a development reference. If you expect any installable download or even added features out of this thread, please close your browser. Thank you.
What is Umbrella?
Umbrella is a project that aims to make the kernel sources that HMD released for Nokia 8 Sirocco (A1N) compatible with the Nokia 8 (NB1). The idea behind this is to replace the outdated 8.0 kernel sources that HMD released for NB1 with more up to date ones that are used in the 9.0 builds for Nokia 8 Sirocco.
Why do this, you might ask. Well, the answer is simple: The devices are so similar that HMD / FIH already have their kernel sources in a shared source tree. You can validate that yourself, by downloading the kernel config from a stock NB1 kernel (under /proc/config.gz), unpacking it, and searching for the commended entry "CONFIG_FIH_A1N". What umbrella does is take the sources that were released for A1N, readd all device specific files for NB1 (they were pruned) from it's original kernel soure, and integrate the stock kernel config (also called defconf) from NB1.
Doing this also lead to some other small quality of life improvements that are not directly relevant to an end user.
Umbrella contains the latest changes from linux-stable (v4.4.179 at the time of writing, compared to the stock v4.4.153), and Qualcomms Codeaurora upstream
The WiFi driver from Qualcomm is compiled directly into the kernel, instead of being loaded as a module. This allows you to flash umbrella based kernels to every build version while keeping everything else working correctly. The stock kernels use signature enforcement, which means that the wifi module that is loaded from the system partition has to be signed against the kernel, which is not the case for every custom kernel or even the kernels that were built for a different security patch.
Unlike the officially released kernel sources, umbrella does not have stupid typos in it's device trees that cause the phone to display white bars on all of your screen etc.
Umbrella disables the block that FIH put in place to prevent users from rebooting into EDL mode from within android (using adb reboot edl).
Umbrella also includes a patch that causes the device to not reset it's entire memory when the kernel crashes, therefore retaining the last kernel output log, which can be used for debugging
You can compile the kernel with compilers newer than GCC 4.9 (not clang though), without having it immideately crash at boot.
It includes a tool that automatically sets up a crosscompiling environment for the kernel.
What Umbrella is not
Umbrella is not a project to add significant new features, or the ability to tweak things beyond what the stock kernel already offers (which is technically not that bad). It aims to be a reference kernel, a base for (potentially) other kernels that are based on it and add those features. I know that that is kind of a broad goal, considering I am the only one who seems to do actual development for this phone, but who knows. Having a lower entry level might help in case someone is curious and wants to get into kernel hacking. And I would certainly be happy if I wasn't the only one developing for this device.
If you want Umbrella to contain features like:
Overclocking
More governors / schedulers / whatever
Color / Sound / whatever control
Wakelock blocking
etc. etc. etc.
then please Alt-F4 your browser right now. Ok, don't do that but at least please don't request it because it will make you get ignored, nothing else.
Why the name Umbrella?
While I developed the initial prototype I watched through 3 Resident Evil movies, and this is kinda a zombie project, so I think the name fits quite well.
Why are you posting this?
I am posting this because I am hoping that it will be useful for anyone that would like to get into kernel development and tweaking without the hassle that comes with setting up the kernel sources that are released by HMD.
But, one disclaimer: I am not a kernel developer. I am a curious CS student suffering from a bad mix of too much time and stupid ideas that solve stupid problems. I am trying my best to produce something useful and be of help, but please don't expect wonders from me, thanks.
Links?
Source: https://github.com/resident-nokia/umbrella
Download: None, this is a development reference.

Looks promising
Sent from my NB1 using XDA Labs

Nice. this will likely be useful in the future

Updated the umbrella source to the latest 4.4.180 kernel, and May 07 CAF tag (LA.UM.7.4.r1-05100-8x98.0). Also readded some NB1 specific code where it was missing (discovered by doing a diff against the 5140 kernel source that Nokia recently released).
Just in case anyone actually cares about it

THMSP said:
Updated the umbrella source to the latest 4.4.180 kernel, and May 07 CAF tag (LA.UM.7.4.r1-05100-8x98.0). Also readded some NB1 specific code where it was missing (discovered by doing a diff against the 5140 kernel source that Nokia recently released).
Just in case anyone actually cares about it
Click to expand...
Click to collapse
I do. Who knows, in a year's time I might have enough knowledge to build a custom Rom for this phone

Kernel sources which is used on pie has been released officially. Finally, we have an "original" kernel and we've got closed one more step to custom roms.
https://www.nokia.com/phones/en_int/opensource/

techno_man000 said:
Kernel sources which is used on pie has been released officially. Finally, we have an "original" kernel and we've got closed one more step to custom roms.
https://www.nokia.com/phones/en_int/opensource/
Click to expand...
Click to collapse
@THMSP it would be interesting to let us know how different is your kernel mod from the newly released official pie kernel for Nokia 8

MDV106 said:
@THMSP it would be interesting to let us know how different is your kernel mod from the newly released official pie kernel for Nokia 8
Click to expand...
Click to collapse
As I described here: https://forum.xda-developers.com/nokia-8/development/official-source-code-releases-nokia-8-t3930324, they are identical. The only difference are the device tree files (which still contain typos that break the display), and of course all modifications I made to the sirocco kernel source that Umbrella is based on (wifi driver, EDL mode reactivation, upstreaming, etc.)

THMSP said:
As I described here: https://forum.xda-developers.com/nokia-8/development/official-source-code-releases-nokia-8-t3930324, they are identical. The only difference are the device tree files (which still contain typos that break the display), and of course all modifications I made to the sirocco kernel source that Umbrella is based on (wifi driver, EDL mode reactivation, upstreaming, etc.)
Click to expand...
Click to collapse
So, are these new codes broken like 4.84?

techno_man000 said:
So, are these new codes broken like 4.84?
Click to expand...
Click to collapse
I wouldn't call Nokia sources broken, but I would call them incomplete, outdated and impractical to work with. And that hasn't changed.

Iam currently building device tree for nokia 8..
Unable to figure out how to edit init folder specifically for nokia8

[email protected] said:
Iam currently building device tree for nokia 8..
Unable to figure out how to edit init folder specifically for nokia8
Click to expand...
Click to collapse
Please do so! We can't let this phone die so early!

which defconfig file should choose?

lk

[email protected] said:
which defconfig file should choose?
Click to expand...
Click to collapse
nb1_defconfig is for Nokia 8

Can somebody help me? I have built Lineage OS 16.0 for the Nokia 8 with the Umbrella Kernel. However I am facing issues with getting it into work. Firstly TWRP fails to flash it with error 7. I am including the recovery.log file in case anyone wants more detail. I then proceeded to extract the payload.bin file, and flashed boot.img and system.img seperately. However that didnt work either as my phone got stuck at the Bootloader unlocked warning screen. If anyone is interesteed I can upload the .zip outputed by the build
Device Tree: https://github.com/GPUCode/android_device_nokia_nb1
Recovery.log: https://hastebin.com/akohutiwed.sql
Thanks in advanced

emufan4568 said:
Can somebody help me? I have built Lineage OS 16.0 for the Nokia 8 with the Umbrella Kernel. However I am facing issues with getting it into work. Firstly TWRP fails to flash it with error 7. I am including the recovery.log file in case anyone wants more detail. I then proceeded to extract the payload.bin file, and flashed boot.img and system.img seperately. However that didnt work either as my phone got stuck at the Bootloader unlocked warning screen. If anyone is interesteed I can upload the .zip outputed by the build
Device Tree: https://github.com/GPUCode/android_device_nokia_nb1
Recovery.log: https://hastebin.com/akohutiwed.sql
Thanks in advanced
Click to expand...
Click to collapse
hey, did you wipe userdata before flashing this? I think you need to do that, like when switching to using GSIs.
also, have you checked this https://github.com/resident-nokia/twrp? Specifically the fstab file for NB1.

oaid said:
hey, did you wipe userdata before flashing this? I think you need to do that, like when switching to using GSIs.
Click to expand...
Click to collapse
Thanks for the suggestion. I have flashed GSIs before but never had any problems. Also I cannot find any userdata partition in TWRP. I asked in the Lineage OS discord and I was told that probably that TWRP image is broken. I am confused

emufan4568 said:
Thanks for the suggestion. I have flashed GSIs before but never had any problems. Also I cannot find any userdata partition in TWRP. I asked in the Lineage OS discord and I was told that probably that TWRP image is broken. I am confused
Click to expand...
Click to collapse
that's the data partition, if I'm not mistaken ?*
which twrp image are you using? Maybe try Dorian's latest?

oaid said:
that's the data partition, if I'm not mistaken ?*
which twrp image are you using? Maybe try Dorian's latest?
Click to expand...
Click to collapse
Yes I am using the latest TWRP. Before flashing I erased the data partition but still the error persisted

Related

Simplistic HTC Hero Kernel Question.

Hi All,
Running rooted Hero with Modaco 2.5.1 rom ( thanks Paul )
Was hoping someone could ( simplistically ) answer a few question for me.
As I understand it - one of the things holding back development of Hero ROMS is that HTC haven't released the kernel for the Hero.
1) What exactly IS the kernel in the greater scheme of things?
2) When are HTC likely to release it?
3) When it is released, what new things will it allow developers to do?
4) Anything else relevant to it worth knowing?
TIA
Look at these:
1. The kernel is the Operating System for the phone, it runs everything.
2. That is the magic question...
3. It'll allow more development in terms of mods. we'll be able to change alot more and get more out of the phones.
I'm sure others will have more detailed explanations.
Regarding question 2:
I've gotten response from HTC support the other day that the release is planned but no sure date could be given.
Date: 5th of October
My question:
Hello there, I realize that this might not be the normal kind of request you guys get, but here goes. This is probably not your average request and might require escalation. I was wondering when the source code for the Hero kernel was gonna be available at developer.htc.com?
Click to expand...
Click to collapse
Answer:
Hello
This is quite a normal question we get here at HTC. The source code is something that will becoming soon. We have had contact with those far higher than my self or are planning on adding the source code as soon as possible. I have not been given a time scale but bases on the code for the two other handsets i should expect it in the next couple of weeks.
Hope this helps.
Click to expand...
Click to collapse
So, educated guess would be around the release of the Hero in the US.
Some if I have this right -
The kernel is the basic underlying OS of the phone, and a ROM sits on top of this end gives us the end user experience ( and Sense UI is within the ROM ).
Am I right in thinking the kernel is linux based?
And a big magic question - when the kernel is released, will people be able to modify it and get the bluetooth working properly?
Sorry if it's a bit basic - but interesting to me....
The Kernel is not the OS (As most people understand an OS to be) (OS meaning Operating System)
It's at the core of the OS but is not the OS. You can keep the same build of an OS but update the kernel and vica versa. It is (put simply) what converts the hardware calls from the OS into something the hardware understands.
So (using current issues as explanation) The OS tries to load the GPS and the kernel isn't configured with the right settings the GPS won't load. Similarly if you try and use the trackball and it's not setup in the kernel then it won't do anything.
The OS will still work fine with other things but until the kernel has the right settings put into it it just won't see the parts of the phone it's not set up to.
Here is a technical description of a Kernel.
http://www.linfo.org/kernel.html
I'm sure I've just made it as clear as dishwater but if not I hope it's helped.
J-Zeus said:
Some if I have this right -
The kernel is the basic underlying OS of the phone, and a ROM sits on top of this end gives us the end user experience ( and Sense UI is within the ROM ).
Click to expand...
Click to collapse
Not exactly. To add to what akirainblack has said already...ROM stands for Read Only Memory. In this context it is a bit different as it is the complete package that makes up the Kernel, the OS and anything that is pre-installed to the phone. When you run the RUU (Rom Update Utilitiy) on your PC is completely refreshes the system software in your phone - Kernel, OS and any pre-installed apps - just as if you had bought it from the shop like that.
J-Zeus said:
Am I right in thinking the kernel is linux based?
Click to expand...
Click to collapse
Yes.
Hmmm...
simple question... when the kernel is available... would we be able to get a white taskbar on the Hero?
//Nik
When the kernel source is available, we should be able to rebuild Android completely from the source code repositories and do practically whatever you want.
Regards,
Dave
foxmeister said:
When the kernel source is available, we should be able to rebuild Android completely from the source code repositories and do practically whatever you want.
Regards,
Dave
Click to expand...
Click to collapse
Including getting Bluetooth working?
J-Zeus said:
Including getting Bluetooth working?
Click to expand...
Click to collapse
In theory, yes. In practice, the situation is a little more complicated, but at the very least I'd imagine it would be possible to get BlueX, or something like it, working on rooted Heros fairly quickly.
Regards,
Dave
Given that this is a Linux kernel, aren't HTC required by the GPL to make the source available to all Hero owners?
This is covering the same ground, but is another way to look at things regarding the kernel and the OS. The kernel abstracts the specifics of the hardware from the Android system. For example, when the Android system requests that the bluetooth hardware be enabled, the kernel can translate that request so that it works with the particular hardware of the phone - as the bluetooth hardware of the Magic may be different from the bluetooth hardware of the Hero. So the kernel, is an interface that translates and Android call to the specific hardware level controls necessary. The kernel sits between the hardware and the Android system.
It also means that releasing the kernel will not allow us to make changes to the Hero Android user interfaces. If we want to change colours, icons and so on in the Hero ROM, we would need the source code for their "tweaked" Android and maybe to some degree their TouchFlo software. I doubt they would give that away. It would allows us however, to tweak the kernel, or transplant the driver code for specific hardware pieces in the Hero, to a newer version kernel.
I understand that the release of the hero kernel, could help me with my cause (getting 1.5/1.6 'clean' android on my hero without any htc apps/front ends).
Somebody suggested contacting HTC and asking for it to be released.
I have a few questions regarding that:
1) Has this happened before? That HTC released an android kernel?
2) Did this happen after the request?
3) Who should we contact to get it? (which HTC division)
4) Is there a possibility that they don't want to release it, because it would allow people to copy parts of the proprietary interface?
E2K said:
1) Has this happened before? That HTC released an android kernel?
Click to expand...
Click to collapse
Take a look at http://developer.htc.com/
The Dream and Magic sources are available.
E2K said:
4) Is there a possibility that they don't want to release it, because it would allow people to copy parts of the proprietary interface?
Click to expand...
Click to collapse
The HTC Sense UI won't be included in the kernel source.
They dont have to release the source of them.
New question
Is it possible to create a new donut kernel (2.6.29) with the changes they made to the 1.5 kernel (2.6.27)?
Looks like they send you the hole kernel, not just some patches and new drivers...
mopodo said:
Take a look at http://developer.htc.com/
The Dream and Magic sources are available.
Click to expand...
Click to collapse
So this means that we could compile or 'cook' a working vanilla android 1.5 for the HTC hero, with everything working fully?
HTC HAS to release the kernel source as required under the GPL license that the kernel was released under. It is indeed a linux kernel and it contains the necessary parts to work the hardware along with extra drivers and modules (stupid monolithic kernels).
Here's what I don't get (and hopefully somebody will clarify this for me). Why hasn't anybody tried building android with the current kernel available? Android has the ability to be built around a pre-compiled kernel (it does this if you do a straight make right after repo sync with the pre-compiled dream kernel). You'd only need to re-build the wlan.ko module for the new kernel and the gps module would be compiled against the specified kernel, so it should work.
If I had Hero, I'd test it (if you want to trade your Hero for my G1, hit me up ), but there's no reason it shouldn't work.
Up to now, I've only seen ports, and those are hard to make work because of the pre-compiled files, so that leads to loads of file-swapping and finger-crossing, but an AOSP make should still work. Anybody wanna try it (or post me a hero kernel and I'll compile you a stock donut build to test).
jubeh said:
HTC HAS to release the kernel source as required under the GPL license that the kernel was released under. It is indeed a linux kernel and it contains the necessary parts to work the hardware along with extra drivers and modules (stupid monolithic kernels).
Here's what I don't get (and hopefully somebody will clarify this for me). Why hasn't anybody tried building android with the current kernel available? Android has the ability to be built around a pre-compiled kernel (it does this if you do a straight make right after repo sync with the pre-compiled dream kernel). You'd only need to re-build the wlan.ko module for the new kernel and the gps module would be compiled against the specified kernel, so it should work.
If I had Hero, I'd test it (if you want to trade your Hero for my G1, hit me up ), but there's no reason it shouldn't work.
Up to now, I've only seen ports, and those are hard to make work because of the pre-compiled files, so that leads to loads of file-swapping and finger-crossing, but an AOSP make should still work. Anybody wanna try it (or post me a hero kernel and I'll compile you a stock donut build to test).
Click to expand...
Click to collapse
Hi, thank you for this information. You make it sound like it's possible
I tried searching for the Hero Kernel, but I could only find this:
http://developer.htc.com/
The hero is not listed (maybe it shares a lot with the magic kernel?).
edit: this post dating from september 10 stated that HTC would "release the kernel source soon".
This was more than a month ago though..
edit2: calling HTC Netherlands right now..
edit3: after explainig the need for the kernel, I've been on hold for 10 minutes now..
edit4: more than 18 minutes now
edit5: after 26 minutes I hang up
Well I have a Hero running Modaco 2.2. I could post this kernel (where?) Or it surely could be extracted from one of the ROMs available on this very site
SquiffSquiff said:
Well I have a Hero running Modaco 2.2. I could post this kernel (where?) Or it surely could be extracted from one of the ROMs available on this very site
Click to expand...
Click to collapse
I could be wrong, but I believe there is a difference between the 'kernel', and the 'kernel source'. The second one is needed when you want to compile the kernel.
Speaking as one who has compiled kernels in the past there are three components required here:
The kernel source- this is typically available from http://kernel.org/ If HTC have made any changes to the source of the kernel itself then these should be apparent in their distribution of the kernel source
The relevant configuration file '.config' which should accompany their distribution of the kernel source and permit you to compile any other kernel as a drop in replacement.
Source code and makefiles for any custom kernel modules ('drivers' in windows terminology) In Linux these have to be compiled together with the kernel.
To use a cookery analogy:
The kernel source is the raw ingredients. It can be set up for anything from a supercomputer to a DVD player depending on how you use it. The kernel config is the method which will allow you to bake the type of cake you intend. The modules sources are any of HTC’s own custom ingredients required for everything to work. THe kernel is the finished cake which you eat.

[DISCUSSIONS][TESTING][ROM][UNOFFICIAL] CyanogenMod 13 ALPHA Build

This is a test build I take no responsibility for what this may or may not do to your device.
Click to expand...
Click to collapse
NEED TESTERS
currently i don't have the device to test i will be getting my device in the next week .
Click to expand...
Click to collapse
1. Install CWM Recovery
2. Do Full Wipe If coming from another ROM
3. Flash ROM
4. Flash Google Apps (my recommendation is to install minipal gapps due to /system partition size limits)
5. Reboot
Click to expand...
Click to collapse
]Not Booting
Click to expand...
Click to collapse
Code:
[B]Source[/B]
Here are the device tree :
Device Tree (from cm13 Nexus 9) : https://github.com/vickdu31/android_device_xiaomi_mocha
Kernel Tree (from Xiaomi KK) : https://github.com/vickdu31/android_kernel_xiaomi_mocha
Vendor Tree (old Xiaomi KK) : https://github.com/vickdu31/android_vendor_xiaomi_mocha
Thank you
@faust93 for cwm
XDA:DevDB Information
CM-13, ROM for the Xiaomi Mi Pad
Contributors
Rohit99, tank0412, vickdu31
ROM OS Version: 6.0.x Marshmallow
Based On: CyanogenMod
Version Information
Status: Testing
Created 2016-12-10
Last Updated 2016-12-13
Reserved
Edit 1:initial build didn't boot for me, no adb can't get log
Ok im gonna try it.
If you want, i can leave logcat for you
OoSTARTERoO said:
Ok im gonna try it.
If you want, i can leave logcat for you
Click to expand...
Click to collapse
Can get logcat? Try please.
Ofc, it doesn't boot. And don't create threads without testing.
Sudeep Duhoon said:
Can get logcat? Try please.
Click to expand...
Click to collapse
unfortunately....I couldn't get logcat too...
Sudeep Duhoon said:
Can get logcat? Try please.
Click to expand...
Click to collapse
we can't get logcat. It doesn't boot, i mean there are problems with kernel or init scripts or both. Kernel needs patches.
Nihhaar said:
Ofc, it doesn't boot.
Click to expand...
Click to collapse
As I thought
Prebuilt kernel from cm11
Sudeep Duhoon said:
As I thought
Click to expand...
Click to collapse
hey can i use prebuilt kernel from cm11 source @Nihhaar
Rohit99 said:
hey can i use prebuilt kernel from cm11 source @Nihhaar
Click to expand...
Click to collapse
Always try to build kernel with source. I think you can't, but you can try.
Please edit the link in OP, its me who miswrote it... : /android_device_xioami_mocha --> /android_device_xiaomi_mocha
You need to fix up SELinux and the init scripts. Taking a shield tablet device tree, renaming things to mocha and changing the fstab isn't enough. As far as I can tell the shieldtablet device tree also has dependency on a shield common tree. There's also no value in creating a new thread each time you push new commits
Our kernel from Xiaomi is also pretty useless without commit history. The device tree is also from shield tablet, not Nexus 9.
We also have a tree for building TWRP with OmniROM that you can compile TWRP 3.0.2.0 with.
What kernel repo is upstream one for tegra android? Like CAF for quallcom.
I've tried to merge xiaomi changes on l4t kernel https://github.com/HighwayStar/android_kernel_xiaomi_mocha
Merged dts files and arch/boot/march-tegra with some required drivers, but still cant boot it. Found somewhere here that l4t kernels is not for android, but for GNU/Linux, but what kernel is for android?
Cyanogenmod's shield kernel?
highwaystar_ru said:
What kernel repo is upstream one for tegra android? Like CAF for quallcom.
I've tried to merge xiaomi changes on l4t kernel https://github.com/HighwayStar/android_kernel_xiaomi_mocha
Merged dts files and arch/boot/march-tegra with some required drivers, but still cant boot it. Found somewhere here that l4t kernels is not for android, but for GNU/Linux, but what kernel is for android?
Cyanogenmod's shield kernel?
Click to expand...
Click to collapse
git://nv-tegra.nvidia.com/linux-3.10.git
I used rel-tn8-l-r7-shieldtablet8 to make a start on doing this. You could also use android_kernel_shield from CyanogenMod repo as it comes from the same place. But it will have a lot of extra commits for things not useful for mocha.
Here's what I have so far:
https://github.com/harrynowl/nvidia_tegra-3.10
Harrynowl said:
git://nv-tegra.nvidia.com/linux-3.10.git
I used rel-tn8-l-r7-shieldtablet8 to make a start on doing this. You could also use android_kernel_shield from CyanogenMod repo as it comes from the same place. But it will have a lot of extra commits for things not useful for mocha.
Here's what I have so far:
https://github.com/harrynowl/nvidia_tegra-3.10
Click to expand...
Click to collapse
Oh, intresting, cloned same url, but started other branch l4t/l4t-r21.5.
What status of your tree? Cant boot? We need minimal bootable kernel to be able to get dmesg and make further progress.
highwaystar_ru said:
Oh, intresting, cloned same url, but started other branch l4t/l4t-r21.5.
What status of your tree? Cant boot? We need minimal bootable kernel to be able to get dmesg and make further progress.
Click to expand...
Click to collapse
Untested, been doing device bring up. That kernel won't work yet anyway it's missing atmel, synaptic and battery firmware. (Plus the code that goes with it)
Some devs have one that gets to recovery but only 1 CPU core can come online and the CPU gets a bit hot. Unfortunately their commit history is hard to follow so I've not had a proper look at it yet
My my...it's been a while since I've seen a cringe-worthy dev thread on XDA. So OP just used the device tree from Nexus 9 (a 64-bit device with a different processor and nothing in common with the Mi Pad other than the fact that they use Nvidia SoCs and are both tablets), unmodified KITKAT kernel sources from Xiaomi (which takes work to make it boot, even on KK) and KITKAT userspace blobs to compile the ROM, and for some reason decided to share it without testing. The 10-post rule is meant to keep such people out of the development sub-forums, but obviously that's not working.
I do not understand why the moderators are allowing this thread to remain open. It's just a thread by a wannabe dev offering a non-bootable ROM that has the potential to brick the devices of many newbies who may decide to try this.
This thread is even more useless than the other "DEVS-ONLY" thread someone else made. Honestly, the entire Mi Pad forum is filled with people who either expect Android 7.1.1 to magically appear on their tabs just because Xiaomi released outdated kernel sources or just wanna create threads like this for the "thanks or whatever". The never ask for ETA rule seems to just float over their heads.
Now to some useful information. I believe, even if we patch the kernel enough for it to theoretically boot cm13, it probably won't, considering the outdated userspace blobs for the Mi Pad. Unless someone has the knowledge to take their tab apart and figure out how to get UART data, it will be virtually impossible for the mi pad kernel to boot any new version of Android. I heard another interesting approach taken by some russian devs at the Xiaomi forums. They've managed to port the kernel from the Nvidia shield (and apparently it's booting). Now this would mean we can use the userspace blobs from the Shield to at least get the ROM booting (most peripherals won't work, but that's step 2). I do not know whether they use GitHub or if they've even open-sourced their work, but now we know that it's possible, so that could be a possible method of approach.
EDIT: LOL. I just read the OP again. The "dev" expects donations to help him work harder. This from a person who posted his way into somehow compiling his first Android build without even having the damn device.
drakonizer said:
My my...it's been a while since I've seen a cringe-worthy dev thread on XDA. So OP just used the device tree from Nexus 9 (a 64-bit device with a different processor and nothing in common with the Mi Pad other than the fact that they use Nvidia SoCs and are both tablets), unmodified KITKAT kernel sources from Xiaomi (which takes work to make it boot, even on KK) and KITKAT userspace blobs to compile the ROM, and for some reason decided to share it without testing. The 10-post rule is meant to keep such people out of the development sub-forums, but obviously that's not working.
I do not understand why the moderators are allowing this thread to remain open. It's just a thread by a wannabe dev offering a non-bootable ROM that has the potential to brick the devices of many newbies who may decide to try this.
This thread is even more useless than the other "DEVS-ONLY" thread someone else made. Honestly, the entire Mi Pad forum is filled with people who either expect Android 7.1.1 to magically appear on their tabs just because Xiaomi released outdated kernel sources or just wanna create threads like this for the "thanks or whatever". The never ask for ETA rule seems to just float over their heads.
Now to some useful information. I believe, even if we patch the kernel enough for it to theoretically boot cm13, it probably won't, considering the outdated userspace blobs for the Mi Pad. Unless someone has the knowledge to take their tab apart and figure out how to get UART data, it will be virtually impossible for the mi pad kernel to boot any new version of Android. I heard another interesting approach taken by some russian devs at the Xiaomi forums. They've managed to port the kernel from the Nvidia shield (and apparently it's booting). Now this would mean we can use the userspace blobs from the Shield to at least get the ROM booting (most peripherals won't work, but that's step 2). I do not know whether they use GitHub or if they've even open-sourced their work, but now we know that it's possible, so that could be a possible method of approach.
EDIT: LOL. I just read the OP again. The "dev" expects donations to help him work harder. This from a person who posted his way into somehow compiling his first Android build without even having the damn device.
Click to expand...
Click to collapse
I agree, this device has no development threads. Only 2 give me thanks and here's my donation link threads.
They have indeed used GitHub, but I don't believe they want to share the repo just yet so I won't post it publicly. It has many problems to sort and also sadly, they didn't keep the commit history from Nvidia as it was initialised via zip DL. It does boot to recovery though.
Harrynowl said:
I agree, this device has no development threads. Only 2 give me thanks and here's my donation link threads.
They have indeed used GitHub, but I don't believe they want to share the repo just yet so I won't post it publicly. It has many problems to sort and also sadly, they didn't keep the commit history from Nvidia as it was initialised via zip DL. It does boot to recovery though.
Click to expand...
Click to collapse
Oh! I didn't realize we were talking about the same person/team. I'd love to start developing for this device. In fact, I'm working on KEXEC-hardboot and Multirom right now, but I'd like to follow what you guys are doing and contribute as much as I can. Is there an IRC channel/IM app you guys use for communication? If so, I'd appreciate it if you could PM the info.

[UNOFFICIAL][KERNEL] Custom kernel (codename Noire) for SM-T560NU (CM14.1)

This release is only tested on the SM-T560NU USA (gtelwifiue).
This kernel is based on vince2678's port of LineageOS, with a couple of updates and optimizations.
This kernel has only been tested with vince's cm14.1 releases.
Flashable zips use a modified version of the AnyKernel2 system. While only tested on cm14.1, it may work on other ROMs, since it does not modify your initrd.
Very special thanks to vince2678.
Without his effort on this device, this release would not be possible.
Updates:
2017-06-10:
First build for CM14.1
Features:
DriveDroid Mass Storage and CD-ROM Support
Built with gcc-linaro-4.8-2015.06-x86_64_arm-eabi toolchain
Additional CPU optimizations
Updated CPU assembly optimizations
Various security patches
XPad (xbox 360 and xbox one) gamepad support
Known issues:
None
How to Install:
1. Download the latest release zip
2. Transfer zip to your device (or skip this step if sideloading)
3. Reboot into TWRP Recovery [Volume Up+Home] (If you need TWRP, first install mine or vince2678's.)
4a. Find the zip in the TWRP install browser, and install it
-OR-
4b. Sideload the zip using adb.
5. Reboot to system and enjoy
How much faster is it with the new optimizations?
Standard Kernel (click for full benchmark):
Noire Kernel (click for full benchmark):
What does "dirty" mean?
Whenever you modify a git repo and do not commit the changes, it will flag the kernel as "dirty".
Rather than forking the git repo, I use a clean copy of vince's repo, then apply my patches over it.
Because this isn't really how git was designed to be used, the build system sees it as "dirty".
It is nothing to worry about, as it is not harmful in any way.
Getting the kernel
Releases can be found on my site. (Check the header on the download page for a link to the source directory for tools to build your own):
https://files.persona.cc/zefie/files/cell/SM-T560NU/kernel/cm14.1
If/when there are more than one release, the most recent release should be on top, but verify the Last Modified date to be sure of the latest release.
Also be aware you will need to reflash anytime you update the main CM14.1 OS, as it will overwrite the kernel.
Bugs and issues
As vince's CM14.1 release is a rolling release, depending on many different sources, unexpected issues may come up in either the upstream code, his code, or my code.
Before submitting any reports to vince, be sure you are using his kernel (reflash the cm zip without flashing mine, preferably with a clean install)
Before submitting any reports to me, be sure the issue is not caused by the current release of CM14.1 (aka doesn't happen when you try the above).
No warranty is implied or provided. Be sure to have backups before flashing. But this is a no-brainer.
bump, because new release and target (was cm13, now cm14.1)
This kernel helped me to finally have USB OTG working by default, great job! :good:
Can you give us more detailed info about optimizations? Does your kernel have any impact on battery life?
jon355 said:
Can you give us more detailed info about optimizations? Does your kernel have any impact on battery life?
Click to expand...
Click to collapse
I haven't tested thoroughly but they shouldn't.
The optimizations are some patches that update the arm assembly functions to use features available in our CPUs that were not previously used.
As well as compiling while telling the compiler that we are using a cortex-a53 (in armv7 mode) (by default it just compiled generic armv7 with old armv5/6 assembly).
In short, they aren't overclocks, just using more of the processor's full potential, which is already sitting there doing nothing. Therefore, it shouldn't have a huge impact on battery life.
The CPU patches are here: https://files.persona.cc/zefie/files/cell/SM-T560NU/kernel/common-source/cpu_opts.patch.xz
Fun fact: Our CPU is actually armv8 64-bit, but we can't use it because we depend on Samsung's proprietary binaries, which are compiled in 32-bit (armv7 mode)
Sm-t560 <> smt560nu
Hey,
I'd like to Install this ROM, but obviously i get the message that it's not supported for my Device (in TWRP on flash attempt)
Mine is from the EU so, probably why..
Any chance to get this ROM to work for it?
Akineesan said:
Hey,
I'd like to Install this ROM, but obviously i get the message that it's not supported for my Device (in TWRP on flash attempt)
Mine is from the EU so, probably why..
Any chance to get this ROM to work for it?
Click to expand...
Click to collapse
No.
Unfortunately, Samsung made several hardware changes, including the CPU, when they brought this device to the USA.
You could almost think of the SM-T560NU as the "SM-T560 New".
It is a newer model with revamped hardware, and thus not compatible with ROMs made for the other.
Sorry.
zefie said:
No.
Unfortunately, Samsung made several hardware changes, including the CPU, when they brought this device to the USA.
You could almost think of the SM-T560NU as the "SM-T560 New".
It is a newer model with revamped hardware, and thus not compatible with ROMs made for the other.
Sorry.
Click to expand...
Click to collapse
Alright, thanks for the Quick follow-up!
zefie said:
I haven't tested thoroughly but they shouldn't.
The optimizations are some patches that update the arm assembly functions to use features available in our CPUs that were not previously used.
As well as compiling while telling the compiler that we are using a cortex-a53 (in armv7 mode) (by default it just compiled generic armv7 with old armv5/6 assembly).
In short, they aren't overclocks, just using more of the processor's full potential, which is already sitting there doing nothing. Therefore, it shouldn't have a huge impact on battery life.
The CPU patches are here: https://files.persona.cc/zefie/files/cell/SM-T560NU/kernel/common-source/cpu_opts.patch.xz
Fun fact: Our CPU is actually armv8 64-bit, but we can't use it because we depend on Samsung's proprietary binaries, which are compiled in 32-bit (armv7 mode)
Click to expand...
Click to collapse
Great info. What optimizations were done on OTG mass storage? On stock LOS 14.1 kernel, USB OTG wasn't working for me while with your kernel it works flawlessly.
Jacsd said:
Great info. What optimizations were done on OTG mass storage? On stock LOS 14.1 kernel, USB OTG wasn't working for me while with your kernel it works flawlessly.
Click to expand...
Click to collapse
Honestly none of my patches do anything USB related, except DriveDroid, but that lets the tablet be a device (by hosting disk images), not anything to do with connecting a device to it. Therefore, I cannot take the credit for that. Vince must have fixed it in his kernel. I built this with the latest code at the time, code that may have been more recent than the last lineage build of his that you tried.
zefie said:
Honestly none of my patches do anything USB related, except DriveDroid, but that lets the tablet be a device (by hosting disk images), not anything to do with connecting a device to it. Therefore, I cannot take the credit for that. Vince must have fixed it in his kernel. I built this with the latest code at the time, code that may have been more recent than the last lineage build of his that you tried.
Click to expand...
Click to collapse
I tried latest build and a few older builds, on every I was stucked in the loop of mounting and unmonting USB device. I only managed to enable USB OTG when I installed StickMount. It seems Drive Droid does the same. Will you continue work on this kernel?
Jacsd said:
I tried latest build and a few older builds, on every I was stucked in the loop of mounting and unmonting USB device. I only managed to enable USB OTG when I installed StickMount. It seems Drive Droid does the same. Will you continue work on this kernel?
Click to expand...
Click to collapse
I'll update it if there are any necessary updates for performance or security, or any issues are found, but for now it seems fairly stable and should be alright for a while.
zefie said:
I haven't tested thoroughly but they shouldn't.
The optimizations are some patches that update the arm assembly functions to use features available in our CPUs that were not previously used.
As well as compiling while telling the compiler that we are using a cortex-a53 (in armv7 mode) (by default it just compiled generic armv7 with old armv5/6 assembly).
In short, they aren't overclocks, just using more of the processor's full potential, which is already sitting there doing nothing. Therefore, it shouldn't have a huge impact on battery life.
The CPU patches are here: https://files.persona.cc/zefie/files/cell/SM-T560NU/kernel/common-source/cpu_opts.patch.xz
Fun fact: Our CPU is actually armv8 64-bit, but we can't use it because we depend on Samsung's proprietary binaries, which are compiled in 32-bit (armv7 mode)
Click to expand...
Click to collapse
Tnx for detailed answer. Btw, I tested your LOS 13 build and it's very smooth and battery life is great. Only issue I encountered so far is when charging offline, screen doesn't go off and there is no charging percents showed. Also, can you sync with the latest LIneage changes? Can you replace stock browser with the Jelly and stock camera with the Snap camera?
jon355 said:
Tnx for detailed answer. Btw, I tested your LOS 13 build and it's very smooth and battery life is great. Only issue I encountered so far is when charging offline, screen doesn't go off and there is no charging percents showed. Also, can you sync with the latest LIneage changes? Can you replace stock browser with the Jelly and stock camera with the Snap camera?
Click to expand...
Click to collapse
The thread for that is over here:
https://forum.xda-developers.com/showthread.php?t=3632745
Also, I am unable to reproduce the issue with the screen not shutting off. There is no percentage, but my screen shuts off while locked when charger is plugged in. Percentage and timeout can probably be configured in settings. I sync with Lineage every update. An update will come sometime this month with July's security patches.
As for replacing stock apps, I'll look into it. As the thread says, this is mostly for my use, hence why it wasn't publicly announced before. If I find the apps useful I will see about integration.
Wondering if this is still supported?
zefie said:
The thread for that is over here:
https://forum.xda-developers.com/showthread.php?t=3632745
Also, I am unable to reproduce the issue with the screen not shutting off. There is no percentage, but my screen shuts off while locked when charger is plugged in. Percentage and timeout can probably be configured in settings. I sync with Lineage every update. An update will come sometime this month with July's security patches.
As for replacing stock apps, I'll look into it. As the thread says, this is mostly for my use, hence why it wasn't publicly announced before. If I find the apps useful I will see about integration.
Click to expand...
Click to collapse
From the title you can tell if this still works. For example will it work with official LineageOS and what not. Hoping to get a response so I can overclock my tablet
Bigority said:
From the title you can tell if this still works. For example will it work with official LineageOS and what not. Hoping to get a response so I can overclock my tablet
Click to expand...
Click to collapse
Should still work. I haven't messed with the SM-T560NU in a while. If I recall the Lineage build system was creating broken builds, I'm running 14.1-20171121-NIGHTLY-gtelwifiue and Noire Kernel still works with that.
As for newer builds, last time I tried (some time between xmas and new years), all of the more recent Lineage builds would not boot, with or without my kernel. If trying newer Lineage NIGHTLYs, try without my kernel first, then try with if it does boot.
Vince has kinda abandoned the SM-T560NU, although I'm not sure it is a fair reason to abandon us, because we didn't test on a completely different device, but his choice is his alone, and as such, without him working on Lineage, the newer builds are likely to stay broken unless either he comes back to fix it, or someone else takes over (don't look at me).
zefie said:
Should still work. I haven't messed with the SM-T560NU in a while. If I recall the Lineage build system was creating broken builds, I'm running 14.1-20171121-NIGHTLY-gtelwifiue and Noire Kernel still works with that.
As for newer builds, last time I tried (some time between xmas and new years), all of the more recent Lineage builds would not boot, with or without my kernel. If trying newer Lineage NIGHTLYs, try without my kernel first, then try with if it does boot.
Vince has kinda abandoned the SM-T560NU, although I'm not sure it is a fair reason to abandon us, because we didn't test on a completely different device, but his choice is his alone, and as such, without him working on Lineage, the newer builds are likely to stay broken unless either he comes back to fix it, or someone else takes over (don't look at me).
Click to expand...
Click to collapse
For it to work properly should I try your port of LINEAGEOS or should I try Vince's port of Cyanogen Mod?
Bigority said:
For it to work properly should I try your port of LINEAGEOS or should I try Vince's port of Cyanogen Mod?
Click to expand...
Click to collapse
This kernel is for vince's 14.1. My 13.0 already uses Noire kernel and this release should not be flashed with that
zefie said:
This kernel is for vince's 14.1. My 13.0 already uses Noire kernel and this release should not be flashed with that
Click to expand...
Click to collapse
Alright thanks
zefie said:
This kernel is for vince's 14.1. My 13.0 already uses Noire kernel and this release should not be flashed with that
Click to expand...
Click to collapse
The link isn't working to download the kernel :l
Edit: It was working just my internet was too ****ty too load it.

[KERNEL][OREO] [SM-T830/T835] [2019-11-21] Modesty 1.0.0 [Linux 4.4.202] [ARK4]

Modesty - a modest custom kernel for the Samsung Tab S4
Modesty aims to provide a mildly appealing and reasonable alternative to the stock 4.4.78 kernel that comes with The Tab S4. In its pursuit of being both mildly appealing and reasonable, it will eschew features that could compromise device stability, whilst gleefully embracing low-risk, self-contained enhancements. In other words, your lowest expectation should be that this kernel will be at least as stable as the stock kernel.
Since there are currently no other custom kernel projects supporting the Tab S4, there isn't really any previous device-specific work to build on. Development of this kernel is therefore likely to be slow and steady.
"Why is this kernel called Modesty? That's crap! Why not Wolverine, Intrepid or Jupiter?"
Because it's just a operating-system kernel, not a turbo-charged supercar or a mission into outer space. Even as operating-system kernels go, this one is pretty dull. Besides, I'm a weary curmudgeon in his fifties, not a teenager.
This project has the modest aim of modestly enhancing the pleasure you derive from your Tab S4 and is therefore modestly named Modesty.
Key characteristics
Supports both the wi-fi only (T830) and wi-fi/LTE (T835) models.
Forked from Samsung's pristine kernel source code (Linux 4.4.78 for ARGH firmware at time of launch).
Regular merging of the upstream Linux kernel's linux-4.4.y branch (4.4.161 at time of public launch).
Regular merging of Samsung's updates to its modified kernel source as they are made available.
Includes @savoca's KCAL advanced colour/gamma control driver.
Includes @flar2's sound control driver to manage headphone and microphone gain.
Disables a huge amount of tracing and logging features inexplicably left enabled by Samsung in the stock release kernel. These debugging features have no place outside engineering builds.
Packed into a boot.img (boot image) taken directly from Samsung's latest stock firmware and kept as close to the original as possible. No obscure boot-time kernel configuration is stashed away here, and no changes are made to any other part of the file system at either install time or run time.
Provides a fully automated installer, with the option of interactive installation to allow manual selection of features and the ability to automatically root the device with Magisk in the post-installation phase.
Includes WireGuard VPN support (version 0.0.20180818 at the time of public launch), which will be updated as available.
Includes @Lord Boeffla's generic kernel wakelock blocker. The conservative default block-list is: qcom_rx_wakelock and NETLINK.
Utilises Westwood+ TCP congestion algorithm by default.
Includes Veno TCP congestion algorithm.
SELinux operates in enforcing mode and cannot be dynamically switched to permissive mode.
FAQ
Q. Is this kernel still actively developed?
A. No. The final ianmacd release was v1.0.0 on 21st November 2019 and no-one else has picked up maintenance of the project.​
Q. Will this kernel also run on Android 9.0 (Pie) devices?
A. No. Modesty targets Android 8.1 (Oreo) and there was never an intention to update it for 9.0 (Pie).​
Q. Can I overclock or underclock the CPU using this kernel?
A. No.​
Q. How does interactive installation mode work?
A. If the ZIP file name contains the string _interactive or a dot-file called .modesty_interactive is present in the root of the external SD card, interactive installation mode is triggered. Please note that this mode overrides any selections implied by the archive name or the presence of dot-files on the file-system.
In interactive mode, you will be asked whether to root the device afterwards with Magisk. Selections are made using the Volume buttons. Just follow the on-screen prompts.​
Q. Can I safely block wakelock X?
A. Perhaps. However, unless you know what a particular wakelock does and are certain that it is causing an actual problem on your device, I suggest you leave it alone.​
Q. Why is this kernel labelled beta? Is it safe to use? And who are you, anyway? Can you be trusted?
A. My T830 has been running this kernel every day since I first rooted it, and I can therefore personally vouch for its stability on this model.
A couple of users have reported Modesty running well on the T835. Initially, it was reported that the kernel did not boot on this model, but after trying several test kernels, the user in question discovered that his machine had a non-standard firmware installation. Once this situation was remedied, Modesty booted and worked as designed.
As the person who built the kernel, I know exactly what's in it, and therefore the only risk I'm exposing myself to when I run it is that of my own incompetence. That's not true for you, however, and you should exercise due caution and at least pause for a moment to consider what you are installing, and the far-reaching powers you are about to grant this unaudited code over your device. Although I link to the source code below, you have only my word for it that this bears any resemblance to the kernel actually provided in the installer.
There are likely to be many iterations of this kernel before it sees a 1.0 release. Features may be added or removed along the way, although there is no clear roadmap at this point in time. Development will go where the needs of the users take it.
Please see the Installation section below for an important note regarding the use of this kernel in combination with stock (i.e. unmodified) Samsung firmware.​
Q. Can I safely root this kernel?
A. Of course. What use would it be if you couldn't? I recommend Magisk for the task. It has a few minor issues, but as a project is very much alive, something that cannot be said about its peers. Magisk has arguably now established itself as the de facto root solution for Android devices.
It just so happens that I also produce my own builds of Magisk, which you are welcome to use. These are release builds (as opposed to debugging builds), produced from my own fork of @topjohnwu's original source, often augmented with patches. You can use anyone's builds, though.
Again, these builds work for me on various Samsung devices, but they are unofficial and you should approach them with fitting caution.​
Q. Can I install Magisk at the same time as Modesty?
A. Yes. The Modesty installer allows you to automatically root your device with Magisk following installation of Modesty..
To make use of this facility, either rename the Modesty zip file to contain the string _magisk or create a file called .modesty_magisk in either the root of your external SD card or in the standard Download directory of the internal SD card. Alternatively, you can utilise interactive installation mode. See above for details.
If any of these trigger conditions is met, the installer will look in the standard internal Download directory as well as in ./Magisk (if present) on the external SD card (if present) for a suitable Magisk zip file to install. Preference is given to versioned files matching the glob Magisk-v*, in which case the latest according to lexical sort order will be used. If none is found, the installer then looks for unversioned release builds (e.g. official Canary channel release builds) called magisk-release.zip in the same locations, selecting the one with the most recent timestamp. If none is found, the installer will then try to find unversioned debug builds (e.g. official Canary channel debug builds) called magisk-debug.zip, again picking the one with the most recent timestamp. Finally, the installer falls back to looking for the most recent file called Magisk.zip or magisk.zip. If still no files have been found by this stage, chaining of Magisk is abandoned.
For example:
Code:
star2lte:/ $ ls -l /storage/0000-0000/.modesty_magisk
-rwxrwx--x 1 root sdcard_rw 0 2018-09-15 14:31 /storage/0000-0000/.modesty_magisk
star2lte:/ $ ls /storage/0000-0000/Magisk/Magisk-* | tail -n 3
/storage/0000-0000/Magisk/Magisk-v17.2-2018091001-ianmacd.zip
/storage/0000-0000/Magisk/Magisk-v17.2-2018091201-ianmacd.zip
/storage/0000-0000/Magisk/Magisk-v17.2-2018091501-ianmacd.zip
When you flash the Modesty archive in TWRP, the most recent version of Magisk that could be found will now be used to automatically root your kernel, i.e. Magisk-v17.2-2018091501-ianmacd.zip in this example.​
Q. Why doesn't Modesty have its own Telegram group?
A. Because my experience of Android-themed Telegram groups is that they invariably degenerate into seething cesspits of rudeness, ignorance, superstition and — on a good day — pseudo-science. I don't wish to police such a den of iniquity. Of course, it's a free world (or so I still like to kid myself), so you are at liberty to create your own Telegram group for Modesty if you wish. Just please don't invite me to it.​
Building
Building the kernel from source is beyond the scope of this document. If you want to build this kernel from scratch, for example to change its configuration, start with this handy reference tailored to building kernels for Android.
Download
See posting #2 in this thread for links to the latest and all previous versions.
Known Issues
Bluetooth HID (input) devices do not work.
Versions 0.99.11 to 0.99.22 contained a bug that caused Bluetooth HID (input) devices, such as mice, keyboards and gamepads, not to function. They could be paired with the tablet, but their input was not recognised. This bug was finally traced and fixed in 0.99.23.​
Installation
Make a back-up of your existing boot partition using the custom recovery environment provided by TWRP. If your device doesn't yet have TWRP, you will need to install it first. Then, use it to flash the Modesty ZIP file. The boot image will automatically be installed in the boot partition of your device.
If your device has unmodified Samsung firmware, you will encounter problems with Bluetooth (namely delayed initialisation and forgotten pairings) after installing this or any other custom kernel. To remedy this, you will need to patch your system with modified libsecure_storage.so libraries. Some custom kernel installers actually install these without telling you, overwriting your system libraries and transparently circumventing the problem before you can run into it. This approach necessarily modifies your device's file-system, however, and that may not be what you want. At the very least, the user should be made aware what is happening to his device.
For this reason, I have instead prepared a companion Magisk module that achieves the same goal without modifying the file-system. This will allow you to run a custom kernel (not just this one, but any custom kernel) on pristine stock firmware without any Bluetooth issues. The module can be found in the official Magisk module repository, accessible from Magisk Manager on your tablet. If you install this Magisk module, you may wish to also disable the secure_storage_daemon by editing /system/etc/init/secure_storage_daemon.rc (change start to stop), as it no longer serves a purpose.
In a similar vein, you may encounter authentication errors when connecting to wireless networks after installing this or any other custom kernel. This problem is not serious and easily remedied by re-entering your passphrase for the networks you use.
Finally, if SecurityLogAgent notifies you that unauthorised actions have been detected, do not be alarmed. This is a normal consequence of having installed a custom kernel. You may wish to disable SecurityLogAgent to avoid being repeatedly notified..
Whilst the above issues are the only ones you can expect to encounter when running this kernel vs. the stock Samsung kernel, they may sound like more trouble than they're worth. In that case, you might be happier just sticking to Samsung's stock kernel. The company supplies a perfectly good kernel straight from the factory.
Configuration
You are encouraged to use either @morogoku's excellent MTweaks (a modified version of Kernel Aduitor) or @flar2's EX Kernel Manager to manage the features provided by this kernel.
Source code
Modesty's GitHub repository.
References
A useful guide to CPU governors, I/O schedulers (and more).
For more information on the some of the individual schedulers included in this kernel, you can also look under Documentation/block in the kernel source.
The WireGuard user guide, control app, home page and source code.
Credits
Thank you to everyone in the Linux kernel universe for getting us this far. Within the Android development community, I am grateful to the following people for their time-saving contributions:
@osm0sis for Android Image Kitchen, which has saved me a huge amount of work in packing and unpacking boot images.
An honorary mention must go to @Chainfire, the extent of whose benefaction to the Android community is still not fully understood or appreciated in some quarters.
Change log
v1.0.0 (final ianmacd release) (2019-11-21)
Kernel proclaimed stable. Version number incremented. No code changes since v0.99.49.
v0.99.49 (2019-11-16)
Updated to Linux 4.4.202.
v0.99.48 (2019-11-13)
Updated to Linux 4.4.201.
v0.99.47 (2019-11-11)
Updated to Linux 4.4.200.
v0.99.46 (2019-11-06)
Updated to Linux 4.4.199.
v0.99.45 (2019-10-31)
Updated to Linux 4.4.198.
v0.99.44 (2019-10-19)
Updated to Linux 4.4.197.
v0.99.43 (2019-10-08)
Updated to Linux 4.4.196.
v0.99.42 (2019-10-07)
Updated to Linux 4.4.195.
v0.99.41 (2019-09-22)
Updated to Linux 4.4.194.
v0.99.40 (2019-09-16)
Updated to Linux 4.4.193.
v0.99.39 (2019-09-11)
Updated to Linux 4.4.192.
Fixes unavailability of external SD card in Modesty 0.99.38.
v0.99.38 (2019-09-08) Release withdrawn (External SD card unavailable)
Updated to Linux 4.4.191.
v0.99.37 (2019-08-26)
Updated to Linux 4.4.190.
v0.99.36 (2019-08-12)
Updated to Linux 4.4.189.
v0.99.35 (2019-08-07)
Updated to Linux 4.4.188.
v0.99.34 (2019-08-05)
Updated to Linux 4.4.187.
v0.99.33 (2019-07-23)
Updated to Linux 4.4.186.
v0.99.32 (2019-07-12)
Updated to Linux 4.4.185.
v0.99.31 (2019-06-28)
Updated to Linux 4.4.184.
v0.99.30 (2019-06-22)
Updated to Linux 4.4.183.
v0.99.29 (2019-06-18)
Updated to Linux 4.4.182.
v0.99.28 (2019-06-12)
Updated to Linux 4.4.181.
v0.99.27 (2019-05-17)
Updated to Linux 4.4.180.
v0.99.26 (2019-04-28)
Updated to Linux 4.4.179.
v0.99.25 (2019-04-07)
Updated to Linux 4.4.178.
v0.99.24 (2019-03-26)
Updated to Linux 4.4.177.
Build only the latest revision of the DTB.
v0.99.23 (2019-03-02)
Fixed bug, introduced in v0.99.11, that caused input from Bluetooth HID devices, such as keyboards, mice and gamepads to be ignored.
v0.99.22 (2019-02-23)
Updated to Linux 4.4.176.
v0.99.21 (2019-02-20)
Updated to Linux 4.4.175.
v0.99.20 (2019-02-11)
Updated to Linux 4.4.174.
v0.99.19 (2019-02-08)
Updated to Linux 4.4.173.
v0.99.18 (2019-01-26)
Updated to Linux 4.4.172.
v0.99.17 (2019-01-17)
Updated to Linux 4.4.171.
v0.99.16 (2019-01-13)
Updated to Linux 4.4.170.
v0.99.15 (2018-12-30)
Rebased on ARK4 kernel source code and boot images.
v0.99.14 (2018-12-23)
Updated to Linux 4.4.169.
Merged four more UPSTREAM commits from android-4.4 kernel branch.
v0.99.13 (2018-12-13)
Updated to Linux 4.4.167.
Merged selected BACKPORT and UPSTREAM commits from android-4.4 kernel branch.
v0.99.12 (2018-12-05)
Updated to Linux 4.4.166.
Realtek USB Ethernet driver upgraded from v2.08.0 to v2.10.00.
v0.99.11 (2018-11-29)
Updated to Linux 4.4.165.
KCAL advanced colour/gamma control driver optimisation.
Added @flar2's sound control driver for controlling headphone and microphone gain. (Configure with MTweaks or EX Kernel Manager).
v0.99.10 (2018-11-21)
Updated to Linux 4.4.164.
Added KCAL advanced colour/gamma control driver. (Configure with MTweaks or EX Kernel Manager).
Lots of tracing and debug logging disabled, further reducing kernel size.
CONFIG_DISPLAY_USE_INFO
CONFIG_SEC_DISPLAYPORT_LOGGER
CONFIG_FB_MSM_MDSS_XLOG_DEBUG
CONFIG_SEC_FILE_LEAK_DEBUG
CONFIG_SEC_DEBUG_USER
CONFIG_SEC_DEBUG_SUMMARY
CONFIG_SCSI_UFSHCD_CMD_LOGGING
CONFIG_MSM_SMEM_LOGGING
CONFIG_PROFILING
CONFIG_DEBUG_INFO
CONFIG_SCHED_DEBUG
CONFIG_SEC_PM_DEBUG
CONFIG_CORESIGHT
Built as monolithic kernel (i.e. without CONFIG_MODULES).
Built as relocatable code (CONFIG_RELOCATABLE_KERNEL).
Assembler symbols stripped (CONFIG_STRIP_ASM_SYMS set).
Embedded kernel config (reported via /proc/config.gz) now falsely reports stock settings to allow disabling of superfluous kernel features that otherwise cause grave Android System warning on boot.
v0.99.9 (2018-11-13)
Rebased on ARJ3 kernel source code and boot images.
v0.99.8 (2018-11-10)
Updated to Linux 4.4.163.
More than 100 fixes applied from upstream AOSP android-4.4 and android 4.4-o branches.
Lots of tracing and debug logging disabled:
CONFIG_IPC_LOGGING (debug logging for IPC drivers)
CONFIG_QCOM_RTB (register tracing)
CONFIG_TRACER_PKT (for tracing IPC protocols)
CONFIG_FTRACE (kernel tracing infrastructure)
CONFIG_CPU_FREQ_SWITCH_PROFILER (CPU frequency switch profiler)
CONFIG_TRACING_EVENTS_GPIO (traces GPIO subsystem)
Fixes to allow kernel to build when above logging and tracing options are disabled.
v0.99.7 (2018-10-30)
Rebased on ARH5 kernel source code.
Reworked the v4l2 fix that restores liboemcrypto-dependent apps to working state.
v0.99.6 (2018-10-28)
v4l2 fixes to restore liboemcrypto-dependent apps to working state.
v0.99.5 (2018-10-21)
Updated to Linux 4.4.162.
v0.99.4 (2018-10-19)
Initial public release, based on Linux 4.4.161.
v0.99.3
Internal build, based on Linux 4.4.160.
v0.99.2
Internal build, based on Linux 4.4.159.
v0.99.1
Initial internal build, based on Linux 4.4.78.
It begins! Awesome to finally see a custom kernel for the Tab S4.
I want to test for you once I can get root back
ianmacd said:
Change log
v0.99.4 (2018-10-19)
Initial public release, based on Linux 4.4.161. Caution: This kernel remains completely untested on the T835.
v0.99.3
Internal build, based on Linux 4.4.160.
v0.99.2
Internal build, based on Linux 4.4.159.
v0.99.1
Initial internal build, based on Linux 4.4.78.
Click to expand...
Click to collapse
Flashed on T835 device doesnt even get past the Boot (custom device) screen is there a way to get logs without using a computer?
Sent from my Samsung SM-G950F using XDA Labs
dr460nf1r3 said:
Flashed on T835 device doesnt even get past the Boot (custom device) screen is there a way to get logs without using a computer?
Click to expand...
Click to collapse
I'll look into it this evening. I'm just about to get off a plane.
Were there any errors when installing? Was your device properly detected as a T835?
Sent from my SM-G965F using XDA Labs
ianmacd said:
I'll look into it this evening. I'm just about to get off a plane.
Were there any errors when installing? Was your device properly detected as a T835?
Click to expand...
Click to collapse
Installing just fine, correctly detected as well.
Sent from my Samsung SM-G950F using XDA Labs
dr460nf1r3 said:
Installing just fine, correctly detected as well.
Click to expand...
Click to collapse
I've gone through the ramdisk of the T835's boot image with a fine-tooth comb and can find nothing untoward. I also verified that I properly removed the dm-verity flag from the T835's device tree.
There are actually very few source code differences between the T830 and T835. Both can be built from a single tree. The only differences lie in the kernel config file and the device tree, but I am building with the default T835 configuration, and with the proper device tree for that device.
Let's try at least ruling out my installer code. Please image-flash this new boot image[/i] to your device and tell me if it boot-loops. If it does, my installer isn't the problem, because it's only used for a ZIP flash. I've already checked the installer code and can't see any bugs, so I don't think the issue lies there.
Can you also please tell me which version of the firmware your device is running? Possibly there's an issue there, too. Samsung has so far released the source to the ARGH kernel only. This seems to work fine on my ARH5 firmware, but it's uncertain whether it would still work on something based on ARI*, and I've seen that a couple of countries do now have ARI firmware available. Mind you, even if it wasn't compatible, it should still get as far as booting.
Anyway, please test that boot image and let me know your firmware version.
While I soldier on with the issues afflicting the T835 build, can anyone else verify the T830 build as working for them?
Don't be shy; I'm running it on my own device, so I'm certain that build boots.
ianmacd said:
While I soldier on with the issues afflicting the T835 build, can anyone else verify the T830 build as working for them?
Don't be shy; I'm running it on my own device, so I'm certain that build boots.
Click to expand...
Click to collapse
Sorry for the noob question if i flash this kernal on my SM-T835 will i lose DEX ? Sorry i'm not quite understanding what KERNEL does ? Thanks in advance!
N1NJATH3ORY said:
Sorry for the noob question if i flash this kernal on my SM-T835 will i lose DEX ? Sorry i'm not quite understanding what KERNEL does?
Click to expand...
Click to collapse
When the kernel is working as intended, you won't lose DeX, but it currently isn't even booting on the T835.
Only those who are able to assist in debugging the current boot failure should install the T835 build at this time.
The T830 build, on the other hand, is rock solid for me, and I encourage anyone who is capable of recovering from an unexpected bootloop to try it out.
Version 0.99.5 released.
This release updates the kernel to the latest upstream Linux.
T830 owners, install at will. T835 owners, beware: The previous release has been reported unbootable on this model, and this release is likely to be similarly afflicted. Investigations are ongoing. Until this issue is resolved, the whole project has been downgraded to alpha status.
Change log
Updated to Linux 4.4.162. Caution: This release is likely to cause a bootloop on the T835.
ianmacd said:
I've gone through the ramdisk of the T835's boot image with a fine-tooth comb and can find nothing untoward. I also verified that I properly removed the dm-verity flag from the T835's device tree.
There are actually very few source code differences between the T830 and T835. Both can be built from a single tree. The only differences lie in the kernel config file and the device tree, but I am building with the default T835 configuration, and with the proper device tree for that device.
Let's try at least ruling out my installer code. Please image-flash this new boot image[/i] to your device and tell me if it boot-loops. If it does, my installer isn't the problem, because it's only used for a ZIP flash. I've already checked the installer code and can't see any bugs, so I don't think the issue lies there.
Can you also please tell me which version of the firmware your device is running? Possibly there's an issue there, too. Samsung has so far released the source to the ARGH kernel only. This seems to work fine on my ARH5 firmware, but it's uncertain whether it would still work on something based on ARI*, and I've seen that a couple of countries do now have ARI firmware available. Mind you, even if it wasn't compatible, it should still get as far as booting.
Anyway, please test that boot image and let me know your firmware version.
Click to expand...
Click to collapse
Firmware Version ist arh5 and after flashing your img the device still constantly reboots on the start screen and doesnt even get to the boot Screen
Sent from my Samsung SM-G950F using XDA Labs
dr460nf1r3 said:
Firmware Version ist arh5 and after flashing your img the device still constantly reboots on the start screen and doesnt even get to the boot Screen
Click to expand...
Click to collapse
Thanks. That absolves the installer of any wrongdoing, at least.
Something is fundamentally wrong with the kernel for the T835.
The boot image is taken from stock firmware, and modified just enough to allow a custom kernel to boot. I very much doubt the problem lies there. A virtually identical image works for the T830.
The kernel config used is the one supplied by Samsung. The only modifications made to it are the same ones I made to the T830's.
I think my next step will be to produce a kernel built without downstreaming the 4.4.y Linux branch, so back to 4.4.78. If that works, it will indicate that an error affecting only the T835 was introduced during all of my merging of the upstream kernel.
I'll post again when I've built the kernel, which won't be for a few hours, as I'm on holiday at the moment.
Sent from my SM-G965F using XDA Labs
ianmacd said:
I think my next step will be to produce a kernel built without downstreaming the 4.4.y Linux branch, so back to 4.4.78. If that works, it will indicate that an error affecting only the T835 was introduced during all of my merging of the upstream kernel.
Click to expand...
Click to collapse
OK, @dr460nf1r3, please try this new T835 build.
This is rewound to 4.4.78, with just a few extra cherry-picked commits to enable it to build cleanly and boot without triggering dm-verity.
In other words, this kernel should be 99% identical to the one that shipped with the machine. This assumes that the source as supplied by Samsung was actually used to build the stock kernel.. They have been known to publish sources that don't match what's on the machine.
ianmacd said:
OK, @dr460nf1r3, please try this new T835 build.
This is rewound to 4.4.78, with just a few extra cherry-picked commits to enable it to build cleanly and boot without triggering dm-verity.
In other words, this kernel should be 99% identical to the one that shipped with the machine. This assumes that the source as supplied by Samsung was actually used to build the stock kernel.. They have been known to publish sources that don't match what's on the machine.
Click to expand...
Click to collapse
Thanks, flashing now will report back in a few minutes
Sent from my Samsung SM-G950F using XDA Labs
---------- Post added at 05:44 PM ---------- Previous post was at 05:17 PM ----------
ianmacd said:
OK, @dr460nf1r3, please try this new T835 build.
This is rewound to 4.4.78, with just a few extra cherry-picked commits to enable it to build cleanly and boot without triggering dm-verity.
In other words, this kernel should be 99% identical to the one that shipped with the machine. This assumes that the source as supplied by Samsung was actually used to build the stock kernel.. They have been known to publish sources that don't match what's on the machine.
Click to expand...
Click to collapse
Did not work still the same issue.. flashed via twrp to boot partition. Noob question, the boot backup i got is 64mb while your kernel hardly has 25.. whats going on here?
Sent from my Samsung SM-G950F using XDA Labs
dr460nf1r3 said:
Did not work still the same issue.. flashed via twrp to boot partition.
Click to expand...
Click to collapse
Well, that's disappointing. I was hoping that it was my screw-up, rather than Samsung's, but at this point almost everything I've done has been backed out and it still won't boot.
Noob question, the boot backup i got is 64mb while your kernel hardly has 25.. whats going on here?
Click to expand...
Click to collapse
Good question.
Your back-up is of the entire partition, including the area with no data on it, so you're getting a file the same size as the partition itself. My boot image contains just the data segment, so it's smaller.
If you pull the stock boot image from the AP file of Samsung's firmware, you'll see that it's a very similar size to mine (slightly smaller, actually):
Code:
$ unzip -p T835XXU1ARH5_T835OXM1ARH5_PHN.zip AP_T835XXU1ARH5_CL14008523_QB19263559_REV00_user_low_ship_MULTI_CERT_meta.tar.md5| tar xf - -O boot.img.\*lz4 | lz4 -dc > boot.img
$ ls -l boot.img
-rw-rw-r--. 1 ianmacd ianmacd 23593232 Oct 21 22:01 boot.img
$ file boot.img
boot.img: Android bootimg, kernel (0x8000), ramdisk (0x2000000), page size: 4096, cmdline (console=null androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_le)
So, what now?
I'll see which other minor changes I can back out, in an effort to arrive at a kernel built from source that is as close to stock as possible. If you're wondering Why doesn't he just build from pristine sources?, the answer is: Because Samsung's source code won't even build out of the box. Many of the kernel header files are simply not in the expected locations. Alas, this is a fairly common problem with Samsung's kernel source code releases.
I suspect the solution to this problem may actually lie in changes that have yet to be made, rather than changes made that need to be reverted. In other words, the T835 may require some kernel modifications or configuration that the T830 doesn't. Theoretically, a kernel compiled from Samsung's pristine sources should just work, but that's starting to look unlikely now.
I'm hoping that I can enable/disable a few further options in the kernel config, rebuild and produce a kernel that works for you. If, however, the problem is that the source itself is faulty, we may have to wait for a future release by Samsung to give us something that compiles into a working kernel.
But I don't intend to throw in the towel on the T835 just yet. There are still a few more things we can try.
ianmacd said:
Well, that's disappointing. I was hoping that it was my screw-up, rather than Samsung's, but at this point almost everything I've done has been backed out and it still won't boot.
Good question.
Your back-up is of the entire partition, including the area with no data on it, so you're getting a file the same size as the partition itself. My boot image contains just the data segment, so it's smaller.
If you pull the stock boot image from the AP file of Samsung's firmware, you'll see that it's a very similar size to mine (slightly smaller, actually):
So, what now?
I'll see which other minor changes I can back out, in an effort to arrive at a kernel built from source that is as close to stock as possible. If you're wondering Why doesn't he just build from pristine sources?, the answer is: Because Samsung's source code won't even build out of the box. Many of the kernel header files are simply not in the expected locations. Alas, this is a fairly common problem with Samsung's kernel source code releases.
I suspect the solution to this problem may actually lie in changes that have yet to be made, rather than changes made that need to be reverted. In other words, the T835 may require some kernel modifications or configuration that the T830 doesn't. Theoretically, a kernel compiled from Samsung's pristine sources should just work, but that's starting to look unlikely now.
I'm hoping that I can enable/disable a few further options in the kernel config, rebuild and produce a kernel that works for you. If, however, the problem is that the source itself is faulty, we may have to wait for a future release by Samsung to give us something that compiles into a working kernel.
But I don't intend to throw in the towel on the T835 just yet. There are still a few more things we can try.
Click to expand...
Click to collapse
Thanks for explaining everything for me. Id like to help you were i can but i dont have a computer by my hands right now for the next time
Sent from my gts4llte using XDA Labs
dr460nf1r3 said:
Thanks for explaining everything for me. Id like to help you were i can but i dont have a computer by my hands right now for the next time
Click to expand...
Click to collapse
Here's a new build to try. This one reverts the last few changes I originally made to the T835's kernel configuration before building. This is as close to stock as possible, whilst still being able to build.
If this doesn't boot, it pretty much means that Samsung has supplied code for the T835 that simply will not compile into a working kernel. At that point, we'll probably have to wait for updated sources. I already have a request pending with Samsung for the release of the BRI sources.
Just to be clear, the current status quo as I understand it is that the Samsung logo never starts to be written from left to right. You never get past the static screen with the device name and the word Custom. Is that correct?
ianmacd said:
Here's a new build to try. This one reverts the last few changes I originally made to the T835's kernel configuration before building. This is as close to stock as possible, whilst still being able to build.
If this doesn't boot, it pretty much means that Samsung has supplied code for the T835 that simply will not compile into a working kernel. At that point, we'll probably have to wait for updated sources. I already have a request pending with Samsung for the release of the BRI sources.
Just to be clear, the current status quo as I understand it is that the Samsung logo never starts to be written from left to right. You never get past the static screen with the device name and the word Custom. Is that correct?
Click to expand...
Click to collapse
Im sorry to tell you but this doesnt boot either in fact it doesnt even reboot the static screen. Your right about the current status quo sadly.
Sent from my Samsung SM-G950F using XDA Labs

[KERNEL] [Android 12] [v12.9] MVK - Maximum Velocity Kernel

For those familiar with Velocity Rom this is the kernel I build for it. Velocity hasnt been on XDA as a rule so Im sure not many are familiar. Velocity is my personal Rom Ive been building for years and have shared with all that are interested. This isnt and will never be an "official development project" but will always exist as long as I continue to develop Android roms.
Velocity is focussed on speed, stability, and efficiency and not on adding every imaginable feature. As this is my personal Rom it will have everything I deem useful to me and/or that doesnt compromise the goals of the project.
I dont add every conceivable governor, I/O scheduler, or other user tweakable options. In fact, I typically remove all the options and keep the best. This is designed as a plug and play kernel, not something to be changed. Its also not designed for other Roms.
Please do not ask for features, ETA's, or related. Again, this is my personal kernel for my personal Rom and will be shared accordingly. That said, I do encourage healthy, friendly dialog in my threads.
Flashing instructions
1) Reboot to bootloader
2) Fastboot boot 'bootimage_name'.img to make sure it boots with no issues
3) Reboot to bootloader again
4) Fastboot flash boot 'bootimage_name'.img
5) Buckle up for safety - optional of course
Changelog
Download
Source
This is basically a crosspost from the 3a XL forum. I only own the 3a XL but Im told this works fine on the 3a as well. There are both patched and unpatched boot.img's available depending on whether you want root or not. There is a lot more info over in the 3a XL thread if you have any questions.
New build up....see changelog. This was built from November security patch source and I havent tried it on the October build so ymmv if flashing on a build prior to November security.
New build up. See changelog for details. Also Sargo will now be getting its own builds vs sharing a Bonito one. Download links have changed in the OP.
ctfrommn said:
New build up. See changelog for details. Also Sargo will now be getting its own builds vs sharing a Bonito one. Download links have changed in the OP.
Click to expand...
Click to collapse
Are there some changes except for the name? I didn't realise and flashed the bonito build, but it works fine on sargo.
I_am_Groot! said:
Are there some changes except for the name? I didn't realise and flashed the bonito build, but it works fine on sargo.
Click to expand...
Click to collapse
No, the boot images are now built using the respective devices but for all intents and purposes its the same build. This change was mostly for allowing me to better keep track of downloads. Its possible there are minor differences based on device too but as they both work interchangeably I doubt its anything big, if at all.
New build up.....see changelog.
Anyone interested in (or willing to) flash and test kernels prior to releases please PM me. I can always use people to help especially as I start looking at more experimental changes/optimizations.
New build up. Substantial changes on this one.
ctfrommn said:
New build up. Substantial changes on this one.
Click to expand...
Click to collapse
Can this kernel can be flash with kernel tools?
caballon said:
Can this kernel can be flash with kernel tools?
Click to expand...
Click to collapse
Flashed it many times without problems in flar's EX kernel manager.
j-a-d-z said:
Flashed it many times without problems in flar's EX kernel manager.
Click to expand...
Click to collapse
What's the difference between the two kernels ?
cellatom said:
What's the difference between the two kernels ?
Click to expand...
Click to collapse
Don't know what the inside differences are, because I'm not a developer, but mvk seems faster for me and more battery friendly at the same time. So I use this kernel for now.
cellatom said:
What's the difference between the two kernels ?
Click to expand...
Click to collapse
I wont speak for Flar as I dont know him but from a code standpoint these are 2 very different kernels. My goals (as stated in the OP) are maximum performance without sacrificing efficiency and stability. I delve deep into the experimental and push things to their limits. So while both share the same (or similar) base the additions are very different.
Hi ctfrommn,
I'm seeing this error when trying to boot from the img. Tried 10.16-10.18 magisk and unpatched, sargo and bonito.
fastboot boot MVK_Sargo_v10.18_magisk_patched.img
Sending 'boot.img' (26872 KB) OKAY [ 0.723s]
Booting FAILED (remote: 'Error verifying the received boot.img: Invalid Parameter')
fastboot: error: Command failed
Click to expand...
Click to collapse
When I flash the img and reboot the 3a goes to fastboot mode and shows "Enter reason: error boot prepare"
Any idea why?
h4m74ro said:
Hi ctfrommn,
I'm seeing this error when trying to boot from the img. Tried 10.16-10.18 magisk and unpatched, sargo and bonito.
When I flash the img and reboot the 3a goes to fastboot mode and shows "Enter reason: error boot prepare"
Any idea why?
Click to expand...
Click to collapse
If your on December update then Yea it won't boot
New build up. See changelog.......This works on both November and December builds.
ctfrommn said:
New build up. See changelog.......This works on both November and December builds.
Click to expand...
Click to collapse
Keep it coming
Anyone willing to give a comparison of this vs. other custom kernels that they've used?
Sent from my Pixel 3a using Tapatalk
New build time. I just spent the last month rebasing and rebuilding this. Everything was rethought, tested, and only kept if it objectively and subjectively improved either performance or efficiency. This is up to date with the latest AOSP and Linux kernel sources. This is built off January security but "should" work on older builds as well.
See changelog for changes and enjoy.

Categories

Resources