• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[Kernel | Android 10 | One UI 2.5 | FUF5/FUH1] BeastMode Kernel v2 for N960F | v2.11c6 | 20210920

Search This thread

ykkfive

Inactive Recognized Developer
Jul 25, 2010
2,978
2,902
ykkfive.blogspot.com
Now I migrated bm v2.02m + Alexis 2.8 combination. All seems decent for now. Still boeffla and double tap sections are missing. But it's okay.
Here is the devchecks ram performance attachment. (on v2.02)

I am going to perform antutu and geekbench and post here.
u mean 2.04m?

I am on v2.05

Ram performance is decreased, confirmed with doing devcheck comparison and antutu bench.

tap to wake and sleep options are gone.
boeffla options are gone.

Accordig to Devcheck,

Cmemcopy: around 5000 Mb/s
Cmemset: aroud 7500 Mb/s

on R154 these were 10000 MB/s and 15000 Mb/s respectively.

Cpu an GPU performance are good.

I am on Alexis 2.9 Note 9 SM N960F


And also the voltage table that given by dev is passed two full antutu bench. No crashes.
i have did some tests today and yes, 2.02 is the fastest one, it was the original one without any "enhancements" in other aspects like cpu/gpu overclocking. it is not unusual that these enchancements can be beaten by the one without in terms of performance. it all depends on the usage, and more importantly everthing comes with a price. so you may find it at stock max speed outperforms an overclocked cpu due to the heat generated (which trigger the mechanism to lower the cpu freq as to cool it down). eg a 10 seconds task running with 2000Mhz may be better than 3 seconds with 2400mHz plus 7 seconds with 1700Mhz. you see what i mean? of coz, once again, it depends on the usage and the way of using it like benchmarking or daily use

anyway, thanks for your feedbacks, as well as others. without you guys' feedback i couldnt discover the bugs myself

also, i may consider to make an extreme version, which will be rebased on 2.02 with FUF5 but without any unneccessary changes for those who focus more on the speed due to different usage patterns if there are demands for it. but in general, 2.02 is still working fine with FUF5 except samsung account login issues for some users i believe

on the other hand, i will continue to cherry pick some useful changes to optimize it in general for the main stream version

thanks
 
Last edited:

otaking71

Senior Member
May 11, 2009
64
78
u mean 2.04m?


i have did some tests today and yes, 2.02 is the fastest one, it was the original one without any "enhancements" in other aspects like cpu/gpu overclocking. it is not unusual that these enchancements can be beaten by the one without in terms of performance. it all depends on the usage, and more importantly everthing comes with a price. so you may find it at stock max speed outperforms an overclocked cpu due to the heat generated (which trigger the mechanism to lower the cpu freq as to cool it down). eg a 10 seconds task running with 2000Mhz may be better than 3 seconds with 2400mHz plus 7 seconds with 1700Mhz. you see what i mean? of coz, once again, it depends on the usage and the way of using it like benchmarking or daily use

anyway, thanks for your feedbacks, as well as others. without you guys' feedback i couldnt discover the bugs myself

also, i may consider to make an extreme version, which will be rebased on 2.02 with FUF5 but without any unneccessary changes for those who focus more on the speed due to different usage patterns if there are demands for it. but in general, 2.02 is still working fine with FUF5 except samsung account login issues for some users i believe

on the other hand, i will continue to cherry pick some useful changes to optimize it in general for the main stream version

thanks
It seems the voltage bug exists on the other kernels that support it. I wonder if it's a bug in the kernel managers since they're modified ports. It's really a shame the dev community thinned out so bad. That being said...yea..there's definitely a lot of potential, but man..this is gonna be some work to get most of it out of the way.


I'd actually venture to guess if you capped the cpu's frequency at either the triple core or dual core max speed...and tuned the voltages correctly...you'd see a significant performance and battery gain. Especially if you tuned the mif/memory speeds to scale sanely instead of this brute force methodology samsung did. I'd say conservatively you'd see something around a 10% performance boost and 20% battery.
 
Last edited:
  • Like
Reactions: TrillfootSheeno

ykkfive

Inactive Recognized Developer
Jul 25, 2010
2,978
2,902
ykkfive.blogspot.com
It seems the voltage bug exists on the other kernels that support it. I wonder if it's a bug in the kernel managers since they're modified ports. It's really a shame the dev community thinned out so bad. That being said...yea..there's definitely a lot of potential, but man..this is gonna be some work to get most of it out of the way.


I'd actually venture to guess if you capped the cpu's frequency at either the triple core or dual core max speed...and tuned the voltages correctly...you'd see a significant performance and battery gain. Especially if you tuned the mif/memory speeds to scale sanely instead of this brute force methodology samsung did. I'd say conservatively you'd see something around a 10% performance boost and 20% battery.
which voltage bug are you talking about?

yeah, during the development, there were some gains in performance, by 5% followed by another 5%, and a bit in battery consumptions. and as i said there are still rooms to under volt the cpu, especially the lower freqs, those shown b4 are just conservative wild guess from my experience for reference only
 
  • Like
Reactions: TrillfootSheeno

otaking71

Senior Member
May 11, 2009
64
78
which voltage bug are you talking about?

yeah, during the development, there were some gains in performance, by 5% followed by another 5%, and a bit in battery consumptions. and as i said there are still rooms to under volt the cpu, especially the lower freqs, those shown b4 are just conservative wild guess from my experience for reference only
the bug i mentioned before where you change the frequency sliders go poof....it exists in two other kernels...so i'm thinking it's the app.


that being said...i'm not sure it's working properly as my phone can completely do the lowest global voltage slider no problem...i'd be surprised if i got that lucky of a chip (it benched at top 99% for exynos note 9s on 3dmark)

i'm wondering....are you able to alter the memory voltage alongside it's frequency? it would be interesting to do two variants based on the properties that would be desirable...the most performance (fastest gpu/higher frequencies) or the most battery (enable the top frequencies that make sense and the most power efficient levels that work together properly)...two variants that could best be optimized once we fully understand the _ACTUAL_ safe voltage curves of these things. an overclock of the memory controller could be rather interesting if that's possible.

I'm kinda willing to buy a second phone to actually take it apart and probe voltages to really verify it works...not sure if there's a schematic for that out there.
 
Last edited:
  • Like
Reactions: TrillfootSheeno

ykkfive

Inactive Recognized Developer
Jul 25, 2010
2,978
2,902
ykkfive.blogspot.com
the bug i mentioned before where you change the frequency sliders go poof....it exists in two other kernels...so i'm thinking it's the app.


that being said...i'm not sure it's working properly as my phone can completely do the lowest global voltage slider no problem...i'd be surprised if i got that lucky of a chip (it benched at top 99% for exynos note 9s on 3dmark)

i'm wondering....are you able to alter the memory voltage alongside it's frequency? it would be interesting to do two variants based on the properties that would be desirable...the most performance (fastest gpu/higher frequencies) or the most battery (enable the top frequencies that make sense and the most power efficient levels that work together properly)...two variants that could best be optimized once we fully understand the _ACTUAL_ safe voltage curves of these things. an overclock of the memory controller could be rather interesting if that's possible.

I'm kinda willing to buy a second phone to actually take it apart and probe voltages to really verify it works...not sure if there's a schematic for that out there.
oic... from my observstion (applying the settings after boot manually), the new voltage settings are stored as i mentioned earlier

you can check it by issuing the command below:
cat /sys/devices/platform/17500000.mali/volt_table

also you can check your phone's asv by going to the kernel manager and select the device page. under the asv header, those rows show your phone's overclock ability/power efficiency. the higher the value means the stronger the capability (max 15 if i remember correctly, above 7 or 8 should be fine)
or you can issue the command below
cat /sys/kernel/debug/asv_summary
 

otaking71

Senior Member
May 11, 2009
64
78
oic... from my observstion (applying the settings after boot manually), the new voltage settings are stored as i mentioned earlier

you can check it by issuing the command below:
cat /sys/devices/platform/17500000.mali/volt_table

also you can check your phone's asv by going to the kernel manager and select the device page. under the asv header, those rows show your phone's overclock ability/power efficiency. the higher the value means the stronger the capability (max 15 if i remember correctly, above 7 or 8 should be fine)
or you can issue the command below
cat /sys/kernel/debug/asv_summary
so it looks like the voltages DO work even with speed changes. I'm surprised mine will max out the undervolt slider.

According to my asv table

mif:7
int:7
cl0:10
cl1:8
g3d:6


But yea..i'm familiar with binning..I did all my previous undervolts based on the pvs bin table for snapdragon 805s....is there a similar command to see the cpu voltages a la the gpu voltages you posted above? I'm still surprised a 6 was able to go THAT low at max speed.

what command can i use to manually set the voltages...and any idea of what the granularity is of value it'll take? (the sliders work on 6.25mv.) i can at least work on a curve that way.

and from what I see....there's one more possible important voltage...not sure what the int setting is.....i wish there was more consistency in how they labeled these things....like the gpu's table in the kernel source references mem and not mif....but int is both in the kernel source gpu table..and the avs table...would definitely help to understand what in the world that is. the internal bus speeds and voltages... if it behaves anything like a desktop cpu...you can actually get _MORE_ stability if this is undervolted into the correct range based on your cpu core voltages.
 
Last edited:

ykkfive

Inactive Recognized Developer
Jul 25, 2010
2,978
2,902
ykkfive.blogspot.com
so it looks like the voltages DO work even with speed changes. I'm surprised mine will max out the undervolt slider.

According to my asv table

mif:7
int:7
cl0:10
cl1:8
g3d:6


But yea..i'm familiar with binning..I did all my previous undervolts based on the pvs bin table for snapdragon 805s....is there a similar command to see the cpu voltages a la the gpu voltages you posted above? I'm still surprised a 6 was able to go THAT low at max speed.

what command can i use to manually set the voltages...and any idea of what the granularity is of value it'll take? (the sliders work on 6.25mv.) i can at least work on a curve that way.

and from what I see....there's one more possible important voltage...not sure what the int setting is.....i wish there was more consistency in how they labeled these things....like the gpu's table in the kernel source references mem and not mif....but int is both in the kernel source gpu table..and the avs table...would definitely help to understand what in the world that is. the internal bus speeds and voltages... if it behaves anything like a desktop cpu...you can actually get _MORE_ stability if this is undervolted into the correct range based on your cpu core voltages.
unfortunately, i couldnt find the voltage table, or there's none actually. and i have read the kernel managers, their cpu voltage table are referring to an old, non-existing file named something like exynos-pm, which i think it's depreciated. so even i make it chargeable you will have to manually edit the volt or by scripts. anyway, i wonder why there's no cpu voltage control in kernels nowadays (there were lots of kernel with different controls b4, mit, int, volt, everything)

more, i have adjusted the gpu voltages table and it seems fine for me. i don wanna squeeze them too much coz its my dd 😄
 

otaking71

Senior Member
May 11, 2009
64
78
unfortunately, i couldnt find the voltage table, or there's none actually. and i have read the kernel managers, their cpu voltage table are referring to an old, non-existing file named something like exynos-pm, which i think it's depreciated. so even i make it chargeable you will have to manually edit the volt or by scripts. anyway, i wonder why there's no cpu voltage control in kernels nowadays (there were lots of kernel with different controls b4, mit, int, volt, everything)

more, i have adjusted the gpu voltages table and it seems fine for me. i don wanna squeeze them too much coz its my dd 😄
give me the commands for the gpu voltage ...i'm still on the note 4 for now...i'll come up with a table brute forced to mine..and we can start some testing there.


i think they're gone because fewer devs and fewer people that know wtf they're talking about are around to test and debug these things since they locked down us market bootloaders. like https://forum.xda-developers.com/t/...nel-for-samsung-galaxy-note-9-exynos.4081197/ says undervolting is useless and 100 mv is impossible..

last time i was active on xda....they said my phone was not rootable if you took the newer software upgrade......i ended up being the one figuring out how to do it after I broke my phone and got a replacement that had the newer software. I'm not much of a coder/programmer...but I've done enough to understand what's going on.

as far as i can tell...there's 4 main voltages we can adjust. if there's _ANY_ standardized table that you see/run into in the kernel sources...it'll help flesh out a table we can use for most people. (ie we see each bin is one or a two step difference on the voltage curve).


I'll start by forcing my n960f to actually get it's gpu to crash under load and then work upto what it actually needs..so give me a few days and i'll have it worked out. If i can't crash it,, we know the undervolts aren't really working properly
 
Last edited:

ykkfive

Inactive Recognized Developer
Jul 25, 2010
2,978
2,902
ykkfive.blogspot.com
give me the commands for the gpu voltage ...i'm still on the note 4 for now...i'll come up with a table brute forced to mine..and we can start some testing there.


i think they're gone because fewer devs and fewer people that know wtf they're talking about are around to test and debug these things since they locked down us market bootloaders. like https://forum.xda-developers.com/t/...nel-for-samsung-galaxy-note-9-exynos.4081197/ says undervolting is useless and 100 mv is impossible..

last time i was active on xda....they said my phone was not rootable if you took the newer software upgrade......i ended up being the one figuring out how to do it after I broke my phone and got a replacement that had the newer software. I'm not much of a coder/programmer...but I've done enough to understand what's going on.

as far as i can tell...there's 4 main voltages we can adjust. if there's _ANY_ standardized table that you see/run into in the kernel sources...it'll help flesh out a table we can use for most people. (ie we see each bin is one or a two step difference on the voltage curve).


I'll start by forcing my n960f to actually get it's gpu to crash under load and then work upto what it actually needs..so give me a few days and i'll have it worked out. If i can't crash it,, we know the undervolts aren't really working properly

yeah sure, i still have the script on my note4

actually things get more and more complicated, i found where i can get the volt in the sources, but what's next? the values will be manipulated somewhere, especially i am no expert in electronics, so when i see something like pin1 pin2 etc i will go away and avoid touching them since i have no clues what they are, what msg they carry etc
 

otaking71

Senior Member
May 11, 2009
64
78
yeah sure, i still have the script on my note4

actually things get more and more complicated, i found where i can get the volt in the sources, but what's next? the values will be manipulated somewhere, especially i am no expert in electronics, so when i see something like pin1 pin2 etc i will go away and avoid touching them since i have no clues what they are, what msg they carry etc
if you figure out how to read any of the voltages...I think I can figure out how the pin setting works. It should be simple math to figure out how it's actually controlled. And I'd guinea pig on myself once we're able to try it.
 

otaking71

Senior Member
May 11, 2009
64
78
i think i found where to read it!

/sys/kernel/debug/opp/cpu4 and /sys/kernel/debug/opp/cpu0. There's a bunch of of u_volt entries there. I'm assuming it just assign to the first core of each cluster and the others follow
 

ykkfive

Inactive Recognized Developer
Jul 25, 2010
2,978
2,902
ykkfive.blogspot.com
after looking over the curve a bit...the real intended frequencies or actual ideal frequencies are 1053 for the small cores and 1690/1794 for the large cores.
holly, you can make a curl with optimal settings quickly. that's based on the default voltages?

also, are you able to plot a curve or draw a table showing the capability or effieiency base on the freq? coz i once found a dev did so although i could only understand some parts of it
 
Last edited:
  • Like
Reactions: TrillfootSheeno

otaking71

Senior Member
May 11, 2009
64
78
holly, you can make a curl with optimal settings quickly. that's based on the default voltages?

also, are you able to plot a curve or draw a table showing the capability or effieiency base on the freq? coz i once found a dev did so although i could only understand some parts of it
that's looking at the stock table literally as is. samsung literally breaks their curve at a certain point just to say it performs at a certain level. assuming we actually get the voltages we are looking for actually working....i figure 1 - 2 weeks tops for each voltage setting optimized that we get working.
 
Last edited:

otaking71

Senior Member
May 11, 2009
64
78
But looking at it some more.....the ideal frequency curve (assuming a properly working governor that literally only fires up the big cores when we need them))....would end up looking like small cores at 455-1053 and the big cores at 1066/1170-1794. This curve would allow a seamless transition to when you need performance at it's highest efficiency. Otherwise I'd go 741-1794 on the big cores.
 

ykkfive

Inactive Recognized Developer
Jul 25, 2010
2,978
2,902
ykkfive.blogspot.com
But looking at it some more.....the ideal frequency curve (assuming a properly working governor that literally only fires up the big cores when we need them))....would end up looking like small cores at 455-1053 and the big cores at 1066/1170-1794. This curve would allow a seamless transition to when you need performance at it's highest efficiency. Otherwise I'd go 741-1794 on the big cores.
well this is a dilemma
"personally", i like to restrict the small cores to below half way like 8xx to 9xx, as to force the tasks to be executed on the big cores. so when a task could not be finished with the small cores it will be processed by the big cores since they are more efficient. and that's why i tried to push them to the big cores in queue all the times if possible. however when i run the benchmarks it is another story.

of coz i understand that daily usages is a different thing than the benchmarks. so i stick to my plan with what you called smooth transition, where big cores cover a part of the max freq in the small cores. so it seems my methodology is correct, rite?
 

otaking71

Senior Member
May 11, 2009
64
78
well this is a dilemma
"personally", i like to restrict the small cores to below half way like 8xx to 9xx, as to force the tasks to be executed on the big cores. so when a task could not be finished with the small cores it will be processed by the big cores since they are more efficient. and that's why i tried to push them to the big cores in queue all the times if possible. however when i run the benchmarks it is another story.

of coz i understand that daily usages is a different thing than the benchmarks. so i stick to my plan with what you called smooth transition, where big cores cover a part of the max freq in the small cores. so it seems my methodology is correct, rite?
absolutely correct....there's a further benefit to that curve which is the mif. the above frequency curve literally gives you every option for scaling at pretty much the ideal power cost. I really do think the mif is an underexplored aspect of this cpu.
 

Top Liked Posts

  • 1
    Either way, the same previously known issues remain, and they can be quite bad for gaming and work performance. I'll do the usual summary.

    1: CPU only goes to 2886MHz in single core (I have found 2964MHz as maximum frequency in the sys files but it isn't in the freq table so it isn't used for single core). Dual core and Quad Core are at 2314MHz and 1794MHz respectively. Pushing Dual at 2496 or 2652MHz and Quad at 2314MHz will dramatically increase performance at a moderate battery life cost (2314MHz was originally the intended Quad Core mode frequency of the 9810, and in fact, above that, diminishing returns suddenly appear.).

    2: System throttles at 70°C. It is an extremely conservative choice considering we are overclocking a phone. Throttling causes a bug that makes the user unable to reach 2002MHz on small cores (Hard caps at 1950MHz even if I try to change in hKTweaks). Same for GPU, but the hard cap frequency varies there. Putting 90°C is a good balance between safety and maximum possible performance.

    3: GPU frequency just does whatever it wants. Rising the minimum frequency to anything higher than 260MHz in an attempt to get more gaming performance doesn't work. Boost frequency threshold at 15% doesn't seem to make the GPU boost aggressively either.

    4: If the GPU overclock is ever enabled again, it seems that there is a 775MHz frequency in the table. It would bring huge benefits to gaming. 598MHz is meh. It's just an extra 26MHz so.

    That's all. The first 3 are bugs. The last one is just a suggestion.

    will look into these as i mentioned before since this one was focused on the file system updates. hopefully we can push it further after the ext4 problem just mentioned got fixed
  • 3
    20210920 - v2.11c6 released
    for fuf5 and fuh1 respectively
    2
    Also for people's happiness right now I am running a variety of Benchmarks to study how much the performance of the device was increased. Version of the Kernel is latest as of now. GPU overclock not possible, therefore 572MHz max. Games are not tested as of now as the improvements aren't too remarkable for me to be able to see any visible improvement even if I wanted. I'll have to overclock in order to see. I am on stock One UI 2.5 Android 10.

    NW: I dialed small cores's frequency back to 1798MHz from this Custom Kernel's stock 2002MHz for the first tests, but so far I still see an improvement that ranges between 5 to 10% in all benchmarks.1798MHz to 2002 is roughly a 12% overclock either way and the small cores are very weak, so the difference wouldn't be too astonishing. The phone is also actively cooled down so that peak output is ensured.

    Geekbench 5:
    Single Core: 698
    Multi Core: 2157

    These values are in line with the stock Kernel. However I now get them more frequently and they are still in the "rare zone" for Exynos 9810 scores.

    PCMark, Storage 3.0
    Storage score: 6183 (Equal to average. Expected since there is no claimed storage performance boost. Noted though that the singular Storage 3.0 benchmarks have shown improvements that could even go as far as 50%. Therefore the overall score may not be fully accurate).

    PCMark, Work 3.0 score: 6872 (Roughly 12% above the average. Some individual tests almost got a 20% boost)

    AnTuTu:
    Total: 420.414
    The score is roughly 5% higher than the best I could get on the stock Kernel (400.786)
    The GPU score increased by 3%. CPU increased by roughly 4%. Memory performance increased by about 10%. User experience too about 10%.

    3DMark, Icestorm Unlimited:
    Total: 46.574
    This is roughly a 5% improvement over stock average. Not much to say.

    3DMark, Slingshot Extreme Unlimited (OpenGL ES 3.1):
    Total: 4.335
    This is in line with the stock kernel, even though it defeats 92% of all other Samsung Galaxy N960F.

    3DMark, Wildlife Unlimited:
    Total: 2.367
    Perfectly in line with the average, beating 51% of the N960F devices. GPU is not overclocked and no particular optimization or driver update is applied to it according to the developer, so this has to be expected as this is exclusively a GPU intensive benchmark.

    CPU Throttling Test:
    Average: 107.159GIPS
    Max: 125.479GIPS
    Min: 89.341GIPS

    This is perfectly average.

    GFXBench:
    High-Level Tests:
    1080p T-Rex Offscreen (ES 2.0): 132fps (This is average)
    1080p Manhattan Offscreen (ES 3.0): 80fps (Unknown)
    1080p Manhattan 3.1 Offscreen (ES 3.1): 47fps (This is in the margin of error above average)
    1080p Car Chase Offscreen (ES 3.1): 29fps (Unknown)
    1080p Aztec Ruins Offscreen (Normal Tier, ES 3.1): 31fps (Unknown)
    1440p Aztec Ruins Offscreen (High Tier, ES 3.1): 11fps (This is average)

    Low Level Tests:
    1080p Texturing Offscreen: 7.419 MTexel/s. (This is average)
    1080p Driver Overhead 2 Offscreen: 33fps (This is average)
    1080p ALU 2 Offscreen: 100fps (Unknown)
    1080p Tessellation Offscreen: 71fps (Unknown)



    Battery life under the benchmark's stress: In line with what people would expect from stock. Probably just a little bit lower. But it's not nothing upsetting. (Reminder this is at stock frequencies).

    Verdict: The Kernel overall even at totally stock frequencies offers fair improvements compared to the stock firmware. Further optimization would help the phone greatly increase its CPU performance, I will give sources following this.

    Tips for the developer: There is plenty of work that has to be done in order to solve Samsung's horrible work with Exynos 9810, which is in reality a very powerful SoC, cursed with an horrible Governor, slow hotplug, scheduler system and conservative power choices. I suggest to check out the analysis of the very respectable Andrei Frumusanu, which tweaked the Exynos 9810's CPU and extracted its full performance, and opened a path to even wider possibilities.


    these are the sources that may give useful tips for this kernel's future development. Unless, the developer already applied said improvements in the Kernel but refrained from openly stating it. RAM overclocking may also be another thing to keep in mind, as another developer, ace2nutzer, considered that possibility on Samsung Galaxy G950F and G955F. Some useful tips may also be found in the Endurance Kernel, made by developer Eamo5, like the 16ms PELT Half-Life. Support for F2FS would also grant an hefty boost in storage performance. However that file system seems very unstable by nature and I would see why its implementation would end up being impossible.

    NW: CPU load is not visible even on N960F devices. This is to answer a person who couldn't see said data on their N960N. Application used to monitor System stats is CPU Float. CPU and GPU temperature is also not given out by the system, making it impossible for me to fine tune any type of overclocking in order to extract the most out of the Kernel.
    2


    well, thanks very much for your suggestions. in fact i am still trying (and learning) to make it better in some aspects. but also, as i said, there are some trade offs so that's why (partly) i have removed the gpu oc for now, for instance

    and about the performance/benchmarks, wow, just like reading a review. and for those i have tested before you have almost reached my peak numbers already

    and yeah i have read those articles before, and most of them were implemented by other kernels on github already and cherry picked into this kernel. on the other hand i am still trying to patch the f2fs thing, and gpu oc plus other tweaks are still on the list including scheduling and memory etc but these will take time to implement and test

    anyway, once again, thanks for your inputs mate!

    ps i didnt aware the loadings/stats are not shown anymore since i dont rely on those kernel managers but init scripts to make the changes, i will take a look at that too
    2
    You're right. I apologize that I forgot about your busy schedule. Then there is no problem for me to keep providing benchmarks and gaming numbers. I can actually provide far more details than beforehand. So you can even stop benchmarking to save some time. I'll do it.

    And yes. The +30% results are actually achievable with your Kernel, but not with the stock frequency range (attention, no overclocking intended). With the stock range, aka 650-1794MHz big and 455-1794MHz SMALL, PCMark still sees a tangible 11% improvement. Going for such wide frequencies ranges with Samsung's scheduler is a bad idea because it's slow in ramping up the frequency (410ms to go up to 1794MHz from min according to Andrei). And in my experience, just raising minimum small frequency to about 1GHz and minimum big frequency to about 1.2GHz minimum brought that increase to the 29% I mentioned. Putting it in a performance-like status (which means no transition across frequencies at all) gave me results so high I ACTUALLY managed to beat an Exynos 9820 and almost match a Snapdragon 855 in PCMark, which is a daily usage benchmark, which made me extremely impressed and you should be too.

    And this wouldn't even be detrimental to battery life. Like you said before, the flexibility of the Custom Kernels comes from this. We can put whatever we want, when we want it. And profiles furtherly make that easier. So that one can put power saving measures when needed, and full performance also when needed. It's a win-win! And these results wouldn't have been achieved with the stock Kernel, even with performance governor. Because it lacks all the tweaks this one has. All that has to be done right now is this bug fixing.

    As you add the tweaks bit by bit, I will test the new releases and tell you how it's going. And one last note, if it is even possible, if you have the time for it, try to make it possible to tune the frequencies of the single/dual and quad core frequencies of the big cores. Because as of now it is basically impossible to overclock them and gain multi core improvements. That is honestly my only request together with a revision of the thermal and power throttling systems, because they appear to be interfering with my Kernel settings (Little CPU max frequency, GPU frequency irreversibly. Throttling threshold APPEARS to be at 70°C on CPU. Making it tunable would be great.). The current governors for the Mali GPU also are super conservative (and raising minimum frequency to 572MHz doesn't affect the GPU's behaviour, as it ignores it and goes at the frequency it wants AS SOON as I enter a game), just like Mali GPUs in general. Performance governor would make gaming buttery smooth when used. There is a lot of work to do, but this is just the very beginning, you have been back in the game for what, 2 months? And you have already done all of this. You can do great things. Believe in the potential of this Exynos 9810 because it does have it. It's all about pulling it out. And I'm glad to see I can free your schedule a bit. Again, good luck with everything mate.

    no problem and thanks mate

    and regarding the time needed to pump up the cpu, there has been some tunings deployed for the 9810 custom kernels like reducing the number of cycles or time per wait etc, so it should be quicker than the stock one. also for the gpu, try changing the interactive governor settings as to when to push it up and at which freq

    i am currently working on updating the file system stuff and it's almost done. once it's finished, together with a few basic stuffs i will go back to the cpu, gpu and freq things since they can affect the overall performance badly. so i don want to build on top of these like before where i have to redo most of the changes in case of problems arise

    once again thanks for your help
    1
    Okay, I only have one more question. This Kernel enables BIG cores to be overclocked up to 2880MHz. However according to Andrei. (An anand tech fella who did investigations on Exynos 9810), the Big cores only go at 2704MHz on single core. They dial back to 2314MHz in dual/tri core workloads and then they go at 1794MHz at quad core. This means that achieving 2.8GHz is actually impossible on all cores, right? How far should I be able to go though? Your Kernel locks the BIG cores at 1.8GHz which means only the small cores are actually overclocked. Is there something I am overlooking? I use Franco Kernel Manager to control the kernel. And it says all the 4 cores go at max 1794Mhz. Do they boost up to 2.89 in single core workloads? I noticed that it boosted to 2860MHz for a second or so on a single threaded workload. But that's not at 2890MHz and I have no clue regarding the other stats. Does changing that 1794MHz in my Kernel manager only refer to the quad core frequency? If I raise it is it going to mess everything up?

    right, 2.8 for 4 cores is not possible. the max freq will drop when more than 1 cores are used, and so on, and max at 17xx when 4 cores are used. if you read the cpu time in those kernel manager, u should see 27xx is non zero, meaning that 2.7 is achievable but not lasted for too long unless u restricted to single core

    i have seen 1 core max at 27xx so far but i did not pay too much attention on it becoz it is only less than 3% difference. more i found that the linkages between cpu, mem, gpu are tight which will pump up the heat. so in real practice, ocing too much may not necessarily means it runs faster since there are cooling points and when these cooling points are reached the freq will be forced down. chances that it may run faster in general say at 2.1 max due to less heat is generated but still maintaining a good performance. however it depends on how you will use your phone

    actually i am still changing these numbers, just like in the latest build, i have removed some changes to make the phone run faster as it should be

    this may not answered all of your questions but feel free to ask anytime
  • 10
    Hi all,

    It's ME again, being inactive for a few years due to my health conditions since Android Marshmallow! Today I would like to present you something I wanted for so long... an updated kernel for One UI 2.5! To be honest, I knew there were a lot of changes since MM, but not until these days I realized how troublesome they are, including rooting a device these days!! ( just rooted my N960F/DS running stock pie for more than a year ;) )
    OK, here we go!!


    This is an update to the BeastMode Kernel vR154 originally developed by @freeza and patched with latest Samsung One UI 2.5 kernel sources.

    Some of the features from R154 include:
    - enforcing kernel (switchable between enforcing/permissive)
    - cpu/gpu oc
    - dt2w (double tap to wake)
    - wireguard support


    However, due to my health conditions, I cannot spend too much time to update this kernel everyday although I am jobless, nor to have frequent updates as what @freeza did to his BeastMode Kernel. So please don't expect things will come very often. Thank you



    Special notes for BeastMode Kernel v2 initial release:
    - in the initial release (v2.02) there is no fix nor new feature added to the BeastMode Kernel vR154, as it servers as an update for new One UI 2.5 ROMs released by Samsung only
    - for existing features, problems or solutions, please visit the original BeastMode Kernel thread by @freeza
    - new features will be added in later releases



    BeastMode Kernel v2:
    - built with EVA GCC 12 and Proton Clang 13.0.0
    - for cts profile/safetynet fix, please install the Universal SafetyNet Fix by @kdrag0n



    Planned features:
    - more IO schedulers
    - more governors
    - OC/UV
    - f2fs (DONE!)



    If you like this, please consider donating a loaf of bread or something to support my living or buy some treats for my old dog @ https://paypal.me/ykkfive ( I don't need coffee or beer :giggle: ). Thanks!



    Important Notes:
    if you are using a kernel manger, please go to here and see if you are affected



    Downloads:
    Changelog and downloads in post #2



    Credits:
    Big thanks to @freeza for allowing me to use his work and publish this update
    Samsung open source
    @evdenis
    @yarpiin
    @Da-BOSS
    @flar2



    Source code:
    github
    5
    NOTE: I am not responsible for bricked devices, loss of data, etc. Flash it with your OWN RISKS and ALWAYS DO A FULL BACKUP first



    Changelog and Download (NO mirror please):


    20210920 - v2.11c6

    - for FUF5/FUH1 (NOTE: 2 different versions)
    - updated to latest ext4 and f2fs
    - full f2fs support (cache and data partitions tested, system not yet)
    - linux upstream to 4.9.280
    - some other tweaks and patches


    Downloads (mediafire) *make sure you get the right version for your rom (you can check your rom version by tapping on the dialer, and type *#1234# and read the AP shown):
    FUF5
    BM-Kernel-v2.11c6-FUF5-magisk_patched.zip (patched with Magisk 23.0)
    boot.img (no root)

    FUH1
    BM-Kernel-v2.11c6-FUH1-magisk_patched.zip (patched with Magisk 23.0)
    boot.img (no root)







    20210818 - v2.10
    - revised from the beginning with updates to FUF5
    - cpu oc/uv
    - gpu overclock/under voltage removed (awaiting fixes)
    - some changes reverted
    - Wake Gestures and Boeffla wakelocks included
    - bring back the performance from initial release (up to 23% or more with multi cores, and nearly 3x memory performance when compared with v2.04) ** thanks for reporting this issue



    Downloads (mediafire):
    BM-Kernel-v2.10-magisk_patched.zip (patched with Magisk 23.0)
    boot.img (no root)





    Previous releases:



    Known Issues:

    20210730:

    (I) for version up to v2.05, the following features do not work as expected due to my mistakes

    - Wake Gestures including double tap to wake (dt2w), swipe to wake (s2w), etc
    - Boeffla wakelocks
    - These problems will be fixed in the next version soon
    .
    FIXED. Please accept my sincere apology

    (II) in v2.05 default gpu voltage may incorrectly show the modified values as default values in kernel manager

    (III) since v2.04m the performance is not as good as v2.03 due to the introduction of some kernel changes





    20210730 - v2.05a
    - Wake Gestures and Boeffla wakelocks problems fixed
    - no other changes, bugs fixing release of v2.05







    20210729 - v2.05
    - updated with Samsung FUF5 sources just released
    - no other changes
    - REMOVED, superseded by v2.05a







    20210726 - v2.04m
    - compatible with FUF5 (** may have problems if you use lockscreen or samsung account with possible fix here. ALWAYS do a full backup first)
    - overclocked: cpu little to 2002000Mhz, gpu to 598000Mhz
    - undervoltaged: cpu/memory
    - gpu undervoltage support awaiting a fix
    - linux upstreamed to 4.9.250
    - cherry picked some kernel tweaks
    - for undervolting the gpu, you may go and read my settings here awaiting a fix






    More Previous releases:


    20210628 - v2.03
    - added "magisk detected" BASIC fix to prevent apps trying to detect if magisk is installed (only some of the detections are prevented)
    - you can see the difference by installing an app from google play store called "Дія" issued by Ministry of Digital Transformation of Ukraine

    before applying fix
    after fix applied


    - for more info, please read:
    https://darvincitech.wordpress.com/2019/11/04/detecting-magisk-hide/
    - for a comprehensive solution (NOT TO BE SUPPORTED/DISCUSSED HERE):
    https://forum.xda-developers.com/t/magisk-detected-on-bankapp-solved.4258245/
    IMHO, if there's nothing bothering you, you can ignore this comprehensive solution atm. but of coz it's up to you









    20210621 - v2.02 (init release)
    *** Special announcement for Dr.Ketan ROM Q16 - 20210623 ***
    it seems there are some compatibility issues with Dr.Ketan ROM Q16 and this kernel, due to the fact that Q16 is based on N960FXXU8FUE1 while this kernel is N960FXXS8FUE5. As a result you may not be able to login to Samsung Account, or have cts profile/safetynet issue. So please MAKE A FULL BACKUP before proceed.


    - updated with N960FXXS8FUE5 sources
    - tested with stock rom UE5, Dr Ketan Q16 with some patches
    - working properly with DevBase 7.4 and Alexis ROM 2.8 from users feedbacks
    *** make sure you have flashed N960FXXS8FUE5 AP, BL, modem etc



    .
    3
    20210920 - v2.11c6 released
    for fuf5 and fuh1 respectively
    3
    Now I migrated bm v2.02m + Alexis 2.8 combination. All seems decent for now. Still boeffla and double tap sections are missing. But it's okay.
    Here is the devchecks ram performance attachment. (on v2.02)

    I am going to perform antutu and geekbench and post here.
    u mean 2.04m?

    I am on v2.05

    Ram performance is decreased, confirmed with doing devcheck comparison and antutu bench.

    tap to wake and sleep options are gone.
    boeffla options are gone.

    Accordig to Devcheck,

    Cmemcopy: around 5000 Mb/s
    Cmemset: aroud 7500 Mb/s

    on R154 these were 10000 MB/s and 15000 Mb/s respectively.

    Cpu an GPU performance are good.

    I am on Alexis 2.9 Note 9 SM N960F


    And also the voltage table that given by dev is passed two full antutu bench. No crashes.
    i have did some tests today and yes, 2.02 is the fastest one, it was the original one without any "enhancements" in other aspects like cpu/gpu overclocking. it is not unusual that these enchancements can be beaten by the one without in terms of performance. it all depends on the usage, and more importantly everthing comes with a price. so you may find it at stock max speed outperforms an overclocked cpu due to the heat generated (which trigger the mechanism to lower the cpu freq as to cool it down). eg a 10 seconds task running with 2000Mhz may be better than 3 seconds with 2400mHz plus 7 seconds with 1700Mhz. you see what i mean? of coz, once again, it depends on the usage and the way of using it like benchmarking or daily use

    anyway, thanks for your feedbacks, as well as others. without you guys' feedback i couldnt discover the bugs myself

    also, i may consider to make an extreme version, which will be rebased on 2.02 with FUF5 but without any unneccessary changes for those who focus more on the speed due to different usage patterns if there are demands for it. but in general, 2.02 is still working fine with FUF5 except samsung account login issues for some users i believe

    on the other hand, i will continue to cherry pick some useful changes to optimize it in general for the main stream version

    thanks
    3
    EDIT 20210804
    a more aggressive gpu voltage settings is posted here awaiting a fix



    BM-Kernel-v2.04m released

    20210726 - v2.04m
    - compatible with FUF5 (** may have problems if you use lockscreen or samsung account with possible fix here. ALWAYS do a full backup first)
    - overclocked: cpu little to 2002000Mhz, gpu to 598000Mhz
    - undervoltaged: cpu/memory
    - support gpu under voltage
    - linux upstreamed to 4.9.250
    - cherry picked some kernel tweaks
    - for undervolting the gpu, you may refer to my initial safe settings below and adjust them by yourself. there are still rooms to undervolt, but it is suggested you do it bit by bit, and one by one and test the new voltage before next


    gpu_voltage.jpg