Kernel Custom - Yank555.lu - Jelly Bean - Samsung Galaxy S3

  • Auteur de la discussion nico598862
  • Date de début
N

nico598862

Membre
Inscrit
16 Novembre 2012
Messages
10 214
Points
0
  • #1
Kernel Custom : Yank555.lu - Jelly Bean

Samsung Galaxy S3

Merci à
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
Avertissement : Phonandroid.com ne peut être tenu pour responsable en cas d'éventuels problèmes. Lisez et suivez toutes les étapes.
=======================================================================================================

Kernel déjà testé et fonctionnel sur les configurations suivantes :

Sotmax JB Ultimate Stock v2, v6, v7, v8, v9,v10, v11, v12, v13
ARHD 11.0.0, 12.0,13.0 ... 18.0
Stock Deodexed DLIB, DLJ1, DLJ2, DLJ4
Stock Odexed DLJ1
InsertCoin 2.1.0, 3.0.0
WanamLite JB 4.0.1
Dragon Rom v4
Omega v30 - v40
NxTGen ROM XXDLJ4
VikingRom 10
VikingWay 1.1
Ultima Rom 4.1.1
Turkbey LJ1
crDroid V7.2
MIUI - RAYGLOBE V. 7
NeatROM lite
Darkyrom v8.4
Foxhound 1.8 MA1
MIUI.us 3.1.18 JRO03C based Samsung

PRE-REQUIS

  • Avoir installé le ClockWorkMod recovery.
  • ROM basée Jelly Bean Samsung.


TELECHARGEMENTS

Pour rappel : installation via le CWM recovery => fichier zip / installation via Odin => fichier .tar

Téléchargement du kernel :
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
|
MD5 : 654f88e52ae35b5ae6b115a18662b68d


INSTALLATION

Suivez ce tutoriel.


CARACTERISTIQUES

Code:
S'il vous plaît, Connexion ou S'inscrire to view codes content!


INFORMATIONS SUR L'AROMA ET F.A.Q.

CPU frequency settings

CPU maximum frequency

I'd say this one's pretty selfexplaining, it will let you chose at what maximum frequency you want to limit your CPUs. Stock is 1.4GHz, so allowing (up to 1.6GHz) more means you're overclocking the CPUs (expect better perfomance, but to the cost of a slightly higher battery drain !), restricting this to anything lower than 1.4GHz means you're underclocking the CPUs (you can expect to save some battery juice, but to the cost of lesser performance.)

Since our S3 has quite a powerfull CPU, if you use your S3 for basic tasks only (browing, texting, calling, reading emails...) you may use lower freqs. and not feel any real loss in speed, but if you're gaming etc. expect to feel the difference.

CPU Governor

PegasusQ

This is the stock governor provided by Samsung to control the exynos CPU frequencies and cores hotplugging (switching cores on and off).

PegasusQ-IO

Still the same stock governor at work, but this will set the governor's "io is busy" property to either 1 (= yes) or 0 (= no). If set to yes, this means that if the CPU is waiting for io's to complete, it the governor will consider this as load, and continue to throttle up the CPU freq. If on the other hand it is set to no, in this case, the governor considers this as not being a load, and CPU freq. will start throttling down.

I like to keep this to yes, as I'm a convinced "race to idle" theory fan, which means best battery drain is achieved if we do what we have to do as fast as possible (higher CPU clock) so we can put cores to sleep sooner and save juice. There are also others that say better battery is achieved by keeping the CPUs on low freqs. but taking longer.

Don't expect the difference to be huge, and whatever your oppinion on this, I'd rather provided you with the choice, so it's up to you what you consider being the "truth"

LulzactiveQ

This is a different governor that has been ported to the SGS3 and adapted from dual core to quad core. It will scale up and down the CPU frequencies more aggressively and also hotplug faster (switch cores on sooner but also switch them off sooner).

The result is a better responsiveness, but at the cost of a little battery.

MMC I/O Settings

These settings will be applied only 2 minutes after boot is completed, as we need to wait that the external sd card has become ready in the system before applying this.

MMC readahead buffer

This will set how much more of a file the system will read than an app actually asks for, so that when the app asks for the next data, it is already available, thus winning the time to go get it on internal / external memory.

Sounds nice, first reflex, put it to the max. As you can see, I've limited the choices to 4Kb max, that is not a technical limit, but more of a failsafe against this very same reflex.

While reading files sequentially, e.g. from the beginning to the end like on MP3s or movies, more is better since we are going to read what's next in the file anyway, we want to listen to the rest of that song, watch the rest of that movie, if on the other hand the app reads randomly within a file, like a database would do, e.g. your satnav reading the map for you, it will jump reading from here to there, what is the point of reading too much ahead in this case ? Well none, you'll have your system read loads of data that the app is never going to ask for, so it's counterproductive.

As so often in life, you need to find the perfect balance, but this balance may be different depending on what you do more...

MMC I/O Scheduler

I'll keep this one short, have a look here, considering that we only have "noop, dealine, cfq, sio and row" in this kernel. I couldn't tell you more about this anyway

Just a few words about the latest addition, ROW, since that one is not explained in the linked thread. ROW has been specifically designed for flash memory storage (e.g. our internal / external memory). It will handle READ operations with higher priority, while delaying WRITE opterations to when there's time for it, but at some point, writes will have to be done anyway, so they won't be delayed forever, obviously.

It makes the device really feel more responsive and to be honest, it's the only scheduler I ever really actually "felt" a difference.

Low Memory Killer Presets

All the apps you run are put into different categories (as a degree of importance or a kind of service they provide).

Memory is divided into memory blocks that apps can use. In Android one memory block has 4096 bytes. Each category will have a number of memory pages limit, which as soon as free memory drops below of that limit, will make LMK start killing tasks of that category.

So the higher the limits, the sooner it will start its blood bath and kill away, or put otherwise, the higher the limit, the more free memory you will have at any given time.

ALMK is your guardian of free memory if you will.

Again, balance is key, too high, and you'll end up not having any multitasking at all, but loads of free memory that's not used, bad idea, too low, you might run out of memory, which induces lag and might even trigger Linux's OOM (out of memory killer), which will shot a sight without looking what it's shooting at (more or less), so you don't want to wake that monster either.

Plus depending on the use of swap and what kind of swap, these settings will also have an indirect impact.

Virtual memory

Perfect transition to swap

As I just said, memory is divided into memory blocks of 4096 bytes. Each memory block holds also the information when it has been used for the last time.

Considering this, one single app will be using many blocks. Some of those the app will be using a lot, some it won't. Take a simple card game. When you're playing, you're not using the app's settings menu, thus not using any of the blocks that hold those parts of the app.

Swap is a process that is used in most of modern operating systems. The virtual memory management system (that's swap !) will swap out all the blocks that were not used for a certain time, this "certain time" is influenced by swappiness and a few other parameters that we can change.

The plus is that the memory blocks that have been swapped out will free up RAM to be used by other apps, thus allowing for more apps to run at the same time.

On the other hand, if you need a swapped out block, that will cost extra time, since it's not located in memory any more but on the swap partition, so it will need to be reloaded into RAM (possibly by swapping out another block to make room for this).

That should give you a glimpse on the benefits and the costs of using swap. There's that damn balance once again...

That should also give you an idea of why LMK settings matter, since if almost no free ram is available, a swap in will generally cost a swap out first then the swap in !

Consider swap as a way to have only part of the apps in RAM instead of having all of it, and as such allowing for more apps to run at the same time.

BTW, it does not add RAM, you can only add RAM by actually adding physical RAM, anyone telling you otherwise is either lying or does not know what she/he's talking about

Hardswap

My favorite, since it adds virtual memory, without taking anything for it, swapped out memory pages are stored on a separate partition on the external SD card. The drawback is it's actually slower than using internal memory, but I don't like that, wearing internal memory is kind of bricking the phone, where wearing out an SD card just means replacing it, much cheaper. And it's much slower than zram, but ... read ahead ...

zram

The one I don't like that much. It's fast, yes. It will take less RAM than it will give swap in return, still true as it uses compression to store the swapped out memory pages, so you'll be fitting more pages in swap than swap actually uses pages to store them.

But, there's always a but, you now understand that swap is not RAM, so taking RAM away to use as swap, is removing RAM from running apps. The more zram, the more RAM you take from your apps to acutally run.

But again, since it's the fastest, maybe it's going to fit your need better than hardswap, so you need to try, and with Aroma, that's real easy to do

As a sidenote, it might be interesting to read the FAQ in my hardswap thread if you want to know some more about this.

Fast charge

My favorite first kernel mod, the one that gave me the courage to go the whole way to compiling a kernel as I just needed to port it on my Sensation at the time.

This is the S3 flavour of the mod, it has a few options :

Substitute

This is the classic fast charge mod, which just tells the device to charge on a USB port as if it were an AC charger. It's a but simplistic, but back in the days (that's just a few months back actually) it was fine.

I've kept the logic, since there are apps on Play Store that allow to enable / disable this mode from an app/widget.

But I consider this deprecated.

Custom current

Now the S3's hardware allows for something quite nicer, we can actually set the charging rate as we wish ! In this mode, well you just chose at what rate you would like to charge your battery when connected to a USB port (475mA/h is default) or an AC wall charger (1000mA/h is default).

Be aware that you may fry your USB port if you draw too much and it overheats, but if it's a port that fully complies to the standard, it should shut down (stop giving current) if you draw too much from it.

Also, charging at higher rate than 1000mA/h (= wall charger rate) you may shorten the life of your battery, so it's up to you to use this, again, with balance

CRT off display delay

For those who fancy using a CRT off mod, this is a way to tell the kernel to not turn the screen off as quickly, so that there's enough time to display the CRT off animation.

So if you don't see the animation, or only part of it, increase this. Often, I've been told, 100ms is enough, but sometimes it isn't, so you need to try it out for yourselves. CyanogenMod uses a 500ms daly btw.

Dynamic fsync settings

This is a goodie by faux123, so all credits go to him for creating this unique feature !

Many kernels just disable synchronous writes to file to speed up system. While this works neatly, it is also dangerous as processes believe that file writes are actually sync'ed to disk (or mmc media in our case) while this is not yet true !

The gain is a noticably smoother user experience, but the risk of doing so is to have a corrupted filesystem if the device crashes, user pulls battery, battery fully depleats ... so that the device is turned off unexpectedly.

To allow for the benefit, but to minimize the risk, faux123 created dynamic fsync, which while the screen is on, will defer file sync temporarily, but when screen gets turned off, a flush is called to synchronize all outstanding writes keeping your data safe.

Now it's up to you to either use this unique feature (that has been enabled by default up until v2.2) or choose to stay stock by disabling it, thus writes being done synchronously, which is safer but also slower.

Fading notification LED

To stay with CyanogenMod, they use a mod that replaces the notification LED blinking by a fading. If you don't quite get the difference, fading is shown in this youtube video (move forward to 0:30, it's not on an SGS3, but you'll get the picture).

Since I've been on CM10 for a while, and am back on Sammy ROM in the meantime, I did miss that fancy little mod, so when someone asks to add it, I just did

Only drawback, at least for now, is that stock Sammy apps like SMS, of low battery warning will still blink, they seem to access hardware from userspace there

Boeffla Sound Engine by AndiP

First off, huge thanks to Andi for offering me to incluse his amazing sound engine !!

This engine allows to control the hardware sound processor, as such it's not a software implementation that consumes CPU power and other resources, it "only" chnages the hardware settings that our hardware is capable of and which Samsung didn't allow us to use, why ever...

If you want on the fly control over the Boeffla Sound Engine, please check out the Boeffla Sound App on Play Store !!

It's the easiest way to control it and it's the only truely interactive way, so I'd advise to use it

Nonetheless, these are the options available in Aroma installer for the Boeffla Sound Engine :

Master switch

enabled - pretty selfexplaining, this will activate the Sound Engine

disabled - pretty selfexplaining, too, this will leave the Sound Engine off, so you're on stock Samsung sound

don't set - use this if you intend to use the APP the control the Sound Engine or if you're rather into implementing your own init.d script to set it up

Speaker - Output level

This feature is the same that I previously implemented in my Sound Level Mod, it allows to make the speaker louder, but be careful not to blow the speaker !!

Headphones - Output level

This feature is also the same that I previously implemented in my Sound Level Mod, it allows to make the headphones louder, but be careful not to blow your ears !!

Headphones - Equalizer Mode

sat.prev. - enable hardware equalizer with saturation prevention (will compress sound if the output is too high to prevent distortions)

enabled - enable hardware equalizer without saturation prevention

disabled - keep the hardware equalizer off (stock behaviour)

Headphones - Equalizer Setting

These are a few presets for the hardware equalizer, while standard will keep all bands at 0, you'll just need to test the other presets for yourselves (eargasm, pleasant4ears, bass-extreme, Yankgasm).

Headphones - Privacy Mode

This setting causes the speaker to be completely muted for notification sounds, phone ring signals etc. as long as a headphone is plugged in. This avoids people looking at you when you are wearing headphones and receive a notification, which is by standard played via both speaker and headphones. Now, nobody will notice anymore when you get alerts while wearing headphones.

But that means, the speaker will not work as long as you have your headphones plugged in !!

Headphones - DAC direct

By switching DAC direct to on, you will bypass the output mixer in the signal path and connect the DAC directly to the headphone amplifier.

Expected impact: Better sound quality when using headphones, potentially some minor battery savings.

Headphones - DAC 128bit oversampling

This setting changes the oversampling rate from 64 to 128 bit.

Expected impact: Better sound quality when using headphones, potentially some minor additional battery drain.

Headphones - FLL clock tuning

This setting changes the FLL configuration of the Wolfson WM1811 audio hub.

Expected impact: Better sound quality when using headphones.

Microphone - Sensitivity mode

By this setting you can configure the microphone mode when you want to record videos etc. in very loud and noisy environments. Ever tried it and your audio was completely distorted and over-saturated? By this setting, you can avoid this in future.

Note: Of course this setting is automatically disabled as soon as you use your phone for a call.

concert - highest reduction, for extremely loud environments
noisy - high reduction, for very loud environments
light - medium reduction, for loud environments
stock - no modificaiton in microphone sensitivity

Expected impact: You can record also in very loud environments and audio is not distorted.

Kernel modules

I've made these supports as kernel modules, I see no need to have it in the kernel if you don't need them.
CIFS network filesystem support

This will load the kernel modules for CIFS support at boot time. Apps like CIFS Manager can do that for you, but if you are keen to use CIFS shares from your S3 like I do, preloading them at boot is a good idea.
XBOX 360 gamepad support

This was a user request which was quite easy to implement, but again, I did it as a kernel module as, for instance I don't use it, and I suppose quite a few won't, so only those that really use their Xbox gamepad to play should preload the module on boot.

This only works if you connect the gamepad to your S3 using an USB OTG cable ! It won't work wirelessly.

init.d script support

The hardest to explain

Let me try it this way. Most mods will change settings, and to do this so that those settings stick, they need to do it everytime your device boots.

To do so, there is a folder called init.d, it's actually located in "/system/etc/init.d" and it will hold scripts which will be executed everytime your device boots.

Well and this "will be executed" is the thing we need to focus on here. This can be either handled by the kernel (or rather ramdisk to be more precise, which comes with the kernel), or it can be handled by the ROM (like this is the case in mike's ARHD ROMs).

So depending on the ROM you have, you either need the ramdisk to handle this, or the opposite just don't want it to take care of that, since if both do, the scripts will be executed twice, which may be fine, but may also be a problem...

So you need to know what your ROM does here, and according to what the ROM does, have or not have the ramdisk do it.

So to make this as easy as possible, ask in your ROM thread if the ROM handles init.d.

If the ROM does, then choose no in Aroma.

If the ROM does not, then choose yes in Aroma.

Frequently Asked Questions
Are exFAT formated sd cards supported ? or Now I flashed this kernel my sdcard is not detected anymore ?

So far, no, there's no exFAT support.

exFAT is a Microsoft proprietary format for which we don't have sources. There is a way to force the kernel to load the module, but since 64Gb sdcards can be formated in FAT32 as well (not in Windows, though), I so far didn't see the need to include that hack.

I use int2ext mod and since I flashed this kernel I lost access to my external sdcard ?

You most likely are coming from using a custom kernel, and thus on the int2ext MOD OP you chose one of the two files of the MOD for custom kernels (depending on the fact if you use exFAT or FAT32).

Now since this is a close to stock kernel, those scripts will not work, since they assume finding the external card on the wrong device.

To fix this, you just need to flash the corresponding file of the MOD for stock kernel with init.d support

And as you have just read above, if you use an exFAT formated card, that will not work with this kernel, I'm afraid.

As of Yank555.lu v2.4c, you need to use the version for custom kernels, adding support for Triangle Away has made the devices shift.

Is there a way to remove this kernels configuration scripts when going for another kernel ?

All leftovers are passive, e.g. they won't get executed by any other kernel as I created a file of my own and have an own entry in init.rc to execute it. New kernel = new ramdisk = new init.rc = no execution.

The files are :
/system/etc/init.kernel.sh
/system/etc/init.hardswap.sh (only if you chose hardswap = yes)
/data/kernel-boot.log
/data/kernel-script.log
/data/hardswap.log (only if you chose hardswap = yes)
/data/swap.*.log (only if you chose hardswap = yes)

I've made a flashable kernel cleanup zip that will remove everything in preparation to flash a different kernel, so your system becomes perfectly clean again, as if my kernel never had been there.

Vous êtes encore sous ICS ? Passez à JB :D ou regardez .
 
Tipiak

Tipiak

Pirate !
Moderateur Global
Inscrit
2 Juillet 2012
Messages
21 268
Points
63
  • #2
Merci pour le kernel ;) .
 
Dundee

Dundee

Membre VIP
Inscrit
30 Octobre 2012
Messages
1 218
Points
38
  • #3
Liens XDA supprimés, explications ICI
 
N

nico598862

Membre
Inscrit
16 Novembre 2012
Messages
10 214
Points
0
  • #4
Kernel mis à jour
 
N

nico598862

Membre
Inscrit
16 Novembre 2012
Messages
10 214
Points
0
  • #5
v3.3h disponible
 
N

nico598862

Membre
Inscrit
16 Novembre 2012
Messages
10 214
Points
0
  • #6
v3.3i disponible avec mirror Wuala si besoin
 
P2P_killer

P2P_killer

Membre
Inscrit
21 Mars 2012
Messages
755
Points
0
  • #7
Pour info:
Le kernel est maintenant en 3.3j
 
N

nico598862

Membre
Inscrit
16 Novembre 2012
Messages
10 214
Points
0
  • #8
3.3k même ;)
 
P2P_killer

P2P_killer

Membre
Inscrit
21 Mars 2012
Messages
755
Points
0
  • #9
Oula! ça change vite!
Faut que je le mette à jour
 
P2P_killer

P2P_killer

Membre
Inscrit
21 Mars 2012
Messages
755
Points
0
  • #10
Version 3.4 disponible
 
N

nico598862

Membre
Inscrit
16 Novembre 2012
Messages
10 214
Points
0
  • #11
Merci tuto à jour
 
FAJO

FAJO

Membre VIP
Inscrit
22 Septembre 2011
Messages
7 955
Points
38
  • #12
Bonsoir
Y a rien dans les liens post 1
Bonne nuit
 
N

nico598862

Membre
Inscrit
16 Novembre 2012
Messages
10 214
Points
0
  • #13
Bien sûr que si :)
 
P2P_killer

P2P_killer

Membre
Inscrit
21 Mars 2012
Messages
755
Points
0
  • #14
Version 3.4b disponible, en passant.
PS: je confirme, les liens marchent
 
N

nico598862

Membre
Inscrit
16 Novembre 2012
Messages
10 214
Points
0
  • #15
Merci je m'en occupe ;)
 
FAJO

FAJO

Membre VIP
Inscrit
22 Septembre 2011
Messages
7 955
Points
38
  • #16
Merci je reteste ce soir :smile:
Bon dimanche bonne fête des pères :cool:
 
N

nico598862

Membre
Inscrit
16 Novembre 2012
Messages
10 214
Points
0
  • #17
Merci. Bon fête ;-)
 
P2P_killer

P2P_killer

Membre
Inscrit
21 Mars 2012
Messages
755
Points
0
  • #18
Si quelqu'un est intéressé, une beta pour 4.3 est disponible:
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
wink (je ne l'ai pas encore testé, me trouvant avec la space alien, qui est basée CM)
 
babil

babil

Membre
Inscrit
3 Janvier 2012
Messages
312
Points
16
  • #19
P2P_killer a dit:
Si quelqu'un est intéressé, une beta pour 4.3 est disponible:
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
wink (je ne l'ai pas encore testé, me trouvant avec la space alien, qui est basée CM)
Salut moi je suis intéressé mais ton lien ne marche pas ci tu pourrai au moins me donner la version que c'est du yank....?
mzeci ;)
 
P2P_killer

P2P_killer

Membre
Inscrit
21 Mars 2012
Messages
755
Points
0
  • #20
Le site de Yank a l'air de déconner, donc je ne peux pas vérifier le lien, et de mémoire, c'est une bêta0 quelque chose
EDIT: le lien marche, et c'est la version 4.0beta1
 
A

Angelneo

Membre
Inscrit
10 Décembre 2013
Messages
32
Points
0
  • #21
Pour ma part j'ai mis la 4.0.0a sur une revolution hd v40

du mieux par rapport à la stock, néanmoins j'arrive pas à sortir de veille lors de guardiancross... Il sort de veille si je le branche donc pas de plantage...

Une idée ? j'ai réglé le truc en pegasus mais connaissant pas les réglages...
 
J

Jejey

Membre
Inscrit
4 Mars 2014
Messages
5
Points
0
  • #22
Bonjour,
Ce kernel fonctionne t il avec cm 10.2 ? Merci !
 
Haut Bas