[EOL] [KERNEL] [AOSP/Samsung/Ports] [ArchiToolchain 5.2] [01/10/15] ArchiKernel V2.1

Search This thread

JustArchi

Inactive Recognized Developer
Mar 7, 2013
8,739
38,807
Warsaw
linux-logo-600x300.png


  • Base: N7100 KK Sources
  • Linux 3.0.31
  • Compiled using latest ArchiToolchain 5.2.0
  • ArchiDroid Optimizations
  • Using AnyKernel method (compatible with all ROMs for both AOSP and Samsung)
  • And many other awesome things I have no time to list

ArchiDroid Optimizations:
- Fully optimized for Samsung Galaxy S3 (-marm -march=armv7-a -mcpu=cortex-a9 -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp)
- Compiled with O3 optimization level (-O3)
- Performed interprocedural pointer analysis and interprocedural modification and reference analysis (-fipa-pta)
- Performed loop invariant motion on trees. It also moved operands of conditions that are invariant out of the loop, so that we can use just trivial invariantness analysis in loop unswitching. The pass also includes store motion (-ftree-loop-im)
- Created a canonical counter for number of iterations in loops for which determining number of iterations requires complicated analysis. Later optimizations then may determine the number easily (-ftree-loop-ivcanon)
- Performed induction variable optimizations (strength reduction, induction variable merging and induction variable elimination) on trees (-fivopts)
- Tried to reduce the number of symbolic address calculations by using shared “anchor” symbols to address nearby objects. This transformation can help to reduce the number of GOT entries and GOT accesses on some targets (-fsection-anchors)
- Assumed that loop indices do not overflow, and that loops with nontrivial exit condition are not infinite. This enables a wider range of loop optimizations even if the loop optimizer itself cannot prove that these assumptions are valid (-funsafe-loop-optimizations)
- Moved branches with loop invariant conditions out of the loop (-funswitch-loops)
- Attempted to avoid false dependencies in scheduled code by making use of registers left over after register allocation. This optimization most benefits processors with lots of registers (-frename-registers)
- Re-ran common subexpression elimination after loop optimizations are performed (-frerun-cse-after-loop)
- Didn't keep the frame pointer in a register for functions that don't need one. This avoids the instructions to save, set up and restore frame pointers; it also makes an extra register available in many functions (-fomit-frame-pointer)
- Made a redundant load elimination pass performed after reload. The purpose of this pass is to clean up redundant spilling (-fgcse-after-reload)
- Ran a store motion pass after global common subexpression elimination. This pass attempts to move stores out of loops (-fgcse-sm)
- Eliminated redundant loads that come after stores to the same memory location, both partial and full redundancies (-fgcse-las)
- Constructed webs as commonly used for register allocation purposes and assigned each web individual pseudo register. This allows the register allocation pass to operate on pseudos directly, but also strengthens several other optimization passes, such as CSE, loop optimizer and trivial dead code remover (-fweb)
- Performed tail duplication to enlarge superblock size. This transformation simplifies the control flow of the function allowing other optimizations to do a better job (-ftracer)

Download


What to expect:
- Awesome stock battery life on AOSP ROMs (due to Samsung sources and not smdk4x12)
- Blazing fast (Deep advanced optimizations, Linaro toolchain, this is the beast)
- High compatibility (AnyKernel method, the kernel should work on all ROMs)

What to expect in future:
- You tell me

What to NOT expect:
- Many CPU or I/O governors # We don't need overhead, you can achieve nearly the same just by tweaking governor to your needs
- Features I don't like/need
- Dualboot (see above ^)
- F2FS (see above ^, however this one depends on kernel upstreaming, as f2fs is merged)

ArchiKernel is provided in 4 different variants, 2 for AOSP ROMs and 2 for SAMSUNG ROMs.

AOSP -> 29 MALI blobs AOSP variant. Should cover all Lollipops for SGS3.
AOSP_OLD -> 23 MALI blobs AOSP variant. Should cover all KK and pre-KK ROMs for SGS3.
SAMSUNG -> 23 MALI blobs Sammy variant. Should cover all JB ROMs and also some KK ROMs based on N7100 port (such as ArchiPort)
SAMSUNG_NEW -> 29 MALI blobs Sammy variant. Should be used only on KK+ Sammy ROMs based on korean port

ArchiKernel is using my own AnyKernel flashing method, therefore it does not suffer from a need to update it with maintenance ramdisk updates, and that's one of the reason why it should work properly with all ROMs, even those not officially supported, as long as variant matches.

Flashing instructions:
1. Make sure that you have stock kernel already flashed (the one which comes with your ROM), if you're running custom kernel already, reflash your ROM without wipe, this will also flash stock kernel. This is ultimately important, DON'T FLASH ARCHIKERNEL ON ANOTHER CUSTOM KERNEL, you may face various issues you've never seen before.
* This is because ArchiKernel uses AnyKernel method - it pulls ramdisk from your current kernel. If you brick your phone by flashing AK on top of custom kernel, you know who will be responsible for that.
2. Flash ArchiKernel zip.
3. Profit!

Updating instructions:
1. If you arleady have older ArchiKernel version flashed properly with above instructions, and changelog doesn't state otherwise, just flash the .zip with new version of AK.
2. No wipes, cleaning dalvik cache or anything else is required, flashing zip is enough.
3. Profit!

Bugs:
None known

XDA:DevDB Information
[EOL] [KERNEL] [AOSP/Samsung/Ports] [ArchiToolchain 5.2] [01/10/15] ArchiKernel V2.1, Kernel for the Samsung Galaxy S III I9300

Contributors
JustArchi, Moster2
Source Code: https://github.com/ArchiDroid/ArchiKernel

Kernel Special Features:

Version Information
Status: No Longer Updated

Created 2014-06-17
Last Updated 2015-11-12
 
Last edited:

coto39

Senior Member
Aug 6, 2011
825
302
Tandil
Well, I've been waiting for this thread since I read about "ArchiKernel" =D

I installed the kernel just a few minutes ago and I will test during this days to see how it behaves.

Q: Will you add support to customize it with an app (like TricksterMod, Stweaks or BoefflaConfig)? I'm just asking because I'm curious, I know is to early in development stage already to have this, but I just wanted to know :p

Thanks!
 

JustArchi

Inactive Recognized Developer
Mar 7, 2013
8,739
38,807
Warsaw
Well, I've been waiting for this thread since I read about "ArchiKernel" =D

I installed the kernel just a few minutes ago and I will test during this days to see how it behaves.

Q: Will you add support to customize it with an app (like TricksterMod, Stweaks or BoefflaConfig)? I'm just asking because I'm curious, I know is to early in development stage already to have this, but I just wanted to know :p

Thanks!

At some point I'll definitely consider adding ArchiKernel support in ArchiDroid app, but it won't come too fast.

However, you can still "tweak it' in various ways. SetCPU, TricksterMod and similar apps are only a few examples. Boeffla Sound Control app (not boeffla config) will work as well. But think twice if you want to do, as ArchiKernel is pretty damn tweaked right after booting.
 

beeeto

Senior Member
May 18, 2013
398
1,713
Chile
Flashed on Temasek's v98 and works perfectly. Just finished downloading boeffla sound app and I'm ready to rock this new toy :^P

Will report battery life and stuff later!

Keep your fine work up Archi. Cheers!
 

JustArchi

Inactive Recognized Developer
Mar 7, 2013
8,739
38,807
Warsaw
Flashed on Temasek's v98 and works perfectly. Just finished downloading boeffla sound app and I'm ready to rock this new toy :^P

Will report battery life and stuff later!

Keep your fine work up Archi. Cheers!

If you want to know my opinion - Current smdk4x12 source used in all AOSP kernels is a crap. Somebody screwed up something really hard, I looked at the sources and there are over 7 hundred of different files (comparing to Update13), half of the updates from Update11, Update12 are not even included, while Update13 is not included at all. Whole kernel is one big mess and I have no idea how it even boots. It contains so many merge derps and hacks/workarounds that it hurts. I didn't even want to fix it, too much work to do. I started from clean stable and battery friendly Update13 base.

After flashing first alpha version of my kernel I immediately noticed significantly improved battery life, same as on Sammy ROM. So now I have my perfect combo, ArchiDroid 2.X AOSP speed and ArchiKernel Sammy battery life. Whatever you say, I'm keeping this baby. I love this kernel.

Big credit goes to @Yank555 and @Lord Boeffla because they're true kernel developers, I've made my own kernel based mostly on their commits (but not only, I added my own part as well and I'll add more soon).
 

Choristav

Senior Member
Dec 25, 2012
1,118
787
Buenos Aires, Argentina
Ah guys, and remember that this kernel uses AnyKernel method, which means that it will PULL ramdisk from your CURRENT kernel so for best results MAKE SURE that you're on STOCK kernel for your rom BEFORE flashing this.

Add it to the OP!

While not everyone actually reads even the first post, even fewer people would actually bother reading the whole first page.
 
  • Like
Reactions: srv.abhishek

skim0322

Senior Member
Jul 4, 2011
698
82
Ah guys, and remember that this kernel uses AnyKernel method, which means that it will PULL ramdisk from your CURRENT kernel so for best results MAKE SURE that you're on STOCK kernel for your rom BEFORE flashing this.

Do i have to flash the whole r9m again then?

Sent from my GT-I9300 using XDA Free mobile app
 

microcens

Senior Member
Feb 18, 2011
140
11
Ah guys, and remember that this kernel uses AnyKernel method, which means that it will PULL ramdisk from your CURRENT kernel so for best results MAKE SURE that you're on STOCK kernel for your rom BEFORE flashing this.

i am on archidroid 2.4.6 with boeffla kernel.u mean that i cannot flash your kernel over my current kernel?
 

szotaa

Senior Member
May 13, 2012
586
179
Warsaw
Are cam bugs gone since you did not upstream it to the 3.101?

Wysłane z mojego GT-I9300 przy użyciu Tapatalka
 

Top Liked Posts

  • There are no posts matching your filters.
  • 261
    linux-logo-600x300.png


    • Base: N7100 KK Sources
    • Linux 3.0.31
    • Compiled using latest ArchiToolchain 5.2.0
    • ArchiDroid Optimizations
    • Using AnyKernel method (compatible with all ROMs for both AOSP and Samsung)
    • And many other awesome things I have no time to list

    ArchiDroid Optimizations:
    - Fully optimized for Samsung Galaxy S3 (-marm -march=armv7-a -mcpu=cortex-a9 -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp)
    - Compiled with O3 optimization level (-O3)
    - Performed interprocedural pointer analysis and interprocedural modification and reference analysis (-fipa-pta)
    - Performed loop invariant motion on trees. It also moved operands of conditions that are invariant out of the loop, so that we can use just trivial invariantness analysis in loop unswitching. The pass also includes store motion (-ftree-loop-im)
    - Created a canonical counter for number of iterations in loops for which determining number of iterations requires complicated analysis. Later optimizations then may determine the number easily (-ftree-loop-ivcanon)
    - Performed induction variable optimizations (strength reduction, induction variable merging and induction variable elimination) on trees (-fivopts)
    - Tried to reduce the number of symbolic address calculations by using shared “anchor” symbols to address nearby objects. This transformation can help to reduce the number of GOT entries and GOT accesses on some targets (-fsection-anchors)
    - Assumed that loop indices do not overflow, and that loops with nontrivial exit condition are not infinite. This enables a wider range of loop optimizations even if the loop optimizer itself cannot prove that these assumptions are valid (-funsafe-loop-optimizations)
    - Moved branches with loop invariant conditions out of the loop (-funswitch-loops)
    - Attempted to avoid false dependencies in scheduled code by making use of registers left over after register allocation. This optimization most benefits processors with lots of registers (-frename-registers)
    - Re-ran common subexpression elimination after loop optimizations are performed (-frerun-cse-after-loop)
    - Didn't keep the frame pointer in a register for functions that don't need one. This avoids the instructions to save, set up and restore frame pointers; it also makes an extra register available in many functions (-fomit-frame-pointer)
    - Made a redundant load elimination pass performed after reload. The purpose of this pass is to clean up redundant spilling (-fgcse-after-reload)
    - Ran a store motion pass after global common subexpression elimination. This pass attempts to move stores out of loops (-fgcse-sm)
    - Eliminated redundant loads that come after stores to the same memory location, both partial and full redundancies (-fgcse-las)
    - Constructed webs as commonly used for register allocation purposes and assigned each web individual pseudo register. This allows the register allocation pass to operate on pseudos directly, but also strengthens several other optimization passes, such as CSE, loop optimizer and trivial dead code remover (-fweb)
    - Performed tail duplication to enlarge superblock size. This transformation simplifies the control flow of the function allowing other optimizations to do a better job (-ftracer)

    Download


    What to expect:
    - Awesome stock battery life on AOSP ROMs (due to Samsung sources and not smdk4x12)
    - Blazing fast (Deep advanced optimizations, Linaro toolchain, this is the beast)
    - High compatibility (AnyKernel method, the kernel should work on all ROMs)

    What to expect in future:
    - You tell me

    What to NOT expect:
    - Many CPU or I/O governors # We don't need overhead, you can achieve nearly the same just by tweaking governor to your needs
    - Features I don't like/need
    - Dualboot (see above ^)
    - F2FS (see above ^, however this one depends on kernel upstreaming, as f2fs is merged)

    ArchiKernel is provided in 4 different variants, 2 for AOSP ROMs and 2 for SAMSUNG ROMs.

    AOSP -> 29 MALI blobs AOSP variant. Should cover all Lollipops for SGS3.
    AOSP_OLD -> 23 MALI blobs AOSP variant. Should cover all KK and pre-KK ROMs for SGS3.
    SAMSUNG -> 23 MALI blobs Sammy variant. Should cover all JB ROMs and also some KK ROMs based on N7100 port (such as ArchiPort)
    SAMSUNG_NEW -> 29 MALI blobs Sammy variant. Should be used only on KK+ Sammy ROMs based on korean port

    ArchiKernel is using my own AnyKernel flashing method, therefore it does not suffer from a need to update it with maintenance ramdisk updates, and that's one of the reason why it should work properly with all ROMs, even those not officially supported, as long as variant matches.

    Flashing instructions:
    1. Make sure that you have stock kernel already flashed (the one which comes with your ROM), if you're running custom kernel already, reflash your ROM without wipe, this will also flash stock kernel. This is ultimately important, DON'T FLASH ARCHIKERNEL ON ANOTHER CUSTOM KERNEL, you may face various issues you've never seen before.
    * This is because ArchiKernel uses AnyKernel method - it pulls ramdisk from your current kernel. If you brick your phone by flashing AK on top of custom kernel, you know who will be responsible for that.
    2. Flash ArchiKernel zip.
    3. Profit!

    Updating instructions:
    1. If you arleady have older ArchiKernel version flashed properly with above instructions, and changelog doesn't state otherwise, just flash the .zip with new version of AK.
    2. No wipes, cleaning dalvik cache or anything else is required, flashing zip is enough.
    3. Profit!

    Bugs:
    None known

    XDA:DevDB Information
    [EOL] [KERNEL] [AOSP/Samsung/Ports] [ArchiToolchain 5.2] [01/10/15] ArchiKernel V2.1, Kernel for the Samsung Galaxy S III I9300

    Contributors
    JustArchi, Moster2
    Source Code: https://github.com/ArchiDroid/ArchiKernel

    Kernel Special Features:

    Version Information
    Status: No Longer Updated

    Created 2014-06-17
    Last Updated 2015-11-12
    112
    Okay.

    After a second thought, yes, I'm releasing my Git repository open for everyone.

    You guys are right. It's about the entire community, not me.

    It's the entire community we want to improve, not a specific one or a group.

    I'd like to contribute to the community.
    I'd like to see other developers take commits from this repository and make things better.

    The Git is at https://bitbucket.org/arter97/arter97-i9300-release

    So,
    @JustArchi , go fix your kernel's camera issue and delight the users.
    @Lord Boeffla , let's both work on improving Knock-On(or dt2w).
    @beeeto , thanks for persuading me.

    We love XDA.
    We love to share things and make things better.

    Me too. I love to apply things from other developers.
    But with proper credits.

    I'd like to see other developers take commits from this repository and make things better.
    Contribute to the entire community.

    But with proper credits.

    'Opensource' does not mean 'no-respect'.
    Leave credits to original author.

    That's all I want.

    Thanks for your support.
    49
    ArchiKernel V1.5

    Linaro toolchain update, 4.9.1 -> 4.9.2, 14.07 -> 14.09
    - SEA2 -> Update14 (really misc update from samsung)
    - Added BFQ scheduler # Thanks to @Moster2
    - STweaks: ZRAM, BFQ, Knock-on corrections, Sharpness tweak and more misc bugfixes/improvements # Thanks to @Moster2
    - Added ArchiKernel logo after booting of the kernel
    - Silenced some more debug informations (including touchscreen)
    - Updated ZZmoove to 0.9 beta4
    - Merged N8000 sources for all variants (this should fix graphical glitches for ArchiPort and other ported Sammy ROMs, AOSP also benefits from that) # Thanks to @LordBoeffla
    - Fixed graphical glitches on AOSP ROMs which happened after above merge # BIG THANKS to @Moster2
    - Many R4P0 fixes and improvements # Thanks to @Moster2
    - Fixed sharpness tweak # Thanks to @Moster2
    - Added some misc LD optimizations (-Wl,--sort-common + -Wl,--O1)
    - More on github

    Download, changelog, and cookies

    I've moved downloads and changelogs to github, as it should be more reliable than XDA servers. Also you can get updates just by watching github repo.

    Please let me know if you find any issues, I tested only AOSP variant due to lack of time recently, however, AK is using unified tree so it's very unlikely that other variants will see any issues.

    Have fun and don't forget to SMASH THAT THANKS BUTTON FOR MOSTER2, as he's doing more than me for this kernel lately! Not even mentioning that N8000 merge works on AOSP fully thanks to him (I'd simply revert it otheriwse).

    Yes, I guess this is the only AOSP kernel with kitkat sources right now. Andi made a perfect commit with N8000 additions for his ArchiPort Boeffla, I merged it and resolved the conflicts, while Moster2 fixed graphical glitches on AOSP, I love this community :).
    47
    ArchiKernel V1.3


    [SIZE="+1"]Changelog is strong with this one :cool:.[/SIZE]


    Changelog

    ArchiKernel V1.3

    - Enabled LED fading/blinking support @Moster2
    - Enabled haptic control on AOSP roms like CM/Omni @Moster2
    - Enabled voltage control of the CPU @Moster2
    - Enabled overclocking of the CPU to 1600Mhz @Moster2
    - Enabled GPU clock control and voltage interface @Moster2
    - Enabled touch LED control @Moster2
    - Updated ZZmoove to 0.9 beta3 @JustArchi
    - Enabled SELinux @JustArchi
    - Enabled ext4 security labels @JustArchi # This fixes being unable to mount ext4 sd cards, reported by @Senior_Limpio
    - Enabled OC by default @JustArchi # This enables 1600 MHz by default, you can still go back to 1400 via sysfs
    - Fixed CVE-2014-3153 @JustArchi
    - Fixed frequency slider in performance settings @JustArchi # Found i.e. in Omni
    - Cleanup of ArchiKernel settings @JustArchi

    BIG thanks to @Moster2 for backporting features in a clean and professional way!



    Download
    Remember to flash ArchiKernel on top of Stock kernel for your ROM (fresh install) OR on top of older ArchiKernel (update).


    Have Fun! :cool:
    39
    @JustArchi, the graphical glitches with the new sources should be fixed now. Finally had some time and will to fix it :D