To the moderators : I am making this thread on the request of members and not trying to promote any rom or kernel.
To all the readers : This is just a sharing of Experience of mine, not to be mistaken as a thread for promoting any kernel or rom. Also, all the posts asking which is the best rom/kernel or saying that this kernel is the best and recommending someone just because you like it, shall be reported to the moderators. So be careful of what you post. Also, don't spam the thread by writing just thank you, thanks etc. there is button on the left bottom of each post for that purpose.
[size=+2]The Beginning[/size]
After much waiting and ETA posts by users, when DN3 v5+ was launched, it was met with quite some positive reviews, and being a loyal user to that rom since v2(why, you ask. It's because I like stock like looks that come with my phone, but under the hood optimizations and available customizability and features).
And just in time, Samsung had released the kernel sources for Touchwiz kitkat, so everyone including me were waiting for a good custom kernel, which would allow us to tweak our device to a further extent. During some random discussion @singhpratik87 informed me about an upcoming custom kernel called Nadia kernel, which was made by a small group of devs and modders calling themselves as EmoTdroiD Team.
So, as experiment hungry scientist for my device I am, I went ahead and flashed it. After just some time, I saw that it wasn't yet fully mature and still under construction, although it gave me a good amount of tweaking with the Trickster Mod and a usable battery life, so I went on to search for other kernels too, which would be satisfying my needs, and I found AGNI and Phoenix kernel compatible with my device and rom.
When I started using those, I noticed that many users wanted to know of a good custom kernel they could use, and thus kept spamming different threads asking questions, so I got an idea that I will test the kernel thoroughly and do a proper writeup, so users can be better informed of their needs.
[size=+2]The testing begins[/size]
As I had to begin the test and be thorough with everything I quickly bookmarked some guides to reading a logcat, downloaded tools on PC to capture logcats from boot to shut-down, downloaded each and every kernel and recommended fixes(if any).
I thought of beginning with my stock kernel, since it is the one deemed as the most stable. I got a good battery life but not the advanced tweaking. So, at first I decided to test the most near to stock phoenix kernel, which doesn't have much customisability but is quite stable(for me) for my daily use, but I always have wanted advanced tweaking, so I decided to go for the highly acclaimed AGNI kernel, followed by the under development Nadia kernel.
[size=+2]Stock kernel and Phoenix kernel[/size]
Obviously a starting point for testing the rom itself, I started with the stock kernel. My governor for all the time was pegasusq due to it being optimized properly for multicore systems, but I realized that my music used to have a bit of stutters every 15-20 seconds, so I read and read and found the cause, which you can find on the 31st page of the Nadia Kernel thread(don't be lazy, search for it, I have at least provided the link for the thread ), so I set up profiles suing Xposed module performance profiles and had the switch to ondemand governor whenever I wanted to listen to music, and that made for a smooth experience for me.
As the technology on device gets faster and better, there is one thing we crave for - battery life. Although I got 5 and half hours screen time with 24 hours sage on stock, I still wanted more, seeing that people managed to get upto 7hrs screen time with that usage(I don't know whether they listened to music for at least an hour everyday, though). What can be the best way for getting a better battery life? Underclock? not any way, I want my device to perform to it's full potential rather than be a super sluggish long lasting one. Any more guesses? Undervolting, you say? Yes, that's just what I needed, CPU/GPU undervolting and better control on the governors and LMK(low memory killer).
[size=+2]Reading, Researching, Writing and considerations of various possibilities[/size]
Many of the users who have known me from the time I've joined XDA know that I'm of the kind who is willing to spend his time in reading and solving problems on his own, rather than ask questions repeatedly, so that's what I did again - start reading :cyclops:
I read about the problems faced, questions asked, solutions provided, suggestions given and the proper changelog and FAQs for the kernels.
I researched about how users feel with a kernel, I saw their comments on the threads, I read about their problems faced, their attitude towards the developers and fellow members(which can turn out to be a bit-off when someone is unable to find a solution and gets frustrated) and what they have done to obtain something or how they managed to correct their problems.
Now, after compiling all the things I read and researched about into a small 30+ page word document I wrote to myself, it was time for me to flash a good custom kernel.
Again, which do I go for first? I had to spend my time thinking about the possibilities taking place and the issues I read about :
1) AGNI had some problems with downloading of some apps(Fixed now, but was present when I had to test).
2) AGNI doesn't play well with folder-mount(Dev is working on fix).
3) Nadia gave a bootloop when flashed over AGNI ( as reported by @NickVXD).
4) Some users lost root access when flashing Nadia(Rare and fixed in latest R4).
5) Nadia uses Trickster Mod and thus doesn't provide a full fledged GUI for tweaking the parameters( Dev plans to integrate the best app for this, Synapse, in a bit of time).
[size=+2]It begins with AGNI[/size]
After much thinking, I decided to go for AGNI first, because a bootloop and lost root aren't a big issue for me, as I always keep the fixes with me and know how to recover from these small issues.
I made a nandroid backup, in case for a bootloop, flashed the kernel and wiped cache and dalvik cache and rebooted and I was greeted with my lockscreen(yes it booted successfully) and AGNI control app in my app drawer. I began my testing for the lower clocks, conservatively ramping governors, high undervolts( my device can bear upto -80 on CPU and -75 on GPU while still being stable) and lower GPU clocks, because the first thing I wanted was battery life and indeed I got it.
Then, since I was at home only for a long time(many know why) and had thge charging port next to me(lucky me ) so I decided to give a try to other settings as well. The first thing I wanted for my device was a good read speed for my internal and external SD, so I benchmarked and logged performance for each scheduler over an extensive period of time and found Row suited my needs, because I don't write lots of stuff onto my device's memory, but rather need higher priority for reading of the already present memory blocks.
I tested with different governors now and the name of each is self explanatory so I won't tell which gave me the best battery life or performance. Anyways, I tested the smoothness, battery life, framerate in general use to heavy games, device temperature and noted down each and every value thoroughly.
I benchmarked the SD card read write with different cache sizes and noted down each value.
I tested different LMK minfree values and wrote down the results to myself.
I tested the power saving load balance for performance to battery ratio and wrote down the results thoroughly.
I used the 512mb preloadSWAP and checked and wrote down it's results.
I tested the LZ4 ram with different values and wrote down my results. Did the same for Swappiness priorities, and FRandom RNG entropy generator.
I checked the effects of Dynamic file sync and filesystems checking on boot and again, wrote down.
[size=+2]Shifting to Nadia[/size]
I was done with all the possible combinations of settings with AGNI and now it was time for Nadia kernel. I had been active at the thread for quite some time, helping users and even requesting features.
I read some complaints about lost root and bootloop if used after AGNI, and indeed I got a bootloop once, but naturally, as I am not of the types who would just go ahead for anything, I kept a nandroid backup just before flashing, and then I restored my backup, and some user mentioned using the AGNI script cleaning tool for driving away the issues, so I downloaded that and read through the updated script, and then after I was done I decided that I trust my own experienced hands rather than automated tools, so I removed the required init.d scripts from /system/etc/inti.d (Be careful not to remove 00test and 99superSU daemon, as these are needed for proper functioning of root rights).
After I was done, I flashed the kernel, but a bootloop again , silly me realized that I forgot to wipe cache and dalvik cache, which actually I understood from the logcat, so I went to recovery and did that and my phone was up.
After all was up I opened Trickster Mod and went on to customize my kernel and test different settings.
I did the tests with the available settings and wrote down the results like I had done before.
Contrary to as some users had mentioned, I didn't experience lost root, so all was fine for me, and after the R4 release of the kernel some days ago, no one has complained of any such error.
[size=+2] Finalizing [/size]
After I was done with my thorough testing, capturing logcats on hourly basis and for each system crash or reboot(rare) and compiling of a 60-page word document for each kernel's testing(except for stock and phoenix, which gave me no more than 15 pages :silly: ) it was time for me to report everything, as I had promised to various users.
I read through my writings, preserved logcats and memories and collected everything to write up and express this testing in the best manner I could manage(I usually turn out to be short tempered and rude, so it was another challenge for me).
I also had to decide which kernel to keep for my daily driver(I won't report that here, and neither will answer it via PM, though there are exceptions for the PM one, maybe @smeet.somaiya and @singhpratik87, because I trust them for this and I and they both know why).
[size=+2]And this small article is the outcome of all what I had done over the course of the time I had spent[/size]
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
To all the readers : This is just a sharing of Experience of mine, not to be mistaken as a thread for promoting any kernel or rom. Also, all the posts asking which is the best rom/kernel or saying that this kernel is the best and recommending someone just because you like it, shall be reported to the moderators. So be careful of what you post. Also, don't spam the thread by writing just thank you, thanks etc. there is button on the left bottom of each post for that purpose.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Post 1 : General discussion of experience, crashes etc.
Post 2 : Link to the kernels
Post 3 : FAQ(to me )
Post 4 : Important Must Read stuff.
[size=+2]The Beginning[/size]
After much waiting and ETA posts by users, when DN3 v5+ was launched, it was met with quite some positive reviews, and being a loyal user to that rom since v2(why, you ask. It's because I like stock like looks that come with my phone, but under the hood optimizations and available customizability and features).
And just in time, Samsung had released the kernel sources for Touchwiz kitkat, so everyone including me were waiting for a good custom kernel, which would allow us to tweak our device to a further extent. During some random discussion @singhpratik87 informed me about an upcoming custom kernel called Nadia kernel, which was made by a small group of devs and modders calling themselves as EmoTdroiD Team.
So, as experiment hungry scientist for my device I am, I went ahead and flashed it. After just some time, I saw that it wasn't yet fully mature and still under construction, although it gave me a good amount of tweaking with the Trickster Mod and a usable battery life, so I went on to search for other kernels too, which would be satisfying my needs, and I found AGNI and Phoenix kernel compatible with my device and rom.
When I started using those, I noticed that many users wanted to know of a good custom kernel they could use, and thus kept spamming different threads asking questions, so I got an idea that I will test the kernel thoroughly and do a proper writeup, so users can be better informed of their needs.
[size=+2]The testing begins[/size]
As I had to begin the test and be thorough with everything I quickly bookmarked some guides to reading a logcat, downloaded tools on PC to capture logcats from boot to shut-down, downloaded each and every kernel and recommended fixes(if any).
I thought of beginning with my stock kernel, since it is the one deemed as the most stable. I got a good battery life but not the advanced tweaking. So, at first I decided to test the most near to stock phoenix kernel, which doesn't have much customisability but is quite stable(for me) for my daily use, but I always have wanted advanced tweaking, so I decided to go for the highly acclaimed AGNI kernel, followed by the under development Nadia kernel.
[size=+2]Stock kernel and Phoenix kernel[/size]
Obviously a starting point for testing the rom itself, I started with the stock kernel. My governor for all the time was pegasusq due to it being optimized properly for multicore systems, but I realized that my music used to have a bit of stutters every 15-20 seconds, so I read and read and found the cause, which you can find on the 31st page of the Nadia Kernel thread(don't be lazy, search for it, I have at least provided the link for the thread ), so I set up profiles suing Xposed module performance profiles and had the switch to ondemand governor whenever I wanted to listen to music, and that made for a smooth experience for me.
As the technology on device gets faster and better, there is one thing we crave for - battery life. Although I got 5 and half hours screen time with 24 hours sage on stock, I still wanted more, seeing that people managed to get upto 7hrs screen time with that usage(I don't know whether they listened to music for at least an hour everyday, though). What can be the best way for getting a better battery life? Underclock? not any way, I want my device to perform to it's full potential rather than be a super sluggish long lasting one. Any more guesses? Undervolting, you say? Yes, that's just what I needed, CPU/GPU undervolting and better control on the governors and LMK(low memory killer).
[size=+2]Reading, Researching, Writing and considerations of various possibilities[/size]
Many of the users who have known me from the time I've joined XDA know that I'm of the kind who is willing to spend his time in reading and solving problems on his own, rather than ask questions repeatedly, so that's what I did again - start reading :cyclops:
I read about the problems faced, questions asked, solutions provided, suggestions given and the proper changelog and FAQs for the kernels.
I researched about how users feel with a kernel, I saw their comments on the threads, I read about their problems faced, their attitude towards the developers and fellow members(which can turn out to be a bit-off when someone is unable to find a solution and gets frustrated) and what they have done to obtain something or how they managed to correct their problems.
Now, after compiling all the things I read and researched about into a small 30+ page word document I wrote to myself, it was time for me to flash a good custom kernel.
Again, which do I go for first? I had to spend my time thinking about the possibilities taking place and the issues I read about :
1) AGNI had some problems with downloading of some apps(Fixed now, but was present when I had to test).
2) AGNI doesn't play well with folder-mount(Dev is working on fix).
3) Nadia gave a bootloop when flashed over AGNI ( as reported by @NickVXD).
4) Some users lost root access when flashing Nadia(Rare and fixed in latest R4).
5) Nadia uses Trickster Mod and thus doesn't provide a full fledged GUI for tweaking the parameters( Dev plans to integrate the best app for this, Synapse, in a bit of time).
[size=+2]It begins with AGNI[/size]
After much thinking, I decided to go for AGNI first, because a bootloop and lost root aren't a big issue for me, as I always keep the fixes with me and know how to recover from these small issues.
I made a nandroid backup, in case for a bootloop, flashed the kernel and wiped cache and dalvik cache and rebooted and I was greeted with my lockscreen(yes it booted successfully) and AGNI control app in my app drawer. I began my testing for the lower clocks, conservatively ramping governors, high undervolts( my device can bear upto -80 on CPU and -75 on GPU while still being stable) and lower GPU clocks, because the first thing I wanted was battery life and indeed I got it.
Then, since I was at home only for a long time(many know why) and had thge charging port next to me(lucky me ) so I decided to give a try to other settings as well. The first thing I wanted for my device was a good read speed for my internal and external SD, so I benchmarked and logged performance for each scheduler over an extensive period of time and found Row suited my needs, because I don't write lots of stuff onto my device's memory, but rather need higher priority for reading of the already present memory blocks.
I tested with different governors now and the name of each is self explanatory so I won't tell which gave me the best battery life or performance. Anyways, I tested the smoothness, battery life, framerate in general use to heavy games, device temperature and noted down each and every value thoroughly.
I benchmarked the SD card read write with different cache sizes and noted down each value.
I tested different LMK minfree values and wrote down the results to myself.
I tested the power saving load balance for performance to battery ratio and wrote down the results thoroughly.
I used the 512mb preloadSWAP and checked and wrote down it's results.
I tested the LZ4 ram with different values and wrote down my results. Did the same for Swappiness priorities, and FRandom RNG entropy generator.
I checked the effects of Dynamic file sync and filesystems checking on boot and again, wrote down.
[size=+2]Shifting to Nadia[/size]
I was done with all the possible combinations of settings with AGNI and now it was time for Nadia kernel. I had been active at the thread for quite some time, helping users and even requesting features.
I read some complaints about lost root and bootloop if used after AGNI, and indeed I got a bootloop once, but naturally, as I am not of the types who would just go ahead for anything, I kept a nandroid backup just before flashing, and then I restored my backup, and some user mentioned using the AGNI script cleaning tool for driving away the issues, so I downloaded that and read through the updated script, and then after I was done I decided that I trust my own experienced hands rather than automated tools, so I removed the required init.d scripts from /system/etc/inti.d (Be careful not to remove 00test and 99superSU daemon, as these are needed for proper functioning of root rights).
After I was done, I flashed the kernel, but a bootloop again , silly me realized that I forgot to wipe cache and dalvik cache, which actually I understood from the logcat, so I went to recovery and did that and my phone was up.
After all was up I opened Trickster Mod and went on to customize my kernel and test different settings.
I did the tests with the available settings and wrote down the results like I had done before.
Contrary to as some users had mentioned, I didn't experience lost root, so all was fine for me, and after the R4 release of the kernel some days ago, no one has complained of any such error.
[size=+2] Finalizing [/size]
After I was done with my thorough testing, capturing logcats on hourly basis and for each system crash or reboot(rare) and compiling of a 60-page word document for each kernel's testing(except for stock and phoenix, which gave me no more than 15 pages :silly: ) it was time for me to report everything, as I had promised to various users.
I read through my writings, preserved logcats and memories and collected everything to write up and express this testing in the best manner I could manage(I usually turn out to be short tempered and rude, so it was another challenge for me).
I also had to decide which kernel to keep for my daily driver(I won't report that here, and neither will answer it via PM, though there are exceptions for the PM one, maybe @smeet.somaiya and @singhpratik87, because I trust them for this and I and they both know why).
[size=+2]And this small article is the outcome of all what I had done over the course of the time I had spent[/size]
Last edited: