Search This thread
Ace I actually had a question, if it’s even possible or relatively easy to implement.

You know how our E8895 can’t handle 2808MHz on all CPU cores due to power limitations?

Is it possible for this device to adopt the E9810 model for frequency scaling? Which is a high frequency on single core, a lower frequency on dual core, and even lower in quad core mode. Which would work according to the needs of the phone and turns off cores when going single or dual threaded, to handle the higher frequencies.

You get what I mean. Is this even possible, or does it require specific hardware support that E8895 lacks? Because if this is possible, it could yield a degree of performance improvement
 

ace2nutzer

Recognized Developer
Ace I actually had a question, if it’s even possible or relatively easy to implement.

You know how our E8895 can’t handle 2808MHz on all CPU cores due to power limitations?
I don't know what you mean. Power limit is by hardware, we can't force higher power in software mode.
Is it possible for this device to adopt the E9810 model for frequency scaling? Which is a high frequency on single core, a lower frequency on dual core, and even lower in quad core mode. Which would work according to the needs of the phone and turns off cores when going single or dual threaded, to handle the higher frequencies.
Yes it's possible and probably I can do this by myself without to look in S9 source code. But honestly I doubt if that method is ever faster than the DVFS driver we use here. Turning off cores for just having a bit faster single core is a big pain in ass since context switching would be an overkill. Wait, is that now another Samsung mistake? Even if there you want to run a single thread app, there are still a lot of services and real-time kernel threads that want to access that CPU core as well. That means the kernel need to share 1 core for a lot of threads = very bad user experience. I tried to run 4 x little + 1 x big cores .. and the phone feels already slower when you just open an app.
can you implement voltage sliders for CPU too in the app, just like you did for GPU frequencies for undervolting purposes?
No, sorry.
 
Last edited:
  • Like
Reactions: TechNoobForSale
I don't know what you mean. Power limit is by hardware, we can't force higher power in software mode.

Yes it's possible and probably I can do this by myself without to look in S9 source code. But honestly I doubt if that method is ever faster than the DVFS driver we use here. Turning off cores for just having a bit faster single core is a big pain in ass since context switching would be an overkill. Wait, is that now another Samsung mistake? Even if there you want to run a single thread app, there are still a lot of services and real-time kernel threads that want to access that CPU core as well. That means the kernel need to share 1 core for a lot of threads = very bad user experience. I tried to run 4 x little + 1 x big cores .. and the phone feels already slower when you just open an app.

No, sorry.
It is and isn’t a mistake at the same time.

On E9810, the single core boost appears to be used especially when opening apps, game loadings and gaming in general.

In thermally constrained situations like ours, it is a nice thing to implement, but just like you said, the improvement might be way too little to be worth adding. E8890 had the same logic as E9810 too.

If implemented properly, and working with the DVFS you made, it would make the phone a bit faster in loadings and app opening. But that’s it. Since at this point we are practically at the E8895 limit, I thought this was something somewhat worth at least mentioning.
 

ace2nutzer

Recognized Developer
It is and isn’t a mistake at the same time.

On E9810, the single core boost appears to be used especially when opening apps, game loadings and gaming in general.

In thermally constrained situations like ours, it is a nice thing to implement, but just like you said, the improvement might be way too little to be worth adding. E8890 had the same logic as E9810 too.

If implemented properly, and working with the DVFS you made, it would make the phone a bit faster in loadings and app opening. But that’s it. Since at this point we are practically at the E8895 limit, I thought this was something somewhat worth at least mentioning.

Thanks for the idea and passion to try to improve it even more.
But I really doubt the faster app opening is coming from that new driver.
App opening + game loading doesn't required real 4 core @ 100% load. Therefore it isn't not needed at all to turn off cores, simply because it isn't a problem to hold all 4 cores at max Freq without to throttle, especially if throttling start at 100°. As you can see it's a quite useless driver. Port my DVFS driver on that S9, get rid of turning off cores and then compare benchmark scores and you will see you get higher scores on both single + multi thread, 100%.
 
Thanks for the idea and passion to try to improve it even more.
But I really doubt the faster app opening is coming from that new driver.
App opening + game loading doesn't required real 4 core @ 100% load. Therefore it isn't not needed at all to turn offf cores, simply because it isn't a problem to hold all 4 cores at max Freq without to throttle, especially if throttling start at 100°. As you can see it's a quite useless driver. Port my DVFS driver on that S9, get rid of turning off cores and then compare benchmark scores and you will see you get higher scores on both single + multi thread, 100%.
Agreed. And about the S9, Ehhh I wouldn’t bet on that one Ace. It’s a challenge that even a God like you wouldn’t be able to accomplish. Let alone me.

I’d high key bet money on it. E9810 can’t run all big cores at advertised top speed because it consistently crashes the phone + it overheats badly. Your DVFS would 100% improve multi core, but not single core if you dump single core boost.

Ironically the kernel of the developer you suggested me to look at the other day, has issues with multi core performance, while single core is fine.
 

ace2nutzer

Recognized Developer
I’d high key bet money on it. E9810 can’t run all big cores at advertised speed because it consistently crashes the phone + it overheats badly.
Yeah, exactly the same like on stock S8 kernel if you try to use higher clocks than 2314 MHz.
Your DVFS would 100% improve multi core, but not single core if you dump single core boost.
Nope, 1 thread @ 1 core is still slower than running 1 thread on 4 cores. Because there is more room for kernel threads and other stuff.
Having 3 cores almost low loaded or almost in IDLE doesn't increase power consumption or temperature at all, or lets say very minimal.
There is no boost at all, 4 x 2,7 GHz is still faster than 1 x 2,7 GHz ... no matter if single or multi thread. I don't see the boost I get if I turn off cores ... ?! - That way you just lower the performance and also efficiency. Yes, that would even drain more battery of course. Therefore never ever turn off cores. See on GPU there we have 20 cores. Yeah there is a reason why ... the more cores the better.
Disabling cores is a big regression for me.
Ironically the kernel of the developer you suggested me to look at the other day, has issues with multi core performance, while single core is fine.
Aha, well I don't know him at all. I just saw he was using voltage commits from me, that's all.
 
Yeah, exactly the same like on stock S8 kernel if you try to use higher clocks than 2314 MHz.

Nope, 1 thread @ 1 core is still slower than running 1 thread on 4 cores. Because there is more room for kernel threads and other stuff.
Hving 3 cores almost low loaded or almost in IDLE doesn't increase power consumption or temperature at all, or lets say very minimal.
There is no boost at all, 4 x 2,7 GHz is still faster than 1 x 2,7 GHz ... no matter if single or multi thread. I don't see the boost I get if I turn off cores ... ?! - That way you just lower the performance and also efficiency. Yes, that would even drain more battery of course. Therefore never ever turn off cores. See on GPU there we have 20 cores. Yeah there is a reason why ... the more cores the better.
Disabling cores is a big regression for me.

Aha, well I don't know him at all. I just saw he was using voltage commits from me, that's all.
You don’t get what I meant.

Exynos 9810 cannot handle 4x2704. Heat production is excessive and power requirement is too much for battery to handle. M3 cores are gigantic compared to the puny M2 cores in the E8895.

So to engage multi threading, E9810 drops to 4x1794 (in stock kernel, but it was meant to be 2314, then Samsung underclocked the hell out of it). 4x2314 is still much better than 1x2704. But it will never be better than 4x2704 (which is impossible to reach, to my eyes).
 

ace2nutzer

Recognized Developer
You don’t get what I meant.

Exynos 9810 cannot handle 4x2704. Heat production is excessive and power requirement is too much for battery to handle. M3 cores are gigantic compared to the puny M2 cores in the E8895.
We can't hold 4x2,7Ghz as well. At least not for a few secs @ 100°C. But till it reaches 100°C we are on full 4x2,7GHz. And once it's just 95°C it allows again 4x2,7Ghz. That's our advantage that we try to use highes Freq possible as much as possible. Checks for temp happens every 8ms.
So to engage multi threading, E9810 drops to 4x1794 (in stock kernel, but it was meant to be 2314, then Samsung underclocked the hell out of it). 4x2314 is still much better than 1x2704. But it will never be better than 4x2704 (which is impossible to reach, to my eyes).
Yeah now you say it right.
On stock kernel it goes from 2314 MHz @ 1469 MHz for a while ... or something like CPU < 40°C than the stock DVFS driver removes that cpufreq lock and is allowed to use again real max of 2314 MHz. While we use more aggressive and also we don't reduce too much the freq.
Basically the custom DVFS driver increases and decreases allowed max freq like an old conservative / dynamic cpu governor, means step by step and not a forced fixed freq.
 
  • Like
Reactions: Twiq
We can't hold 4x2,7Ghz as well. At least not for a few secs @ 100°C. But till it reaches 100°C we are on full 4x2,7GHz. And once it's just 95°C it allows again 4x2,7Ghz. That's our advantage that we try to use highes Freq possible as much as possible. Checks for temp happens every 8ms.

Yeah now you say it right.
On stock kernel it goes from 2314 MHz @ 1469 MHz for a while ... or something like CPU < 40°C than the stock DVFS driver removes that cpufreq lock and is allowed to use again real max of 2314 MHz. While we use more aggressive and also we don't reduce too much the freq.
Basically the custom DVFS driver increases and decreases allowed max freq like an old conservative / dynamic cpu governor, means step by step and not a forced fixed freq.
Again, the difference here is that Exynos 8895 can handle 4x2704 even though it overheats. Exynos 9810 though just can’t supply enough power for 4x2704. It will crash like E8895 4x2808.

Therefore, E9810 in custom kernels usually goes for 4x2106/4x2314 instead. Maybe even 4x2496 is possible, as Andrei Frumusanu did it, but that’s about it.

E9810 is an intricate SoC with a lot of hidden power. And nobody so far managed to master its potential, unfortunately. Frankly, it would actually take somebody as skilled as you to give it some justice. I’m just hoping that the developer of xxTR Kernel sorts out the cpu performance issue. My previous custom kernel literally performs better, despite being technically far less advanced.
 
  • Like
Reactions: Twiq and ace2nutzer

ace2nutzer

Recognized Developer

ace2nutzer

Recognized Developer
Not much benefit i think. Also I don't know how many users still use this kernel and how many of them want CPU voltage control. Also the request was not specific, should it be only for OC Freqs ? Anyway, I'm working on new release ... maybe OC will be more stable. @TechNoobForSale I found out 2x2,8 works almost stable .... (+ 4x2,0 Ghz little) but the benefit is just 10 points+ on single thread score, multitasking is much worse then ... see screenshot. Also found new bug, when OC both CPU/GPU like hell @ 100°C then I get weird freezes in 3Dmark. Even with fully charged battery + on cable usb 2.0 500 mA. Yeah I know, that not much, but it's somehow annoying that hardware just fails here. My guess is that it needs some higher voltage for dvfs_mif + dvfs_int. Maybe you can try in the meantime ? Later I'll perform that test as well. That remembered me old times when you OC'ed your desktop PC like hell and at some point it was needed to increase northbridge chip and RAM voltage to make it stable. (Especially for FSB OC)
Also I try for the last time to OC RAM as well. Maybe we can break our own world record once again lol.
 

Attachments

  • Screenshot_20220724-234337_Geekbench 5.jpg
    Screenshot_20220724-234337_Geekbench 5.jpg
    260.4 KB · Views: 11
  • Screenshot_20220724-023917_Geekbench 5.jpg
    Screenshot_20220724-023917_Geekbench 5.jpg
    257.7 KB · Views: 10
Last edited:
  • Haha
Reactions: rtyuakatsuki
Not much benefit i think. Also I don't know how many users still use this kernel and how many of them want CPU voltage control. Also the request was not specific, should it be only for OC Freqs ? Anyway, I'm working on new release ... maybe OC will be more stable. @TechNoobForSale I found out 2x2,8 works almost stable .... (+ 4x2,0 Ghz little) but the benefit is just 10 points+ on single thread score, multitasking is much worse then ... see screenshot. Also found new bug, when OC both CPU/GPU like hell @ 100°C then I get weird freezes in 3Dmark. Even with fully charged battery + on cable usb 2.0 500 mA. Yeah I know, that not much, but it's somehow annoying that hardware just fails here. My guess is that it needs some higher voltage for dvfs_mif + dvfs_int. Maybe you can try in the meantime ? Later I'll perform that test as well. That remembered me old times when you OC'ed your desktop PC like hell and at some point it was needed to increase northbridge chip and RAM voltage to make it stable. (Especially for FSB OC)
Also I try for the last time to OC RAM as well. Maybe we can break our own world record once again lol.
Geekbench 4 and Antutu would benefit from MIF OC. Geekbench 5 not so much. Maybe even general usage, since GPU relies on MIF for memory I think, it should improve indirectly GPU performance.

Honestly I reached hellish temperatures myself with high gpu and cpu oc but I didn’t freeze in 3DMark slingshot extreme unlimited. It is voltages. Because the higher temp goes, the higher the voltage needed to make a component stable. It’s how transistors work. My PC i7 4790K at 4.7GHz is stable at 1.3V, but if it crosses 90C, at any time, and never otherwise, it crashes.

Also currently due to summer, reaching new records will indeed be a challenge.
 
  • Like
Reactions: ace2nutzer

Adbnpk2013

Senior Member
Mar 1, 2017
71
25
Not much benefit i think. Also I don't know how many users still use this kernel and how many of them want CPU voltage control. Also the request was not specific, should it be only for OC Freqs ? Anyway, I'm working on new release ... maybe OC will be more stable.
you are right about the usage of this kernel by users; it will be futile to go through all the trouble for no significant benefits. i was wondering if through CPU undervolting we could squeeze out a bit more battery life. perhaps you could add voltage sliders starting from base frequency 2314Mhz up to 2808Mhz for big cores and the same for little in the future if you get free time at your hands.
 
  • Like
Reactions: Twiq and ace2nutzer
Jul 15, 2022
21
2
Geekbench 4 and Antutu would benefit from MIF OC. Geekbench 5 not so much. Maybe even general usage, since GPU relies on MIF for memory I think, it should improve indirectly GPU performance.

Honestly I reached hellish temperatures myself with high gpu and cpu oc but I didn’t freeze in 3DMark slingshot extreme unlimited. It is voltages. Because the higher temp goes, the higher the voltage needed to make a component stable. It’s how transistors work. My PC i7 4790K at 4.7GHz is stable at 1.3V, but if it crosses 90C, at any time, and never otherwise, it crashes.

Also currently due to summer, reaching new records will indeed be a challenge.
Nah i have a fridge
 

Top Liked Posts

  • 3
    are you sure you're using 2022-09-06 ? cos that version's uptime passed 2 weeks without issue

    edit: read your attached last_kmsg, i might read it wrong but there sre lots of lots of files not found by the system, it might be a sign of corruption.. i suggest doing an fsck (e2fsck) on your partitions, mainly the system one

    maybe @ace2nutzer could clarify ?
    No. Don't ever assume an Android phone has no errors or warnings in dmesg / logcat. Every Android phone has it, but we devs know what errors/warnings are critical and should be fixed and which we can safely ignore. In that case, you can ignore them as they are just some left overs from previous Android version, which are left for reference/compatibility reasons or just because Samsung/Google was too lazy to clean it up, never mind just ignore them.
    true, it was rock stable until my netflix wouldn't boot coz the DRM stuff can't be detected, i had to restart 😛

    @ace2nutzer do you know what service/processes does the DRM depends on? i've exerienced this twice within a week, i know it's not kernel issue but just wild guessing you might know the issue/solution
    DRM is in this kernel always L3, because of the removed DRM lib.
    So there shouldn't be any issues at all as long as SafetyNet passes.
    Other than that, I've no idea what could cause still issues sometimes, as I don't use DRM stuff. (Always busy with kernel development lol)
    2
    are you sure you're using 2022-09-06 ? cos that version's uptime passed 2 weeks without issue
    Same here, 3 weeks stable with an shutdown mean while becus i forget charge the phone lol
    2
    Apologies as I didn't realise there was a test version available, I was on latest stable. Trying latest test now
    1
    Random reboot.

    These are getting more frequent, coupled with random shutdown I reported before. Tell me, should I be looking at buying a new phone or is there a chance this might be caused by some software or kernel?
    1
    Random reboot.

    These are getting more frequent, coupled with random shutdown I reported before. Tell me, should I be looking at buying a new phone or is there a chance this might be caused by some software or kernel?

    are you sure you're using 2022-09-06 ? cos that version's uptime passed 2 weeks without issue

    edit: read your attached last_kmsg, i might read it wrong but there sre lots of lots of files not found by the system, it might be a sign of corruption.. i suggest doing an fsck (e2fsck) on your partitions, mainly the system one

    maybe @ace2nutzer could clarify ?
  • 4
    Something oftopic, i can notice ppl on xda are more helpfull than on the windows mdl forum damn, got some issues with some things and they just freaking ignore me on mdl😑 glad this forum isnt like mdl
    3
    are you sure you're using 2022-09-06 ? cos that version's uptime passed 2 weeks without issue

    edit: read your attached last_kmsg, i might read it wrong but there sre lots of lots of files not found by the system, it might be a sign of corruption.. i suggest doing an fsck (e2fsck) on your partitions, mainly the system one

    maybe @ace2nutzer could clarify ?
    No. Don't ever assume an Android phone has no errors or warnings in dmesg / logcat. Every Android phone has it, but we devs know what errors/warnings are critical and should be fixed and which we can safely ignore. In that case, you can ignore them as they are just some left overs from previous Android version, which are left for reference/compatibility reasons or just because Samsung/Google was too lazy to clean it up, never mind just ignore them.
    true, it was rock stable until my netflix wouldn't boot coz the DRM stuff can't be detected, i had to restart 😛

    @ace2nutzer do you know what service/processes does the DRM depends on? i've exerienced this twice within a week, i know it's not kernel issue but just wild guessing you might know the issue/solution
    DRM is in this kernel always L3, because of the removed DRM lib.
    So there shouldn't be any issues at all as long as SafetyNet passes.
    Other than that, I've no idea what could cause still issues sometimes, as I don't use DRM stuff. (Always busy with kernel development lol)
    3
    Got a samsung nand chip too, lets goo😄
    3
    for my own notes, found that commit documentations used in Linux 5.8 related to swappiness


    lol and I was believing that this great patch was coming from Samsung developers. :p

    Code:
    ...
    +For in-memory swap, like zram or zswap, as well as hybrid setups that
    +have swap on faster devices than the filesystem, values beyond 100 can
    +be considered. For example, if the random IO against the swap device
    +is on average 2x faster than IO from the filesystem, swappiness should
    +be 133 (x + 2x = 200, 2x = 133.33).
    +
    +At 0, the kernel will not initiate swap until the amount of free and
    +file-backed pages is less than the high watermark in a zone.
    +

    So, they suggest 133 for zram/zwap. That's a good starting point, but according to my tests having this value much higher makes things better.
    Anyway, I don't recommend to set it over 190. Probably a value of 140 - 160 is perfect. If you want to test yourself how it'll affect LMK, check this:

    Code:
    cd /sys/module/lowmemorykiller/parameters
    cat lmkcount

    that'll show you how many times the low-memory-killer was triggered.
    Optimal would be always "0" or very low values like 100 is still ok.
    Try different swappiness values. You will see value < 100 very bad ... and even at 100 it still trigger the lmk .. even the fact that there is a lot of free swap space ... that's why they added this patch. Yeah, and some noob developers are still tuning this value today in the wrong direction.

    considering UFS 2.1 R/W is on par with ssd then i guess it's really fine to use swaps afterall 😆

    Yeah, but we don't use swap-file on UFS at all. We don't want to kill the UFS, lol. Instead we use zram, that just compresses RAM data if needed with the fast LZ4 compressor. This is much much faster than having swap on the fastest SSD ever !

    @ all
    OK GUYS, I've uploaded a new test kernel. We need to test if random reboots are now fixed. You can use this test kernel with latest A2N app v. 5.1. In case you face a reboot, just generate and post last_kmsg. Don't wait if it happens once agan, because if it happens one time then there is something wrong and we need to fix it. The phone will never reboot because the weather is bad or whatsoever.

    Download for S8

    Download for S8+
    3
    okey dev

    ouh ya dev i have question about how to enable WQHD in samsung dex ? that option grey out
    For what if you can force whatever resolution in A2N app ?
    What I am experiencing though, is a lot of System UI crashes, especially when using macrodroid. I use macros for example, when I connect to my car audio, that it rotates to landscape, keeps screen on and launch music apps. Could this somehow be connected to kernel? I am using latest devbase (stock) ROM.
    No idea, lets try later with new pre-release kernel build. I'm fixing a few bugs.
    @ace2nutzer....
    i took a peek at the last kmsg.. it seems there's a lot of weird debug messages like these lines :
    Code:
    86>EXYNOS-PM: exqnos_pm_sxscore_suq0end: E�tep S5bpend scenario. (mode_idx = 8)
    
    <6>[sec_input] gpioWceys_'pio_ra0o2t^evant: 703 (0/0)
    <6>[sec_input] gpio_keys_gpio_report_eve.t: 114 0/0)
    <6>[cec_inpuT]$g`io_keys_gpio_report_erent: !1 (0/0)
    <6>[sec_)npud] gpio_keYs_gpio_report_event: 116 (0/0)
    
    <6>dwmmc_exynos 1150�000.dwMmc2: Duninf Abnkrmal^result(080000ffff.
    Yeah, just forget this log, it's completely corrupted due to unclean reboot.
    But nevermind, we don't need that debug_kernel anymore. I've compiled a better kernel to get better info about CPU stalls.
    also found this error
    Code:
    <4>swapper/5: page allocation failure: order:0, mode:0x2080020
    am i really out of memory? if i do, then it turns out i really need to use zram afterall (mine is off)
    That should never happen, but maybe due to this debug_kernel, too much memory footprint. But zRam @ 0% is not a good idea. zRam uses RAM more efficient, thus will improve performance and battery life.
    Try with zRam 50% and swappiness 160.
    Note: rename my attached file as .gz, i have problem attaching so i have to rename it to .gz.zip
    Report this issue with uploading "*.gz" to any moderator, by writing the used browser. (XDA app bug ?)
    Hey Ace, I was trying to slowly make my way into some basic Kernel development starting with easier devices to deal with. I have a Tab E (T561) running a Viper OS A7.1.2 Port ROM. I want to try and add the option to overclock since this ROM doesn't offer one. ...
    There is no universal "How-To-Build-Android-Kernel" since every device is different.
    Depending on the device hardware, you need different toolchain and different method for unpacking and repacking ramdisk.
    In general, you need always to do these steps for every device:

    1. Download kernel source code - e.g. for Samsung devices
    2. Download latest stock ROM to get the ramdisk from stock boot.img - e.g. from Sammobile
    3. Unpack the stock ROM to get "boot.img"
    4. Download latest AIK-Linux tool (check if your device is supported) - for unpack/repack ramdisk/boot.img
    5. Download proper toolchain - e.g. "gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu" - for aarch64 (arm64-bit) for compilation on linux x86_64 (64-bit)
    6. Unpack boot.img using AIK-Linux
    7. Compile the kernel
    7a. optional: compile "boot.img-dt" from sources, if you want to edit the DTS sources, using "dtbtool"
    8. Replace your compiled kernel "Image" with the one from unpacked boot.img (boot.img-kernel)
    9. Repack boot.img using AIK-Linux
    10. Rename your "image-new.img" to "boot.img" and put it in your update_kernel.zip package. (of course different updater-script for every device)
    11. Finally you can flash your self-compiled kernel to your device.

    Note: further instructions about build cmd and so on, you can find it in the kernel source code package from Samsung and here: "Building Kernels" (original from Google)

    hi dev i always get crash facebook app only facebook app maybe you can check what happen
    That's the reason:
    Code:
    09-03 00:02:44.195 10898 10941 E DrmMediaResourceHelper: onRemove making Dpdrm to 0 second point 
    09-03 00:02:44.196 10898 10941 E DrmManagerClient: DRM_DISPLAYPORT_DISABLE failed
    09-03 00:02:44.464 27442 27442 E fb4a.StateWrapperImpl: Race between StateWrapperImpl destruction and updateState
    09-03 00:02:45.400 25785 25801 E SQLiteLog: (1) no such table: SmartFittingService
    09-03 00:02:46.062  4173  4411 E AlarmManager: No more alarm at this time. nowELAPSED=10841660 batch.start=10855599 mNextWakeup=10897908 mNextNonWakeup=10855599 mAlarmBatches.size=115
    09-03 00:02:46.062  4173  4411 E AlarmManager: Batch 1 size = 1 : 10855599, Batch 2 size = 1 : 10855599, Batch 3 size = 1 : 10897908
    09-03 00:02:46.062  4173  4411 E AlarmManager: No more alarm at this time. mNextWakeup will be set as zero : 10897908
    09-03 00:02:47.027  4173  4683 E Parcel  : Class not found when unmarshalling: com.facebook.fbreact.fragment.params.SegmentParam
    09-03 00:02:47.027  4173  4683 E Parcel  : java.lang.ClassNotFoundException: com.facebook.fbreact.fragment.params.SegmentParam
    09-03 00:02:47.027  4173  4683 E Parcel  :      at java.lang.Class.classForName(Native Method)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at java.lang.Class.forName(Class.java:453)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at android.os.Parcel.readParcelableCreator(Parcel.java:2827)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at android.os.Parcel.readParcelable(Parcel.java:2781)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at android.os.Parcel.readValue(Parcel.java:2684)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at android.os.Parcel.readListInternal(Parcel.java:3114)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at android.os.Parcel.readArrayList(Parcel.java:2335)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at android.os.Parcel.readValue(Parcel.java:2705)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at android.os.Parcel.readArrayMapInternal(Parcel.java:3053)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:288)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at android.os.BaseBundle.unparcel(BaseBundle.java:232)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at android.os.BaseBundle.getString(BaseBundle.java:1155)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at android.content.Intent.getStringExtra(Intent.java:8111)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:733)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:671)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at com.android.server.am.ActivityStarter.startActivityMayWait(ActivityStarter.java:1548)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at com.android.server.am.ActivityStarter.execute(ActivityStarter.java:612)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6668)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6559)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:6550)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at android.app.IActivityManager$Stub.onTransact$startActivity$(IActivityManager.java:10834)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:111)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:4147)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at android.os.Binder.execTransact(Binder.java:739)
    09-03 00:02:47.027  4173  4683 E Parcel  : Caused by: java.lang.ClassNotFoundException: com.facebook.fbreact.fragment.params.SegmentParam
    09-03 00:02:47.027  4173  4683 E Parcel  :      at java.lang.Class.classForName(Native Method)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at java.lang.BootClassLoader.findClass(ClassLoader.java:1346)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at java.lang.BootClassLoader.loadClass(ClassLoader.java:1406)
    09-03 00:02:47.027  4173  4683 E Parcel  :      at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    09-03 00:02:47.027  4173  4683 E Parcel  :      ... 24 more
    09-03 00:02:47.027  4173  4683 E Parcel  : Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
    Seems to be some issue with DEX + DRM L1 stuff. Try to lower the resolution, maybe helps.
  • 74
    Supports all S8 / S8 Plus / Note8 Exynos Variants Running Android 9

    This Kernel Aims are to

    • reduce the power consumption
    • reduce device heat
    • improve the performance
    • make it more smooth
    • reduce RAM usage
    • improve RAM management
    • extend device features
    • and many more ...

    A2N Kernel Special Features
    • charger control
    • battery IDLE and battery care
    • stable CPU OC up to 4 x 2,7 GHz - thanks to my custom DVFS driver
    • stable GPU OC up to 839 MHz - thanks @ me lol
    • adjustable CPU / GPU / Battery Max Temp
    • voltage control for all clocks (CPU lit/big - GPU - RAM - bus clocks etc..)
    • fixed time to full battery
    • flashlight tuning
    • wireguard support - always latest version
    • DriveDroid support
    • Dex with any HDMI adapter - thanks @ Barna Keresztes
    • Samsung Dex: WQHD support with every adapter - thanks @ craftingmod
    • higher SOT - with new battery up to 10 h, with old battery see screenshots
    • Wi-Fi calling & VoLTE works
    • S8: RAM upgrade - 3679 @ 3717 MB
    • Note8: RAM upgrade - 5339 @ 5376 MB
    • unlocked higher CPU Freq steps - thanks @Noxxxious for initial CPU OC
    • SELinux in permissive mode - thanks @Noxxxious
    • fake enforce for SELinux (you can enable it in a2n demo app)
    • DRM - L3 stable streaming
    • SafetyNet bypass (you need to enable "MagiskHide" in "Magisk" APK
    • Google Play - certified device
    • replaced SSWAP with zRam - fast LZ4 compressor
    • optional filesystem: NTFS
    • kernel modules for CIFS and NFS
    • optional device encryption
    • HMP driver fix
    • extra gamepads drivers: Xbox / Sony PS / Nintendo Wii
    • ability to OC CPU only for screen on

    A2N Kernel Control

    Best way to tune this kernel to your needs

    # App Features #
    # Power
    -- Charger Control
    For faster charging. - Range: 100 - 3000 / 3300 / 3500 mA (S8 / Note8 / S8+)

    -- Battery Informations
    Like accepted charging current, input voltage, battery temperature and battery voltage.

    -- Battery Care
    E.g. stop charging at 95 % to reduce battery aging. - Range: 50 - 100 %
    Battery IDLE feature, useful for DeX or gaming.
    Set Max charging temperature. - Range: 30 - 45 °C

    -- Battery Service
    Shows charge cycles and ability to reset to 0.
    Check real battery capacity in % / mAh and ability to reset. (battery gauge recalibration)

    -- Disable (Buggy) Moisture Detection
    Ability to disable moisture detection, for the case the USB and Jack-port is dry but you get still a moisture warning.

    # Screen
    -- Input Booster
    Adjust touch boost CPU duration in ms, to improve scrolling.

    # CPU
    -- Overclock Control
    BIG CPU: 741 - 2808 MHz* - default: 2314 MHz
    LITTLE CPU: 455 - 2002 MHz* - default: 1690 MHz
    Set Max Freq for screen OFF.
    Ability to disable boost, for powersave.
    Governor up_threshold, to adjust balance between performance and powersave.
    BIG CPU DVFS Max Temp (thermal throttling)** - Range: 45 - 100 °C

    # GPU
    -- Overclock Control
    260 - 839 MHz* - default: 546 MHz
    Ability to disable boost, for powersave.
    Governor up_threshold, to adjust balance between performance and powersave.
    GPU DVFS Max Temp (thermal throttling)** - Range: 45 - 100 °C

    * Max stable Freq depends on the quality of the SoC !
    ** To avoid too big performance drops from stock thermal throttling driver.

    # Performance Profiles
    -- Powersave
    -- Balanced
    -- Performance (Kernel Default)
    -- Performance Plus (Gaming / OC) (Adjustable CPU / GPU Freq)

    # RAM
    -- Memory Management
    Swap / zRam* - LZ4 compressed swap block-device in RAM - Choice: 0 - 100 % of RAM size
    Adjust Swappiness, page-cluster and read_ahead_kb.
    Ability to drop caches / buffers, to free RAM.

    * For multitasking, gaming, responsiveness and battery life.

    # Network
    Load kernel module for network file systems
    SMB2/SMB3 / CIFS
    NFS v2, v3 & v4
    L2TP - used for VPN.
    Wireguard - Secure Network Tunnel.
    TCP Congestion Control - Choice: cubic, new reno, bic, westwood+, vegas, veno, hybla, etc..
    Wi-Fi Band Selection, choice: "2.4 GHz / 5 GHz", "2.4 GHz only" or "5 GHz only".

    # Misc
    -- Torchlight Tuning
    Increase brightness for the highest level in Android quick settings. - Range: 10 - 17 - Default Max is "10"
    -- LED-RGB
    Set blink ON / OFF delay for notifications / low battery.
    Optimize RED, GREEN, BLUE LED - Increases brightness by disabling powersave mode on low lux.
    -- Accelerometer Calibration

    # File Systems
    -- Load kernel module for NTFS.

    # Advanced Power Menu
    Reboot to:
    -- system
    -- recovery
    -- download
    or:
    -- shutdown
    Installation from Scratch
    (assuming you are using latest stock ROM)
    • Settings --> Phone Info --> Software info --> build number (tap 7 times)
    • Tap 2 times the back-key
    • Developer settings --> enable "OEM unlock"
    • Download TWRP for S8 / S8+ / Note8 accordingly (the .tar version, for ODIN flash over PC)
    • Download latest A2N Kernel for S8 / S8+ / Note8 accordingly and put the file in USB-thumb or in micro-sd-card
    • Download latest Magisk.apk
    • Rename Magisk.apk to Magisk.zip and put the file in USB-thumb or in micro-sd-card
    • Power off​
    • Boot in Download-mode​
    • Flash the .tar twrp file with ODIN (disable "auto-reboot" and "reset time")​
    • Reboot directly to TWRP​
    • wipe ---> format data ---> "yes" (type yes) and ENTER.​
    • Flash latest A2N Kernel​
    • Flash Magisk.zip​
    • Optional but recommended: flash AdAway_hosts_patcher_g95x.zip (battery drain fix for vanced YouTube and vanced YT music)​
    • Reboot to system and enjoy !​
    • Note: first boot takes around 15 minutes for proper app optimization !​

    Update A2N Kernel
    • Download and flash latest A2N Kernel for S8 / S8+ / Note8 accordingly​
    • Flash Magisk.zip​
    • Reboot to system and enjoy !​

    Current Bugs and Changelog
    FAQ


    Disclaimer

    I am not responsible for anything that happens after flashing the work provided here.

    Sharing is caring, so according to the (much unwelcomed) rule 12 you can use my open source on GitHub without my explicit consent or credits. But this is where the caring stops as I do not allow you to use any of my own provided files (except for unmodified stock files). Section 3 of this rule states that you can try to bypass my explicit consent by releasing it as your own when you succeed to make significant changes to the work, otherwise i'll report you and your thread will be removed.

    Credits

    Linus Torvalds - Linux kernel
    Google - Android kernel patches
    Samsung - device kernel source
    @corsicanu - TWRP recovery - original thread
    @S.AMU for providing FTP-Server
    000webhost - Webhosting
    @Noxxxious for the nice disclaimer text
    XDA members - Reporting bugs

    Contributors
    ace2nutzer

    Source Code: https://github.com/ace2nutzer/Samsung_dreamlte_Kernel
    32
    Buglist - Kernel V. 2022.08.23
    • Random reboots - use v. 2022.07.01 for now
    Changelog

    Kernel V. 2022.08.23

    • Audio UHQ: re-implemented on big CPU
    • Fixed deep sleep issue (caused by UHQ audio patch)
    • HMP_CUSTOM: tiny optimizations
    • Re-enabled several kernel security features
    • Re-enabled all HID drivers as suggested by Google
    • CPU/GPU OC: updated custom DVFS table for better OC stability - thanks @PORTER2002 for testing 2,8GHz stability
    • Fixed Samsung DexPAD - S-PEN works now - thanks @Illutorium for testing
    • Fixed as well other Samsung accessoires
    • Dex should still work with 3rd-party adapters as well
    • GPU: added some more optimizations, especially for Vulkan render
    • Optimized various system clocks for higher efficiency
    • Optimized input booster for higher efficiency - it uses now Freqs from "balanced" profile to be more power efficient
    • GPU: slow screen orientation should be fixed as well
    • Audio: fixed audio scratching when adding a lot of filters

    A2N Kernel Control V. 5.1
    • GPU: voltage control: synced voltages from kernel release
    • Performance Profiles: updated all profiles
    • CPU: updated "little only" switch
    • Audio: UHQ: replaced PM-QOS-LIT with PM-QOS-BIG since we use now audio on big CPU
    • Updated defaults

    Kernel V. 2022.07.01
    • DEX: bug fix for 3rd-party HDMI adapters
    • DVFS table: removed hardcoded OV for big CPU by me
    • Reduced power consumption for IDLE + low Freq steps (especially for Note8)
    • UHQ Audio: exported pm_qos_lit to userspace (to fix audio scratching)

    A2N Kernel Control V. 5.0
    • Audio: added UHQ pm_qos_lit control (to fix audio scratching)
    Older Changelogs

    Kernel V. 2022.06.24
    • Charger Control: fixed bugs in LPM and battery IDLE feature
    • CPU/GPU/RAM/etc...: added voltage control
    • CPU/GPU: improved OC stability (CPU lit works stable @ 2 GHz for me)
    • Sound: updated pm_qos - should reduce sound scratching while idle and screen off
    A2N Kernel Control V. 4.9
    • GPU: added voltage control for OC steps (stable up to 839 MHz)
    • CPU: added "little only" (for powersave)
    • updated defaults
    Kernel V. 2022.06.12
    • GPU: updated voltage table - stable OC up to 839 MHz !!!

    Kernel V. 2022.05.13
    • HMP_CUSTOM: updated driver
    • Audio: fixed stuttering - thanks @MUNISH MONGA for report and tests
    • DRM switched to L3 (Netflix fix)
    • Improved stability

    A2N Kernel Control V. 4.8
    • Debug: added "fix permissions" (useful if you use this app with other kernel manager apps)
    • Improved stability
    • Bug fixes

    A2N Kernel Control V. 4.7
    • Improved stability
    • Bug fixes

    Kernel V. 2022.04.26
    • USB: fixed MTP/PTP/USB-tethering connections
    • USB-OTG: fixed SSD/HDD connection - thanks @PORTER2002 for testing
    • HMP_CUSTOM: updated driver - reduced delay on task migration - fixed background tasks that was sometimes going back to BIG CPU !
    • Disabled stacktrace
    • Changed dexopt to "speed" - for quick app launch

    Kernel V. 2022.04.20
    • Improved stability
    • Improved memory management
    • Improved multitasking
    • Fixed BT issues
    • Fixed MTP Android version
    • Fixed compatibility issues with emulators apps like Windows emulator
    • Optimized USB-OTG driver
    • USB: improved speed for USB-tethering
    • Added support for F2FS
    A2N Kernel Control V. 4.6
    • Screen: added HDMI/DEX custom resolution changer (to fix low resolution / refresh rate)
    • Misc: fixed MTP driver version Android
    • Screen: moved input booster to CPU
    • Source update
    • Reduced startup time
    • Improved stability
    • Fixed bugs
    Kernel V. 2022.04.06
    • Stability fix
    • Improved memory management
    • Improved multitasking
    • CPU/GPU: updated DVFS driver - allowed again up to 100 °C
    • Compiled with -O3 - for higher speed
    • Enabled CONFIG_SYSVIPC - required for some emulator apps
    • DEX: allowed all resolutions (presets) as well for HDMI 1.4b (experimental)
    • USB-OTG: enabled support for HID, PRINTER & MASS_STORAGE (experimental)
    • Added better support for secure folder in kernel - not tested yet
      (to enable it on custom ROMs with secure folder support, after you flashed this kernel and Magisk, write this simple cmd to your init.d script: "start secure_storage", save and reboot.)
    A2N Kernel Control V. 4.5
    • CPU/GPU: DVFS max allowed 100 °C
    • Stability fix (kernel & app)
    • MISC: added MTP version changer
    • Improved performance (kernel & app)
    • Know issues: MTP version changer is broken in kernel and will be fixed soon.

    Kernel V. 2022.03.11
    • Fxed lags with and without zRam enabled
    • CPU/GPU: ondemand gov --> updated scaling logic
    • CPU/GPU: decreased Freq switching delay from 40 to 20 ms
    • I/O: increased throughput - read_ahead_kb: 32 @ 256 KB
    • Overall improvements (speed, responsiveness, lagfree and battery life)
    A2N Kernel Control V. 4.4
    • RAM: added page-cluster and read_ahead_kb tunable
    • Updated defaults
    Kernel V. 2022.03.05
    • Improved stability - needs some testing now
    • Improved memory management
    • Improved performance & battery life
    • CPU/GPU: updated DVFS driver - reverted to max 95 °C
    • CPU/GPU: updated ondemand boost logic - uses only min/max freq to reduce freq switching related lags !
    • Fixed potential deep sleep issues
    • NET: moved L2TP & Wireguard to modules - (you can load modules over A2N full app or over init.d script)
    • GPU: updated driver - memory allocation improvements
    • USB-OTG: should support now also USB 2.0 & USB 1.1 devices (not only USB 3.0) - needs testing
    • Dex: re-added patch: enable Dex with any HDMI adapter (was accidentally removed)
    • Experimental: Dex: support more resolutions
    A2N Kernel Control V. 4.3
    • Network: added L2TP & Wireguard support
    • Updated defaults
    • Bug fixes
    • Improved stability
    Kernel V. 2022.02.06
    • Improved stability
    • Optimized memory management
    • Enabled CONFIG_USER_NS
    • Added Note8 support - (DUG6)
    • Source code update --> DUG6 (jul 2021)
    • Tiny updates to WiFi and HMP driver
    • Charger Control: increased default Max charging Temp: 35 @ 40 °C
    A2N Kernel Control V. 4.2
    • Added Note8 support
    Kernel V. 2022.02.02
    • Improved stability
    • HMP: improved for battery and speed
    • CPU/GPU: updated DVFS driver
    • Lib: sync LZ4 LZO ZLIB with LK 5.16.2
    • Ashmem: sync with AK 4.9.194
    • Samsung Dex: WQHD support with every adapter - thanks @ craftingmod
    A2N Kernel Control V. 4.1
    • Improved stability
    • Updated defaults (swappiness=175)
    • CPU/GPU: DVFS Max 95 @ 100 °C
    Kernel V. 2022.01.16
    • Improved stability
    • zRam: backport from Android kernel 4.9.194 (incl. zsmalloc and lz4 lib)
    A2N Kernel Control V. 4.0
    • Bug fixes
    • Improved performance
    Kernel V. 2022.01.10
    • Improved stability
    • CPU: updated HMP driver
    • Optimized MIF & INT Freqs qos-requirements
    • Removed F2FS driver
    Kernel V. 2021.12.20
    • Fixed random reboots
    • CPU/GPU: governor update
    • CPU/GPU: DVFS update - for stability & performance
    • SELinux: removed fake enforce (enable MagiskHide in Magisk)
    • Phone status: official (fake)
    • Wireguard: source update
    A2N Kernel Control V. 3.9
    • Bug fixes
    • Improved performance
    • Improved stability
    • Updated settings
    Kernel V. 2021.12.06
    • Another attempt to fix random reboots
    • Swap: reverted zRam driver to stock - with some fixes by me
    • Improved LPM charging
    • Updated torch sysfs interface - for ultra bright torch
    • Updated kernel config
    • Disabled CONFIG_MEMCG (memory resource controller)
    • Optimized LMK driver (minfree values - should fix bad multitasking)
    • Wireguard: source update
    A2N Kernel Control V. 3.7
    • Re-added autostart on boot
    • Torch: increased Max value: 15 @ 17 (Stock: 10)
    • Bug fixes
    • Improved stability
    • Reduced mobile data usage
    • Updated defaults
    Kernel V. 2021.10.29
    • Fixed random reboots
    • Fixed apps force close
    • Reduced device heat
    • Improved memory management - especially multitasking
    • Updated Wireguard to the latest version
    • Fixed minor bug in Wi-Fi driver
    • Updated USB OTG drivers
    • CPU/GPU: updated DVFS (OC driver) and ondemand governors
    • Updated / fixed moisture detection for USB and jack port
    • HMP_CUSTOM: updated to allow to use all 8 cores at the same time for just one app (if the app has at least 8 threads)
    • Disabled "CONFIG_RT_GROUP_SCHED" as suggested by Google AOSP upstream, for the proper handling of real-time tasks
    • Added support for CIFS/SMB V2 + V3 and NFS V.4.2
    • CIFS: Fixed infinite loop when using hard mount option
    • SELinux: optimized "fake enforce" hack
    • Swap: updated zRam driver
    A2N Kernel Control V. 3.6
    • RAM: LMK: added 64 MB choice,
    • added "Swappiness" tunable
    • CPU: Little: re-added "Disable Boost" and "up_threshold"
    • Switched to "DarkMode"
    • Bug fixes
    • Improved stability
    • Reduced mobile data usage
    • Updated defaults

    Kernel V. 2021.06.03 (Hotfix)
    • Charger Control: Fixed AFC regression
    • Kernel Config: re-enabled CONFIG_PGTABLE_MAPPING
      Disabled CONFIG_RBIN - maybe this will fix zRam random reboots (needs some testing)
    Kernel V. 2021.05.30
    • CPU/GPU: updated ondemand gov
    • Charger Control V. 2.9: optimized AFC handling
    • Kernel Config: re-enabled CONFIG_SECURE_OS_BOOSTER_API for maximum speed for iris, fingerprint and face unlock
      Disabled CONFIG_PGTABLE_MAPPING - maybe this will fix zRam random reboots (needs some testing)
    Kernel V. 2021.05.22
    • zRam: set to 50 % size by default
      improved stability
    • Memory Management: optimized low-memory-killer to have min 192 MB free RAM
      for quick response even if RAM is in high pressure state
    • Torch: fixed torch control interferences with Android's quick settings
    • SELinux: added ability to fake enforce status (in demo app)
    • CPU big/lit: updated ondemand gov for the better smoothness and battery life - up_threshold 95 by default
    • CPU big/lit: up_threshold=95 and disabled boost always fixed on suspend for more power saving
    • CPU little: increased min_freq to 598 MHz, up_threshold 95 and enabled boost but on suspend it'll use 455 MHz for power saving
    • GPU: updated ondemand gov for more powersaving - up_threshold 95 - boost enabled
    • GPU: removed unused governors
    • Input Touch Booster: disabled by default for more power save
    A2N Kernel Control V. 3.5
    • New: check for new A2N Kernel release on app launch
    • Misc: fixed torch control interferences with Android's quick settings
    • Updated defaults
    • Bug fixes
    • Removed redundant buttons
    • Reduced network traffic and debugging
    Kernel V. 2021.04.17
    • Source code update: DTF1 -> DUA3 - thanks @ Samsung
    • HMP_CUSTOM: update - should fix several bugs e.g. with BT
    • zRam: updated driver for higher efficiency in MM and higher security (encryption) - thanks @ minchank
    • zRam: improved performance and compression ratio
    • MM: optimized CMA*/RBIN* usage - for the better memory allocation
    • MM: saved around 100 MB of a wasted RAM from RBIN - zRam driver will use it now
    • Debug: reverted some debug log buffers sizes to stock - probably it caused some instabilities
    • Fixed BT disconnections - thanks @traversone for testing in Android-Auto !
    • Improved stability
    • HMP_CUSTOM: updated driver
    • Optimized MM
    • zRam: updated LZ4 lib
    • Encryption: enabled hardware acceleration
    • Optimized boot-script for boot glitch fixup (needs some testing) ;)
    • Added some patches e.g. EXFAT support provided by @ remilia15
    • Some more minor kernel tweaks
    • Uploaded also patched stock kernel - DUA3
    • Uploaded twrp with latest a2n kernel inside
    *MM = Memory Management
    *CMA = Contiguous Memory Allocator
    *RBIN = recyclable reserved RAM for camera (228 MB)

    A2N Kernel Control V. 3.4
    • Charger Control: added USB-CDP ( for USB charging in cars)
    • CPU/GPU: optimized DVFS
    • Profiles: Performance Plus: allow custom Freqs
    • Network: added more TCP congestions algorithm
    • Advanced Power Menu: updated
    Kernel V. 2021.03.24
    • Fixed audio call recording - thanks @rostifaner for help
    • Charger Control: added support for USB-CDP (used in cars) - thanks @traversone for report and log
    • Thermal Throttling: driver update and allow up tp 95 °C stable CPU/GPU Temp (adjustable over the app or script) and add a proper overheat protection
    • Added more TCP congestions algorithm
    • lib/lz4: updated to LK 4.11.12 (for zRam stability and performance)
    • zRam: decreased overhead and reduced memory usage
    • I/O: increased read_ahead_kb for max speed
    • mm/zsmalloc: removed all samsung changes
    • Enable WQ_POWER_EFFICIENT_DEFAULT & MALI_DMA_FENCE
    • Custom HMP: update
    Kernel V. 2021.02.06
    • Fixed device heating up - this time for real ;)
    • CPU/GPU: added my custom (DVFS) thermal throttling driver
      range: 45 - 85 °C
      default: 65 °C**
      adjustable temperature separately for CPU/GPU !
      STABLE OC up to 2.8 GHz !! ***
    • Fixed random reboots - thanks @rostifaner for the hint !
    • Swap: added more optimizations for zRam
    ** Max possible performance only @ 85 °C for CPU/GPU !
    *** I was able to pass Geekbench + 3DMark @ CPU 2.8 GHz / GPU 572 MHz with DVFS 85 °C

    A2N Kernel Control V. 3.3
    • CPU/GPU: replaced "Cool Freq" (DVFS) with "Max Temperature"
    • Profiles: updated "Performance Plus" BIG-CPU 2.5 @ 2.8 GHz :cool:
    • Optimized reboot routine

    Kernel V. 2021.01.26
    • Fixed device heating up
    • CPU/GPU: optimized thermal throttling (performance)

    A2N Kernel Control V. 3.2
    • CPU/GPU: updated "Cool Freq" (DVFS)

    Kernel V. 2021.01.20
    • Optimized system clocks
    • Fixed stability issues with/without zRam from previous release
    • Charger Control: added battery volt & battery (charge) max_temp interface
      Reverted all temperature settings to stock
      HACK: allow to reset battery capacity without JIG :cool:
      FIX: fast charging in LPM and any issues with fast charging, likely with wireless fast charging
    • CPU: updated ondemand governor
    • GPU: added a simple ondemand governor ;)
    • Source code cleanups
    • Reduced log buffer to the Min
    • Reenabled touch booster driver
    • Swap: improved zRam performance (page-cluster reset to stock)
    • Wi-Fi: allow to disable 5 GHz or 2.4 GHz band (this will fix severe issues with Wi-Fi routers that doesn't allow to use different SSID for 2.4 GHz / 5 GHz band)
      Extended driver
    • RAM: 3724 MB

    A2N Kernel Control V. 3.1
    • Power: added "Battery Voltage Check"
      fixed 3500 mA current for S8+
      added "Battery Cycles" & "Real Battery Capacity" and allow to reset it
      added "Max Charging Temperature"
    • CPU/GPU: readded "up_threshold" & "Disable Boost"
      added "Increase Sampling Rate"
    • Added more dialogs / checks
    • RAM: optimized "Drop Caches / Buffers"
    • Screen: readd "Input Boost Duration"
    • Added a quick 3-way reboot menu
    • Network: added "Wi-Fi Band Set"
    • Stability fix
    • Grammar fixes
    • Updated defaults
    A2N Kernel Control V. 3.0

    • Improved stability

    Kernel 2020.11.06
    • Fixed graphical screen glitches at resolutions > 1080
    • Optimized system clocks
    • RAM: Allowed to use higher RAM Freq - 1794 @ 2093 MHz (if Supported by binning)
    • CPU: updated cool freq logic - by default it uses system default (depending on binning)
    • GPU: improved stability, performance and readded OC up to 839 MHz
    • GPU: added "Cool Freq" Interface as well like on CPU for better handling of the higher Freqs > 572 MHz (since fully disabling DVFS would overheat the Phone)
    • CPU: Fixed Suspend Max Freqs feature
    • Power: Updated Charger Control to V. 2.6
    • Charger Control 2.6: increased default charging current to:
      AC/USB-PD: 1500 @ 2200 mA(S8) / 1800 @ 2600mA (S8+)
      Wireless: 900 @ 1200 mA
    • Disabled a lot of excessive debugging / log spamming / tracing
    • RAM: 3710 @ 3727 MB (with latest stock kernel it's 3679 MB) :cowboy:
    • Source cleanup
    • Fully disabled INPUT_BOOSTER to avoid painfully battery draining even when it's not needed e.g, if you just keep your finger on the Screen
    • CPU: switched from conservative gov to ondemand (conservative gov was cool but it's time for the new sh!t !)
    • SWAP: improved zRam Stability (disabled PGTABLE_MAPPING ... caused freezes and random reboots for me)
    • Patched system binary "dex2oat" to run only on big CPU - faster Apps optimization after wiping dalvik-cache and in general also it speeds up usual app installation and updating time from Play Store :cool:
    • More responsive, smoother and better performance ..... better battery life as well ?? - Let me know as i didn't test it yet :D

    A2N Kernel Control V. 2.9
    • GPU: re-added OC up to 839 MHz
    • GPU: added GPU Cool Freq
    • Power: added Battery Cycle Info
    • Apply settings earlier on boot
    • Updated defaults / text
    • Fixed crashes
    Kernel 2020.09.27
    • RAM: Optimized memory management - higher memory pressure for better multitasking even without swap
    • Charger Control V.2.5: increased max allowed batt temp to 45 °C - faster charging for Wireless and Cable
    • LED-RGB: allowed also to disable lowpower-mode for RED and GREEN LED
    • BIG CPU: enabled BOOST by default
    • CPU: enabled touch booster by default with 500 ms duration
    • Charger Control V.2.5: fixed battery level wrongly increasement when battery level is high at around 95 % and battery idle mode is active
    • Fixed all bugs with Battery iDLE, Battery Care and the mess with RGB-LED (now it finally works properly)
    • GPU: Removed Freq steps > 572 MHz since it doesn't work stable
    • GPU: added some useful sysfs interfaces to /sys/kernel/gpu (for debugging)
    • More responsive and smoother

    A2N Kernel Control V. 2.8
    • RAM: added very easy and fail-safe control over Low-Memory-Killer
    • CPU: added CPUSET Control - ability to disable some unstable cores in order to get higher stable overclock rate
    • CPU: added ability to set a custom max_freq for Screen OFF
    • Misc: added ability to optimize also GREEN and RED LED
    • Reworked App layout
    • Updated defaults / Profiles
    • Removed unnecessary features
    • Simplified usage
    Kernel 2020.08.27
    • Charger Control: increased high_temp_recover from 40 @ 43 °C (faster charging)
    • Battery Care: Fixed Blue LED / Non-Charging randomly

    A2N Kernel Control V. 2.7
    • Compiled with SDK 29 (Google Play requirement)
    • Power: fixed "Battery IDLE mode" description

    Kernel 2020.08.24
    • Improved Performance - also more smoother
    • LED-RGB: Proper handling of BLUE LED for Battery Care / Battery IDLE :D
    • Extended Input Support for mouse, keyboard, joysticks and touchscreen panels

    A2N Kernel Control V. 2.6
    • Misc: LED-RGB: replaced "disable low-power-mode" with "Optimize Blue LED" (higher brightness in the darkness)*
    * Since only the Blue LED needs an increasement

    Kernel 2020.08.11
    • Fixed Call Audio

    Kernel 2020.08.06
    • Source update DTC6 --> DTF1
    • Ramdisk Update DTEA --> DTF1
    • Partially enabled HMP Driver for proper handle of both CPU's
    • Updated Charger Control to V. 2.4: added support for battery idle* and battery care
    • LED-RGB: added ability to adjust blink delays for missed notifications
    • LED-RGB: added ability to disable low_power_mode - higher LED brightness in the darkness
    • Power: USB: ability to disable water detection
    • Drivers: enabled support for Xbox / Sony PS / Nintendo Wii / Gamepads
    • CPUSETS: moved some tasks and services (e.g. Audio encoder) to the little CPU in order to relieve the big CPU, improving performance for foreground Apps !
    • Optimized some system clocks
    *= when battery is in idle, the LED will light up BLUE :D

    A2N Kernel Control V. 2.5
    • Power: added battery care support (e.g. stop charging at 95 %)
    • Power: added battery idle feature (power your phone over cable-only)
    • Power: added ability to disable water detection (to deal with wrong water detection)
    • Misc: added ability to adjust LED-RGB blink delays (for missed notifications)
    • Misc: LED-RGB: added ability to disable low-power-mode (higher LED brightness in the darkness)
    • RAM: added ability to drop all caches and buffers (to free some RAM)
    Kernel 2020.06.03

    • Ramdisk Update DTC1 -> DTEA
    • defconfigs: switched back to EXT4_FS_ENCRYPTION *
    • Build.prop tweaks (dalvik-heap)
    * if you are using device encryption and your device can't boot with this release, then flash previous release

    A2N Kernel Control V. 2.4

    • CPU: DVFS: unlocked all Frequencies - allows to disable CPU DVFS entirely
    • GPU: DVFS Fix

    Kernel 20200519

    • Source Update DTA6 -> DTC6
    • Charger Control: allowed higher chg_temp - should charger faster, especially for 3000+ mA
    • defconfigs: re-enable Gear VR related drivers
    Kernel 20200513

    • Memory Management: reverted to stock minfree values - slightly optimized
    • Dex with any HDMI Adapter - thanks @ Barna Keresztes from GitHub
    • zRam: stability Fix
    • init.d Fix
    • Improved Demo App auto installation - stability fix
    Kernel 20200509

    • Memory Management: decreased memory pressure since it caused hangs
    • init.d Fix
    • Improved Demo App auto installation

    Kernel 20200507

    • FIXED: VoLTE and Wi-Fi Calling for all ROMs and SIM Cards (especially Jio 4G VoLTE) - thanks @Orangelelo for testing
    • Charger Control: AFC Fix
    • enabled CONFIG_IP_NF_TARGET_TTL
    • FIXED: random reboots from previous version
    • FIXED: Lags from previous Version
    • Wi-Fi: Driver bug fix
    • Improved Demo App auto installation
    Kernel 20200427

    • Charger Control: Driver update to V. 2.2
    • Charger Control: Auto AFC - user friendly
    • Charger Control: Fixed Wireless Charging overheat issue - thanks @Ranbir7878 for testing
    • Charger Control: Reduced heat when charging with > 5 V (AFC aka fast charging)
    • Charger Control: Fixed S8+ max charging current 3000 -> 3500 mA
    • RAM: optimized multitasking - fixed (restarting) notifications
    • Kernel config: disabled MPTCP
    • Binary Code Optimizations (CRC, Crypto, FPU, NEON)
    • Fixed init.d interferences with A2N App Full Version
    • Fixed Demo App auto installation - thanks @ChronoMonochrome for help

    A2N Kernel Control V. 2.3

    • Updated Defaults
    • Power: Auto AFC (removed switch)
    • GPU: DVFS Fix (3D improvement)
    • Power: added batt temp
    • Bug Fix - Fixed interferences with init.d scripts

    A2N Kernel Control V. 2.2

    • Request Root on App startup
    • Bug Fix
    Kernel 20200403

    • FIXED: moving Apps to micro-sd card
    • FIXED: USB-PD Charging
    • RAM: optimized memory management - especially improved Multitasking
    • RAM: increased dalvik heap from 512 to 768 MB
    • Updated Kernel Config
    • Disabled HMP - this Kernel uses hardcoded CPUSETS (background tasks only on small CPU and foreground tasks only on big CPU)
    • Optimized system Clocks
    • CPU: conservative gov update - added Boost Control - in order to switch from min to max freq immediately
    • UFC/CPU: use stock cool_freq by default - 1469 MHz (but you can increase it over the App up to 2002 MHz)
    • GPU: Optimized OC - now Freq's higher than 572 MHz are also available but uses the same Voltage like 572 MHz (before the voltage wasn't set at all)
    • GPU: Enabled DVFS by default - (but you can disable it in A2N Kernel Control App if you need higher 3D Performance even on high temps)
    • Charger Control: updated driver to V. 2.1
    • SWAP: optimized zRam
    • Re-Added Wireguard importer - latest version
    • Updated kernel source to DTA6
    • Updated Ramdisk to DTC1

    A2N Kernel Control V. 2.1

    • GPU: unlocked all steps up to 839 MHz
    • CPU: added Boost Control - in order to switch from min to max freq immediately
    • GPU: allows to disable DVFS - for higher 3D Performance
    • Updated defaults and Performance Profiles

    A2N Kernel Control V. 2.0

    • Improved Stability
    • Allowed to use the App in Offline-Mode - Check "INFO" in the App description in google Play
    Kernel 20200117

    • Fixed Device Encryption
    • NET: total available tcp congestion algorithm: cubic(default), reno, bic, westwood
    • Fixed Wifi-Calling (VoLTE already worked in previous release)
    • HMP: re-eneabled and reworked / optimized for max speed + Battery life
    • zRam: optimized for full speed (use all 8 cpu cores at the same time)
    • added choice for loading one of the three sizes: 25, 50 or 75 % of the RAM size
    • Improved Memory Management + Multitasking
    • Cooling Control: Added interface for adjusting the cool down CPU Freq max limit
    • Optimized input booster - enabled hmp_boost by default
    • Default USB Config is now sec_charging (if u need MTP or else, enable yourself in statusbar)
    • Higher performance + Better battery lifetime + smoother
    • Uploaded also new TWRP powered with this kernel release inside + fixed USB MTP

    A2N Kernel Control V1.9

    • Performance Profiles: optimized for higher efficiency
    • Network: added TCP Congestion Control (cubic, reno, bic, westwood)
    • RAM: Swap / zRam: added choice for size 25 %, 50 % and 75 % of total RAM
    • CPU: Device Cooling Control: allows to change the CPU Max Freq limit for cool down
    • Cooling Control: check if there is currently an cooling event
    • Screen: Reworked Input Boost Control - Adjust Freq and duration
    • Bug Fix: Fixed back arrow
    Kernel 20191224

    • Fixed Audio in Calling
    • Fixed VOLTE / Wifi-Calling
    • Fixed boot loop if magisk canary was installed
    • Charger Control: added support for USB-PD and increase default charging current for S8+ from 1500 to 1800 since it has higher capacity
    • Charger control: increased max charging current from 3000 to 3500 mA for S8+
    • Swap: optimized zRam
    • RAM: optimized Multitasking
    • Overall improvements - performance, battery, scrolling
    • Removed Wireguard
    • Improved my TWRP Version stability
    • Uploaded also updated/optimized twrp for S8/S8+ and stock kernel for reference purposes
    • This Version may fix a bunch of other bootloop issues with custom ROMs - Needs testing!

    A2N Kernel Control V1.8

    • Power: added USB-PD current control
    • Charger control: increased max charging current for S8+ from 3000 to 3500 mA
    • Charger control: increased default charging current for S8+ from 1500 to 1800 mA
    • CPU: added all available overclock frequencies steps - for both CPUs

    Kernel 20191216

    • Kernel source code update DSI1 --> DSJC
    • Ramdisk update DSI1 --> DSK9
    • Updated conservative gov
    • Re-enabled input_booster by default since it makes scrolling on chrome browser smoother (Home Tab)
    • Disabled HMP driver since it caused randomly overheating issue
    • Foreground tasks will run only on big CPU while background tasks will run only on small CPU - this will eliminate tasks migration relates delays between both clusters completely
    • Updated GPU config
    • Optimized system clocks like MIF clock and so on
    • Reduced boottime: cluster0 @ 1,9 GHz and Cluster1 @ 2,5 GHz during boot sequence
    • Reverted all the network stuff to stock (only the disabled ones .., not new enabled features)
    • Changed back to stock: ECRYPT to EXT4 encryption
    • Added filesystem encryption support for F2FS
    • Fixed USB Tethering (tested on win xp lol)
    • Cluster0 min_freq 715 @ 455 MHz back for screen ON in order to save some power
    • Fixed several errors from logs
    A2N Kernel Control V1.7

    • Screen: updated input booster (for max smoothness)
    • CPU/Profiles: Cluster0 is back stock min_freq of 455 MHz (still smooth :cool:)
    • Perf. Profiles: added Performance Plus and updated the other profiles
    • Fixed app reset settings if stock kernel was installed (now settings will survive if u go back to a2n kernel)
    • Added new menus RAM + Network and sorted things properly into it
    Kernel 20191118

    • Attempt to fix randomly heating up
    • HMP: Calibrated Tunables - now it works properly when the Small Cpu is overclocked
    • Removed OC Freqs for the Big CPU - not stable (caused miscalculations)
    • Improved performance and battery life
    • More smoothly and more responsive
    • Extras:
    • Uploaded also twrp recovery including this kernel version for S8 / S8+ (fixed instability and improved speed)

    A2N Kernel Control V1.6

    • CPU/Profile: Removed OC Freqs for Big CPU (was not stable)
    • Performance Profile works properly now

    Kernel 20191114

    • Fixed stability + performance issues from previous Version
    • Charger Control: set AC / WC current 1200 @ 1500 mA by default
    • Updated kernel config
    • Enabled CONFIG_NETFILTER_XT_TARGET_NFLOG and CONFIG_NETFILTER_XT_TARGET_LOG to support Afwall
    • Optimized CPU/GPU Governor
    • Disabled input booster by default - but it can be enabled in userspace (e.g. over scripts or App)
    • Re-enabled HMP Driver - but this time patched to finally work PROPERLY :eek:
    • Added KVM Support - (low-level VM support for max performance)
    • Optimized zRam - max_compression_streams = 4 @ 8
    • Optimized memory management
    • Improved performance and battery life
    • More smoothly and more responsive
    • Extras:
    • Uploaded also twrp recovery including this kernel version for S8 / S8+
    • Uploaded also patched stock kernel - Fixed Camera

    A2N Kernel Control V1.5

    • Power: AC / WC current 1200 @ 1500 mA by default
    • Removed unsafe Frequencies Steps
    • Updated defaults and strings
    • GPU: added min Freq control
    • Screen: added input booster control (Freq and time)
    Kernel 20191019 BETA

    • FULL Android 9 Pie Support
    • Based on Stock Source Code DSI1
    • Ramdisk DSI1
    • Compiled with the OFFICIAL ARM/Linaro GCC 8.3
    • Optimized Memory Managent
    • Improved Performance
    • Improved Battery Life
    • Reduced Device heat
    • More Responsive
    • Fixed Laggs (especially for some 2D Games)
    • Increased Efficiency
    • RAM: 3485 @ 3711 MB
    • Unlocked higher CPU/GPU Freq Steps - Thanks @Noxxxious
    • SELinux in permissive mode - Thanks @Noxxxious
    • Disabled SSWAP
    • Added zRam Support with fast LZ4 Compressor
    • Added KSM Support - patched for Android by me
    • Optimized Input Booster
    • Fixed very bad CPU IDLE
    • CPU: Interactive @ conservative gov - for higher efficiency
    • Added Wireguard Support
    • CPU: Cluster 0: Screen ON min_freq 455 @ 715 MHz to Fix Lags - 455 MHz Step is used for Screen OFF
    • Compiled with DEFAULT_USE_ENERGY_AWARE / WQ_POWER_EFFICIENT_DEFAULT - for better Battery Lifetime
    • Optimized Crypto, NEON SIMD Hardware Acceleration (e.g. faster device encryption due of hardware acceleration)
    • Disabled HMP since it serves nothing - Hardware doesn't allow to use real cpu_hotplugging ...
    • Added Charger Control 2.0 by me - Allows to configure custom max input current from 100 - 3000 mA in 100 mA Steps separately for AC / USB 2.0 / USB 3.0 / Wireless - that means real Fast Charging even with Screen ON - Allows even to charge at max current possible with 3rd-party Chargers !!
    • Added Flashlight Torch Control - You can adjust Brightness of your Torch from 1 - 15 - Default/Stock Kernel is just 5 :p
    • SELinux: Removed Audit dependency - Thanks @ kerneltoast && arter97
    • Added Support for F2FS
    • Accurate remaining time to full charged battery
    • init.d Support
    • And many more Kernel Tweaks - i can't list them all here ... changelog is already too long isn't it ?! :laugh:

    A2N Kernel Control V1.4

    • The best Way to manage this Kernel for full functionality (3rd-party Kernel Manager Apps will not work properly with this Kernel)
    • Compiled with API 28 Android 9 Pie
    • Power: Charger Control - Allows to configure custom max input current from 100 - 3000 mA in 100 mA Steps separately for AC / USB 2.0 / USB 3.0 / Wireless - that means real Fast Charging even with Screen ON - Allows even to charge at max current possible with 3rd-party Chargers !!
    • Added switch for "Adaptive Fast Charging" so u can directly toggle AFC in the App.
    • Ability to check actual accepted charging current and Input Voltage
    • CPU: OC Control: Cluster 0: up to 2002 MHz and Cluster 1: up to 2808 MHz
    • CPU Governor tuning: Adjust up_threshold to balance between Battery Lifetime and Performance separately for each Cluster
    • GPU: OC Control up to 839 MHz
    • Hardcoded Performance Profiles:
    • --> Powersave (Underclocked)
    • --> Balanced (Kernel Default)
    • --> Performance (Overclocked)
    • Misc: switch for zRam, KSM
    • Misc: Torch Brightness Control - up to 3 times brighter flashlight than with a stock Kernel !!
    • Misc: Ability to load kernel Module for CIFS and NFS with just one Tap
    • Misc: Accelerometer Calibration
    • Debug: u can call this Menu over the App built-in Menu (3 dot) - ability to save logcat and dmesg with one tap to your sdcard ..
    Kernel 20190105

    • Patched ramdisk to fix Copy & Paste and maybe VoLTe too ?
    • Enabled 12 usb_audio drivers for testing (Modules)
    • Disabled some left overs useless drivers

    A2N Kernel Control [G95x] V1.2

    • Compiled with API 26 instead 28
      We use still API 26
    Kernel 20181231

    • Sources update - CRGH -> CRL3
    • Fixed WifiCalling / VoLTE (not confirmed yet)
    • Compiled with latest GCC 8.2 ARM Toolchain
    • Fixed ADB
    • Re-enabled USB Sound Card Drivers
    • Optimized Memory Management
    • USB-OTG: Updated Max Vbus draw Current from 500 mA -> 900 mA, since USB 3.0 Spec allows 900 mA
    • Updated AC Charge Current from 1000 -> 1200 mA
      and AC Fast Charge Current from 2000 -> 2200 mA


    A2N Kernel Control [G95x] V1.1


    • Supports now all Galaxy S8 & S8 Plus with Exynos Chip :cowboy:
    • Adjusted AC Charge Current according to the CRL3 Source from 1000 -> 1200 mA
      and AC Fast Charge Current from 2000 -> 2200 mA
    • Updated Tips for CPU-Max-Freq on Suspend

    Kernel 20181209
    • Fixed mount ext-sdcard
    • Uploaded new Packages: stock kernel, twrp fully patched with latest A2N Kernel
    • Full Version of A2N Kernel Control for Galaxy S8 is now available!

    A2N Kernel Control [G950] V1.0
    • Initial Release - All Features you can see in the built-in Demo App by flashing the Kernel package
    • Supports for now only G950F

    Kernel 20181205
    • Initial Release - All changes compared to the Stock Kernel u can find it in Post #1 "A2N Kernel Features"
    • Based on Stock CRGH Source
    • Compiled with GCC Linaro 7.3.1
    17
    FAQ

    Q: With which ROMs this Kernel is 100 % Compatible ?
    A: Currently only with Android 9 custom ROMs, but Samsung stock ROM is recommended.

    Q: Is this Kernel 100 % Safe ?
    A: Yes.

    Q: Will this Kernel Overheat the Phone if I use Highest Settings ?
    A: No, you can't do anything wrong. Your phone has hard- and software overheat protection.

    Q: How to Revert all Changes Made by this Kernel ?
    A: Flash latest 3-parted stock ROM with ODIN or flash the Samsung kernel from my download site.

    Q: How to bypass SafetyNet ?
    A: Anable MagiskHide in Magisk app.

    Q: How i can Tune this Kernel ??
    A: Everytime you install or update this kernel you will face an red (demo) app "A2N Kernel Control..." open this app, and it'll redirect you to Google Play to get the full version (blue app).

    Q: Can i use and Tune your Kernel with other Kernel Manager Apps ?
    A: Yes, but you need first to unlock kernel with the A2N app full version.

    Q: I've Installed the Full Version of the App, Will it Change any Kernel Settings by Default if i do not Change them ?
    A: No, default app settings = default kernel settings.

    Q: I've the Full Version of the A2N Kernel Control App, Do i still need the Demo Version of the App ?
    A: Yes, there are some special features in-app-menu like "Fake Enforce" and debugging features for easy bug reports.

    Q: How to Charge from 10 % to 100 % In just 1 h ?
    A: E.g. set "AC Current Max" and "Maximum Charging Temperature" to the Max.

    Q: How to get Max Speed for e.g. Highest FPS in Games ?
    A: Set BIG / LITTLE CPU and GPU Freq to the Max, but avoid to use "unsafe" Freq's.
    Then set CPU / GPU --> DVFS --> "Maximum Temperature" to the Max.
    Now you can even cook an egg on your phone !

    Q: Will my Custom A2N Settings Survive if i install Stock Kernel and then going back to A2N Kernel ?
    A: Yes, as long as you don't uninstall it.

    Q: Can i use your Kernel Control App with other Custom Kernels ?
    A: No, it's not universal kernel manager app.

    Q: My A2N App is Crashing after an Update, how to fix it ?
    A: Re-install it. If it doesn't help, wipe dalvik-cache in recovery.

    Q: My A2N App shows: "Please check your internet connection" - But i've good internet connection. - How to fix it ?
    A: Settings --> network settings --> use private DNS server like "dns.adguard.com" - confirmed to work by user @Arnz09 - see his post here.
    Otherwise send me a pm with the screenshot and you current location (city)

    Q: Why I get lower benchmark scores with this kernel compared with the Samsung kernel ?
    A: This kernel uses by default Max CPU/GPU DVFS Temp 65 °C to reduce the device heat. You can buy the full version of the A2N app to set the DVFS Temp up to 100 °C to get higher scores than on stock kernel.

    Q: Why the Android Battery setting "fast charging" has no effect on this kernel ? - It charges always with around 1500 mA.
    A: Because it would conflict with the built-in charger control.
    The default charging current of approx. 1500 mA means no fast charging by default, even if you actually see "fast charging" in the notification section. This is also useful to reduce battery stress and device heat. To charge even with higher speed/current than on stock kernel you need to buy the full version of the A2N app.

    Q: Why I've to pay money for just changing kernel settings ?
    A: Well quality has its price. Also nobody forces you to use this kernel.
    You can flash other custom kernels or flash the Samsung stock kernel from my download site. Good luck !

    Q: When we get an update ?
    A: This kernel is almost 100 % stable and works very well. Also this phone is now a bit "old" and therefore don't expect frequent updates.
    Also don't ask for ETA's and if you do anyway, I'll ignore.

    Q: How to fix audio stutering ?
    A: Increase the UHQ PM-QOS-LIT Freq in A2N app in "Audio" section.
    If you don't have the full version, you can run a cmd like this:
    Code:
    su // only for termux app
    cd /sys/module/abox/parameters
    cat user_pm_qos_lit // check current value
    echo 949000 > user_pm_qos_lit // e.g. set to 949 MHz
    
    # To apply the change at boot, like always, copy paste the cmds to
    # /system/etc/init.d/99_user without the "su" cmd of course.

    Q: What is the benefit of editing the voltage table ?
    A: to increase OC stability increase voltage and to decrease the device heat, decrease voltage. Last one will improve performance due to less throttling ! So it depends on your needs.

    Q: How much is safe to undervolt ?
    A: approx -50 or -75 mV is considered to be "safe".

    Q: How to edit voltage table ?
    A: First of all: to set different CPU/GPU clocks or voltages you need to have Magisk installed and buy my A2N kernel control app full version. This will unlock all premium features of this kernel.
    To edit GPU voltages for steps > 572 MHz ---> use the A2N app full version.
    To change all the other voltages, you need to use ADB and later once you have found the proper voltages for your phone then you can write them to a script that will be executed at every boot.
    Note: this voltage table is from my phone. Your phone may have a different table, so please use your table when it comes to calculate how much you want to undervolt. (50 - 75 mV or 50000 - 75000 uV should be safe)
    I'll help you, here we go !
    Code:
    adb shell
    su
    cd /sys/power
    # print dvfs table so we can see current votlage table !
    echo 1 > print_dvfs_table
    dmesg
    [ 5808.312763] dvfs_type : dvfs_mif - id : 0
    [ 5808.312784] num_of_lv      : 12
    [ 5808.312791] num_of_members : 4
    [ 5808.312802] lv : [2093000], volt = 850000 uV
    [ 5808.312814] lv : [2002000], volt = 850000 uV
    [ 5808.312825] lv : [1794000], volt = 762500 uV
    [ 5808.312835] lv : [1540000], volt = 712500 uV
    [ 5808.312846] lv : [1352000], volt = 675000 uV
    [ 5808.312856] lv : [1014000], volt = 637500 uV
    [ 5808.312867] lv : [ 845000], volt = 606250 uV
    [ 5808.312877] lv : [ 676000], volt = 593750 uV
    [ 5808.312887] lv : [ 546000], volt = 587500 uV
    [ 5808.312896] lv : [ 421000], volt = 581250 uV
    [ 5808.312907] lv : [ 286000], volt = 581250 uV
    [ 5808.312917] lv : [ 208000], volt = 581250 uV
    [ 5808.312938] dvfs_type : dvfs_int - id : 1
    [ 5808.312945] num_of_lv      : 7
    [ 5808.312951] num_of_members : 16
    [ 5808.312962] lv : [ 667000], volt = 781250 uV
    [ 5808.312972] lv : [ 533000], volt = 756250 uV
    [ 5808.312982] lv : [ 400000], volt = 643750 uV
    [ 5808.312991] lv : [ 333000], volt = 612500 uV
    [ 5808.313001] lv : [ 267000], volt = 587500 uV
    [ 5808.313011] lv : [ 178000], volt = 575000 uV
    [ 5808.313020] lv : [ 107000], volt = 575000 uV
    [ 5808.313040] dvfs_type : dvfs_cpucl0 - id : 2
    [ 5808.313047] num_of_lv      : 18
    [ 5808.313053] num_of_members : 1
    [ 5808.313062] lv : [2808000], volt = 1300000 uV
    [ 5808.313071] lv : [2704000], volt = 1175000 uV
    [ 5808.313082] lv : [2652000], volt = 1150000 uV
    [ 5808.313092] lv : [2574000], volt = 1081250 uV
    [ 5808.313102] lv : [2496000], volt = 1037500 uV
    [ 5808.313113] lv : [2314000], volt = 962500 uV
    [ 5808.313123] lv : [2158000], volt = 906250 uV
    [ 5808.313133] lv : [2002000], volt = 868750 uV
    [ 5808.313144] lv : [1937000], volt = 850000 uV
    [ 5808.313154] lv : [1807000], volt = 812500 uV
    [ 5808.313164] lv : [1703000], volt = 781250 uV
    [ 5808.313175] lv : [1469000], volt = 737500 uV
    [ 5808.313185] lv : [1261000], volt = 706250 uV
    [ 5808.313196] lv : [1170000], volt = 687500 uV
    [ 5808.313206] lv : [1066000], volt = 668750 uV
    [ 5808.313216] lv : [ 962000], volt = 656250 uV
    [ 5808.313227] lv : [ 858000], volt = 643750 uV
    [ 5808.313237] lv : [ 741000], volt = 625000 uV
    [ 5808.313256] dvfs_type : dvfs_cpucl1 - id : 3
    [ 5808.313262] num_of_lv      : 12
    [ 5808.313268] num_of_members : 1
    [ 5808.313279] lv : [2002000], volt = 1300000 uV
    [ 5808.313289] lv : [1898000], volt = 1200000 uV
    [ 5808.313300] lv : [1794000], volt = 1137500 uV
    [ 5808.313310] lv : [1690000], volt = 1062500 uV
    [ 5808.313321] lv : [1456000], volt = 937500 uV
    [ 5808.313331] lv : [1248000], volt = 831250 uV
    [ 5808.313342] lv : [1053000], volt = 775000 uV
    [ 5808.313352] lv : [ 949000], volt = 743750 uV
    [ 5808.313363] lv : [ 832000], volt = 712500 uV
    [ 5808.313373] lv : [ 715000], volt = 675000 uV
    [ 5808.313384] lv : [ 598000], volt = 643750 uV
    [ 5808.313394] lv : [ 455000], volt = 618750 uV
    [ 5808.313413] dvfs_type : dvfs_g3d - id : 4
    [ 5808.313419] num_of_lv      : 9
    [ 5808.313426] num_of_members : 1
    [ 5808.313436] lv : [ 839000], volt = 750000 uV
    [ 5808.313447] lv : [ 764000], volt = 750000 uV
    [ 5808.313457] lv : [ 683000], volt = 700000 uV
    [ 5808.313467] lv : [ 572000], volt = 718750 uV
    [ 5808.313478] lv : [ 546000], volt = 706250 uV
    [ 5808.313488] lv : [ 455000], volt = 693750 uV
    [ 5808.313499] lv : [ 385000], volt = 693750 uV
    [ 5808.313509] lv : [ 338000], volt = 693750 uV
    [ 5808.313520] lv : [ 260000], volt = 693750 uV
    [ 5808.313539] dvfs_type : dvfs_intcam - id : 5
    [ 5808.313545] num_of_lv      : 4
    [ 5808.313551] num_of_members : 4
    [ 5808.313561] lv : [ 690000], volt = 812500 uV
    [ 5808.313572] lv : [ 680000], volt = 687500 uV
    [ 5808.313583] lv : [ 670000], volt = 637500 uV
    [ 5808.313593] lv : [ 640000], volt = 575000 uV
    [ 5808.313610] dvfs_type : dvfs_cam - id : 6
    [ 5808.313616] num_of_lv      : 7
    [ 5808.313623] num_of_members : 22
    [ 5808.313633] lv : [ 690000], volt = 793750 uV
    [ 5808.313644] lv : [ 680000], volt = 793750 uV
    [ 5808.313654] lv : [ 670000], volt = 756250 uV
    [ 5808.313665] lv : [ 660000], volt = 693750 uV
    [ 5808.313675] lv : [ 650000], volt = 693750 uV
    [ 5808.313685] lv : [ 640000], volt = 575000 uV
    [ 5808.313696] lv : [ 630000], volt = 575000 uV
    [ 5808.313713] dvfs_type : dvfs_disp - id : 7
    [ 5808.313719] num_of_lv      : 5
    [ 5808.313725] num_of_members : 2
    [ 5808.313735] lv : [ 630000], volt = 750000 uV
    [ 5808.313746] lv : [ 533000], volt = 712500 uV
    [ 5808.313756] lv : [ 356000], volt = 631250 uV
    [ 5808.313767] lv : [ 214000], volt = 587500 uV
    [ 5808.313777] lv : [ 134000], volt = 575000 uV
    [ 5808.313794] dvfs_type : dvs_g3dm - id : 8
    [ 5808.313800] num_of_lv      : 9
    [ 5808.313807] num_of_members : 1
    [ 5808.313817] lv : [ 839000], volt = 0 uV
    [ 5808.313827] lv : [ 764000], volt = 0 uV
    [ 5808.313837] lv : [ 683000], volt = 0 uV
    [ 5808.313847] lv : [ 572000], volt = 718750 uV
    [ 5808.313858] lv : [ 546000], volt = 712500 uV
    [ 5808.313869] lv : [ 455000], volt = 700000 uV
    [ 5808.313880] lv : [ 385000], volt = 700000 uV
    [ 5808.313890] lv : [ 338000], volt = 700000 uV
    [ 5808.313900] lv : [ 260000], volt = 700000 uV
    [ 5808.313917] dvfs_type : dvs_cp - id : 9
    [ 5808.313924] num_of_lv      : 3
    [ 5808.313930] num_of_members : 1
    [ 5808.313940] lv : [1500000], volt = 850000 uV
    [ 5808.313951] lv : [1066000], volt = 731250 uV
    [ 5808.313961] lv : [ 800000], volt = 731250 uV
    
    # lets say you want to undervolt big CPU Freq step 2314 MHz @ 900 mV:
    # the format string is here: "rate volt" (KHz uV)
    echo "2314000 900000" > cpu_big_volt
    # after that you could again print the dvfs table to verify if new voltage was successfully applied.
    echo 1 > print_dvfs_table
    dmesg
    # now lets say you want to undervolt little CPU Freq step 1690 MHz @ 950 mV:
    # the format string is here: "rate volt" (KHz uV)
    echo "1690000 950000" > cpu_lit_volt
    # now likely you want to undervolt GPU Freq step 546 MHz @ 650 mV:
    # the format string is here: "rate volt" (KHz uV)
    cd /sys/kernel/gpu
    # first check current GPU volt table:
    cat gpu_asv_table
    
    GPU, vol, min, max, down_stay, mif, cpu0, cpu1
    839000,  750000, 43,  75, 1, 2093000,       0,       0
    764000,  750000, 42,  75, 1, 2093000,       0,       0
    683000,  700000, 38,  75, 1, 2093000,       0,       0
    572000,  718750, 47,  75, 1, 2093000,       0,       0
    546000,  706250, 37,  75, 1, 2093000,       0,       0
    455000,  693750, 38,  75, 1, 2093000,       0,       0
    385000,  693750, 41,  75, 1, 2093000,       0,       0
    338000,  693750, 33,  75, 1, 2093000,       0,       0
    260000,  693750, 33,  75, 1, 1352000,       0,       0
    
    echo "546000 650000" > gpu_volt
    # and check ...
    cat gpu_asv_table
    
    GPU, vol, min, max, down_stay, mif, cpu0, cpu1
    839000,  750000, 43,  75, 1, 2093000,       0,       0
    764000,  750000, 42,  75, 1, 2093000,       0,       0
    683000,  700000, 38,  75, 1, 2093000,       0,       0
    572000,  718750, 47,  75, 1, 2093000,       0,       0
    546000,  650000, 37,  75, 1, 2093000,       0,       0
    455000,  693750, 38,  75, 1, 2093000,       0,       0
    385000,  693750, 41,  75, 1, 2093000,       0,       0
    338000,  693750, 33,  75, 1, 2093000,       0,       0
    260000,  693750, 33,  75, 1, 1352000,       0,       0
    
    # you can undervolt every single step, so lets undervolt 455 MHz step as well @ 650 mV:
    
    echo "455000 650000" > gpu_volt
    
    # now maybe you want even to undervolt RAM.
    # we need to go again to /sys/power ...
    
    cd /sys/power
    # take a look at the dvfs table, the very first entry "dvfs_mif - id : 0"
    this is RAM freq - volt table and our max_freq is 1794 MHz.
    # we will undervolt Freq step 1794 MHz @ 700 mV:
    # the format string is here: "id rate volt" (intent KHz uV)
    # this sysfs interface is universal and you can undervolt any voltage table you want by using the corresponding "id":
    
    echo "0 1794000 700000" > update_dvfs_table
    # and verify:
    echo 1 > print_dvfs_table
    dmesg
    # id 4 would be for GPU (dvfs_g3d) and so on ...
    # to run all the cmds for undervolting at boot, just do something like this:
    
    # open the script /system/etc/init.d.a2n/a2n_user and copy paste your cmds:
    
    cd /sys/power
    echo "2314000 900000" > cpu_big_volt
    echo "1690000 950000" > cpu_lit_volt
    echo "0 1794000 700000" > update_dvfs_table
    cd /sys/kernel/gpu
    echo "546000 650000" > gpu_volt
    echo "455000 650000" > gpu_volt
    
    # under the line: "# A2N init.d Script"
    # save and enjoy !

    Q: How to Report Bugs ?
    - Please DO NOT report bugs if you are:

    --- using "unsafe" Freqs
    --- not using the latest release !
    --- not using Samsung stock ROM (based stock ROMs are custom ROMs !)

    A: Open the red A2N Kernel Control demo app and check in-app-menu (3 dots) then "Debug" and then on "logcat and dmesg" if you faced an app crash or if some features didn't work.
    If the phone rebooted randomly, then tap on "last_kmsg". You will find the logs in your internal storage. After that you can attach them here in your bug report, by clicking "Attach files".

    ROM:
    Kernel version:
    A2N app version:
    BUG:
    How to reproduce:
    Same bug with stock kernel ? :
    YES / NO

    Download stock kernel for bug reference: S8 / S8+ / Note8

    BUG REPORTS THAT DO NOT FOLLOW THESE RULES WILL BE IGNORED !!!
    12
    Hello dear Friends i'm back with a great Changelog ...

    Kernel 20191019

    • FULL Android 9 Pie Support
    • Based on Stock Source Code DSI1
    • Ramdisk DSI1
    • Compiled with the OFFICIAL ARM/Linaro GCC 8.3
    • Optimized Memory Managent
    • Improved Performance
    • Improved Battery Life
    • Reduced Device heat
    • More Responsive
    • Fixed Laggs (especially for some 2D Games)
    • Increased Efficiency
    • RAM: 3485 @ 3711 MB
    • Unlocked higher CPU/GPU Freq Steps - Thanks @Noxxxious
    • SELinux in permissive mode - Thanks @Noxxxious
    • Disabled SSWAP
    • Added zRam Support with fast LZ4 Compressor
    • Added KSM Support - patched for Android by me
    • Optimized Input Booster
    • Fixed very bad CPU IDLE
    • CPU: Interactive @ conservative gov - for higher efficiency
    • Added Wireguard Support
    • CPU: Cluster 0: Screen ON min_freq 455 @ 715 MHz to Fix Lags - 455 MHz Step is used for Screen OFF
    • Compiled with DEFAULT_USE_ENERGY_AWARE / WQ_POWER_EFFICIENT_DEFAULT - for better Battery Lifetime
    • Optimized Crypto, NEON SIMD Hardware Acceleration (e.g. faster device encryption due of hardware acceleration)
    • Disabled HMP since it serves nothing - Hardware doesn't allow to use real cpu_hotplugging ...
    • Added Charger Control 2.0 by me - Allows to configure custom max input current from 100 - 3000 mA in 100 mA Steps separately for AC / USB 2.0 / USB 3.0 / Wireless - that means real Fast Charging even with Screen ON - Allows even to charge at max current possible with 3rd-party Chargers !!
    • Added Flashlight Torch Control - You can adjust Brightness of your Torch from 1 - 15 - Default/Stock Kernel is just 5 :p
    • SELinux: Removed Audit dependency - Thanks @ kerneltoast && arter97
    • Added Support for F2FS
    • Accurate remaining time to full charged battery
    • init.d Support
    • And many more Kernel Tweaks - i can't list them all here ... changelog is already too long isn't it ?! :laugh:

    A2N Kernel Control V1.4

    • The best Way to manage this Kernel for full functionality (3rd-party Kernel Manager Apps will not work properly with this Kernel)
    • Compiled with API 28 Android 9 Pie
    • Power: Charger Control - Allows to configure custom max input current from 100 - 3000 mA in 100 mA Steps separately for AC / USB 2.0 / USB 3.0 / Wireless - that means real Fast Charging even with Screen ON - Allows even to charge at max current possible with 3rd-party Chargers !!
    • Added switch for "Adaptive Fast Charging" so u can directly toggle AFC in the App.
    • Ability to check actual accepted charging current and Input Voltage
    • CPU: OC Control: Cluster 0: up to 2002 MHz and Cluster 1: up to 2808 MHz
    • CPU Governor tuning: Adjust up_threshold to balance between Battery Lifetime and Performance separately for each Cluster
    • GPU: OC Control up to 839 MHz
    • Hardcoded Performance Profiles:
    • --> Powersave (Underclocked)
    • --> Balanced (Kernel Default)
    • --> Performance (Overclocked)
    • Misc: switch for zRam, KSM
    • Misc: Torch Brightness Control - up to 3 times brighter flashlight than with a stock Kernel !!
    • Misc: Ability to load kernel Module for CIFS and NFS with just one Tap
    • Misc: Accelerometer Calibration
    • Debug: u can call this Menu over the App built-in Menu (3 dot) - ability to save logcat and dmesg with one tap to your sdcard ..

    If u've any Questions, feel free to ask here.

    Enjoy your new A2N Kernel ! :)
    10
    New Build is Up !!

    Changelog

    Kernel 20200519

    • Source Update DTA6 -> DTC6
    • Charger Control: allowed higher chg_temp - should charger faster, especially for 3000+ mA
    • defconfigs: re-enable Gear VR related drivers

    --------------------------------------------------------------------------------

    Updated also TWRP Kernel.