Sei in
Home > Android > Guide > Siyah Kernel, vediamo le FAQ.

Siyah Kernel, vediamo le FAQ.

Essendo un Kernel praticamente perfetto lo sviluppatore ha deciso di creare anche una serie di FAQ. Questo perchè come accennato nel post ufficiale, è completamente da settare e quindi non è facile anche per i più esperti. Le FAQ sono tutte in lingua originale e sono prese dal post ufficiale su XDA. Ovviamente se avete bisogno di traduzioni o approfondimenti chiedete pure nei commenti!

FAQ di base:

Q: I am having some random lockups with some apps
A: try removing root by using ExTweaks app and reinstall it.

Q: Where can I find ExTweaks? What is it?
A: It is an app coded by Xan which implements a configuration interface that we have designed. It lets you configure some kernel specific settings easily. It doesn’t replace voltagecontrol or setcpu apps. you can still use them. ExTweaks is for kernel-specific parameters, some hotplug thresholds and additional tweaks, and the best thing about it is that you won’t have to update it. the required interface is embedded into the kernel and it will introduce you a dynamic interface depending on the kernel you are using. of course, the kernel developer should support it. ExTweaks is completely free and ad-free. You can download it from Google Play:…

Q: Does this kernel work on XXXXXX-ROM?
A: If the ROM is based on Samsung Stock ICS Rom, it should. Otherwise, search the thread… If you cannot find any reference to that ROM, try the kernel. You won’t lose anything by trying this kernel. Worst case scenario is to reflash your previous kernel or ROM.

Q: Where is CM9, MIUI or Samsung ROM versions?
A: There is only one version. All ROMs are supported with a single kernel image.

Q: What is the best settings?
A: It is the one that you try by yourself.

Q: I removed the phone from the charger and the battery level is below 100%. Is it kernel related?
A: No. It is a safeguard mechanism to prevent overcharging. It is also present in stock kernels.

Q: How can I reset ExTweaks settings if any one of them prevents the phone to boot?
A: Download this CWM flashable file and flash it in recovery:…

Q: What is the difference between ExTweaks and STweaks
A: they implement the same interface (/res/ ExTweaks is developed by Xan, STweaks is developed by gokhanmoral. the interface is developed by both of them. SiyahKernel for S3 will include STweaks in the kernel image and will support some additional kernel-related features. S2 kernel will continue to support advanced features of ExTweaks but for S3 there will be practically no difference between them.

FAQ Avanzate:

1. “How the heck do i flash the kernel.tar within device. I see a boot.img and recovery.img in the tar and not zimage like before?? I don’t wanna increase flash counter by using odin from PC!”

A. Use mobile odin. (Paid on market, free on xda).
Open the app, Click on “kernel”, select the kernel.tar. Click on “recovery”, select the same kernel.tar.
Scroll down, select “flash firmware”. Reboot.
If you find only kernel.img in the tar, select only kernel in mobile odin and “flash firmware”. (If size is less than 8 MB, there is only kernel inside the tar. Don’t bother about opening the .tar)

2. “Why two mountable image files in tar?”
A. GS3 has separate kernel and recovery partition.
Kernel partition : /dev/block/mmcblk0p5
Recovery Partition: /dev/block/mmcblk0p6
Both partitions has a max size limit of 8 MB each.

3. “Does that mean i can flash only kernel/only recovery if i don’t need the other?”
A. Yes. However, if recovery was modified to support a new feature in kernel, you may want to flash both.

4. “If i flash tar from Odin on PC, both kernel and recovery is flashed and i can’t choose to flash only one?”
A. Yes, both are flashed.

5. “How to flash only kernel/only recovery with cwm flashable zip?”
A. If you know what you’re doing, open updater-script in the zip and comment out the line that starts with write_raw_image for the one you don’t need – kernel or recovery.

6. “Should i wipe cache and dalvik before flashing kernel?”

7. “Best governor, best i/o scheduler for this kernel?”
A. Define best governor and best i/o scheduler!
Pegasusq is good enough to be responsive, battery friendly and quad core friendly if tweaked properly. Use any i/o scheduler. Sio/deadline are good.

8. “Why is Idle+Lpa default on STweaks/ExTweaks and recommended settings. In Siyah kernel for GS2, Aftr+Lpa was recommended!”
A. Aftr ofcourse saves more power than Idle if you consider what each of those low power state modes do. But with quad core architecture and pegasusq/some other hotplugging logic, the last three cores will not turn off as soon as screen is off. Aftr requires that all cores except first (cpu0) be turned off – to kick in. So we’re better off with Idle+Lpa.
However if you’re using forced single core mode always (which is non sense in this powerful device), you can go for Aftr+Lpa.

9. “How do i overclock/underclock/undervolt GPU?”
A. Either use STweaks/ExTweaks app or use a script
#Frequency steps
echo “160 200 267 400” > /sys/class/misc/gpu_clock_control/gpu_control

echo “900000 950000 1000000 1050000” > /sys/class/misc/gpu_voltage_control/gpu_control

10. “My device is not stable at 1.8 Ghz. But i still wanna overclock the device to possible maximum and show off to friends”
A. Try setting last frequency as 1750 mhz. (Modify 1.8 to 1.75 ghz with 1.7 ghz still in place)
Use kmemhelper interface. Put this line in your initd script.

kmemhelper -n exynos4x12_apll_pms_table -t int -o 0 14353152

11. “I OCed to 1.7/1.8 Ghz. My device is able to handle it. But i can’t get high benchmark scores. Why?”
A. Your CPU is getting throttled during benchmark during benchmarking because of heating. This is a thermal safeguard measure. It might be getting throttled to 800 mhz or so.
Forget benchmarks, treat the overall responsiveness in daily usage as the criteria to determine if the device is fast enough for you or not.

12. “Any rule of thumb to increase life span of the battery? And I see percentage drops to 99 immediately after a charge till 100%”
A. Do not recharge to 100% often and even if you do, don’t keep it plugged in 100% for long time. Best is to charge till 98%. And make sure charge does not drop below 10% while on normal use.
Charge dropping to 99% swiftly is a protection mechanism, not a fault with your battery or kernel or rom.

13. “I adjust the voltage by some mV in STweaks/Extweaks. I checked SetCpu and voltage has not changed!”
A. Voltage settings in STweaks/ExTweaks follow VDD interface. They’re applied ONLY during boot time. Why? The code is to reduce X mV specified by you in STweaks/ExTweaks, for all voltages. If the settings is applied real time, it will cause reduction of voltage every time and instabilities.

14. “If I have no root, and flash this kernel using desktop odin will i get root?”
A. YES. However, if you don’t see a CWM recovery, download and flash a recovery from Chainfire thread.

15. “Does the kernel backup EFS partition automatically?”

16. “Is there NTFS support?”
A. YES. Mounted to mnt/ntfs in Read only mode. Unmount and remount in Read Write mode if you need to.

17. “What voltage step does GS3 support while UV/OV?”
A. Regulator supports increments of +/-12.5 mV (Those who had GS2 will remember it’s regulator supported +/- 25mV)

18. “Why is resetting STweaks/ExTweaks profile recommended sometimes after a kernel flash?”
A. Your profiles are stored under /data/.siyah with “.profile” extension. “.active.profile” file under the same directory stores the name of your active profile. Contents in profiles are in the format parameter = <default_value>
There could be changes in Stweaks/ExTweaks interface for a new build:-
i) Some new tunables were added
ii) Some tunables were removed
iii) Transposition of some tunables
iv) Default value of some tunable was changed.
When such a change occurs, your profiles should know it too so that it can contain all the parameters. That’s why you have to reset profiles after a new kernel flash if it changes something in STweaks/ExTweaks.
Resetting simply copies .profile files from /res/customconfig to /data/.siyah . You can do it manually using a file manager to avoid a reboot to recovery and back to rom. Kernel already detects STweaks/ExTweaks changes to reset profile automatically on first boot after flashing.

19. “How to insert a module that’s available in /system/lib/modules?”
A. Safe to be root. In terminal or adb
insmod /lib/modules/<module_name.ko>

20. “How to know which modules are pre-loaded by kernel?”
A. Terminal or adb:

21. “I don’t see an init.d folder in my rom. I wanna create some initd scripts. What to do?”
A. Using a root explorer create init.d directory under /system/etc. Set perm 777.

22. “After flashing a new kernel i see there are some stuffs missing from STweaks/ExTweaks”
A. Either the support for those missing tunables were removed or just the STweaks/ExTweaks interface was removed. The parameters might still be accessible through scripts. Check the file path to make sure.

23. “Does notification LED cause wakelock and lot of drain?”
A. Hm Yes and No. CPU has to wake to help turn on notif led and to turn off when it’s timeout. When LED is blinking, no wakelocks are held. Notif led is controlled by a diff h/w and not directly by CPU.

24. “How do I know if my modified charge current settings (using STweaks/ExTweaks) are effective?”
A. Use CurrentWidget from playstore. Monitor the reading while charging.

25. “What happens if my smooth scaling frequency is greater than my scaling max frequency?”
A. Smooth scaling will be inactive/disabled.

26. “Can I flash this kernel on a non-international variant – At&T/Korean/Japanese…?”
A. NO. Don’t risk 800 dollars. Dev might release different variants for these devices later.

27. “I tried setting a negative value for a symbol using kmemhelper interface. I see the value is not applied properly. What could be wrong”
A. The negative value might be detected my kmemhelper as an argument. To prevent that, use two minus signs (–) before the negative value.
Ex: “kmemhelper t int -n touch_boost_level — -1” (This resets touch boost frequency to default).

28. “I wanna disable all the audio enhancement stuffs. How?”
A. In your script
echo 0 > /sys/class/misc/scoobydoo_sound_control/enable

29. “Least voltage for a CPU frequency I can undervolt to?”
A. 600 mV. Maximum = 1500 mV

30. “Does sound enhancements in stweaks applies to bluetooth headsets?”
A. NO. Only for wired headphones.

31. “Do we have temperature sensor in our CPU?”

32. “I have this habbit of unknowingly pressing home button multiple times and that result in inverting colors on my screen.”
A. Disable “mDNIe negative toggle under Screen tab in STweaks.

33. “I sometimes get unexpected reboots. What could be wrong?”
A. Number of reasons.
– Problem from ROM side – wrong dpi setting for an app, wrong build.prop tweaks, etc.
– Too much UV on CPU/GPU
– Too much CPU OC/GPU OC
– CPU/Battery heated up too much because of weather/benchmarking/faulty charger, etc

34. “I want to help dev debug an issue providing a kmsg. How to?”
A. After the problem (random reboot/freeze/lockup), do not pull out battery to recover. Just long press power button so that device can reboot. Then connect device to PC, (provided you have setup adb), type
adb pull /proc/last_kmsg
Save the file as .txt and post in the thread along with description of the problem and possible way to reproduce it.
If you can’t use adb from pc, just copy last_kmsg file from /proc directory to internal sd, copy it to your PC and post in the thread.

35. “I’m not able to copy Person X’s undervolting settings. Why? Sometimes, across different builds of Siyah, my UV settings are stable in one version and not in another. Why?”
A. One or more of the following
– Every device is different – diff grades of CPU
– CPU drivers might change across different builds
– Power requirements may differ depending on the temperature, altitude or the defaults.

Q. “What’s STweaks?”
A. It’s an app developed by GM to provide a simple interface for various kernel tweaks.
STweaks works using /res/ interface. (Universal Configurator Interface). Ideally when you run /res/ config you get an xml file. The app render that XML file to an UI. (The xml is customconfig.xml in /res/customconfig directory)

Q. “Difference between STweaks and ExTweaks?
A. Almost none with the functionality. Both the app uses interface. Xan developed ExTweaks. GM developed STweaks. App specific requests – like profile saving, per tab reset, etc can be better served on STweaks since Gokhan is free to modify his own app.

Q. “Where are profile files (default, performance etc) stored in my device?”
A. /data/.siyah with extension “.profile”
Contents are in the format <tunable> = <value>

Q. “How come STweaks takes a little long to load every time? Other CPU tuner apps like SetCPU opens faster!”
A. Stweaks needs to query the values of ALL tunables from the active profile file, then set the UI elements (sliders, checkboxes, dropdowns, etc) to match the values queried. Only after these it can expose itself for you. So yeah! Some time is needed.

Q. “So every tunable possible with SiyahKernel is included in STweaks?”
A. NO. That would make the app complicated and while some users like to have lotttsa tweaks in the app, some users prefer the opposite. So to be fair, STweaks will not be cluttered with way too many options.
For users who know what they’re doing, there are scripts, and kmemhelper.

Q. “After flashing a new version of Siyah, I can’t see STweaks in my app drawer. Help!!”
A. Using a Root File Explorer, copy STweaks.apk from /res directory to /system/app. Set permissions rw- r– r–

Q. “I find that after flashing a new kernel version, while adjusting some tunables there’s no effect.”
A. In the app, under EXTRAS Tab, hit “Reset settings to default”. Now reconfigure all your settings. Should be fine in most cases.

Q. “Sometimes, after flashing a new kernel build, i see all my settings are reset to kernel defaults. Is it normal?”
A. YES. It’s just so that profile files contains all the tunables matching config XML in the latest build. If resetting is not done, some settings will not work.

Q. “Does that mean – every time I flash a new kernel build, I need to reset settings?”

Q. “What should I change in STweaks to have best battery/best performance?”
A. Read below to know what each tunables do. If you still don’t get it, don’t change anything. Trust defaults. All will be good.

1) CPU Tab

This is a CFS tweak. CFS aka Completely Fair Scheduler is your default Task Scheduler. Task Scheduler is responsible to manage task executions – decides what task to execute next from a queue. CFS scheduler tries to fairly distribute the CPU time among all tasks in such a way that each of them gets the same amount of the virtual run-time. CFS maintains two arrays – active and expired. Tasks once served from active array are placed in expired array. When there are no more tasks in active array, the two arrays are swapped. Sleeper Fairness means to consider sleeping tasks similar to the ones on the runqueue and credit the sleepers in a way that it would get CPU as if it were running. With Gentle_Fair_Sleepers enabled, sleeping tasks will get a little bonus time w.r.t to their virtual run time. While this may seem fair in some cases, disabling this tweak may possibly improve UI responsiveness:- may be because sleeping tasks are not given additional priority and the task that’s responsible for UI do not sleep while screen is ON.

Another scheduler tweak. Helps in using specific ARM topology functions instead of generic functions. Benefits may include idle higher number of threads in a core, etc.

CFS Tweaks:-
Three options which sets different value for your task scheduler’s a) Minimum Granularity b) Latency c) Wake-up Granularity
A new “epoch” or a new time origin begins when scheduler swaps active and expired array.
Latency is the length of an epoch in nano seconds.
Minimum Granularity is the granularity of one epoch.
Wake Up Granularity is the ability of tasks being waken up to preempt the current task (5 ms by default). The larger the value the more difficult it is for the task to force the preemption.

– Samsung Defaults:- Leave it as Samsung defaults if you want higher benches.
-Linux Kernel Defaults:- My fav.
-Thunderbolt Scripts Defaults:- Pikachu’s tweaks are aggressive low values for parameters. May improve UI responsiveness.

CPU Idle Modes:-
Leave it as Idle+Lpa. AFTR seems to be a difficult world to conquer for i9300.

Smooth Scaling Level:-
Leave it as 1800mhz (which disables smooth scaling) if your governor has the parameter “freq_step” (ex: Pegasusq). Otherwise, the two concepts may conflict. Use smooth scaling for other supported governors. CPU driver scales CPU to frequency as defined by Smooth Scaling Level before jumping to Max Frequency.

Max CPU Lock:-
Defines no of cores to be used along with Pegasusq governor. Leave it quad core. You have beast of a phone.

Leave it disabled = 0.

CPU Undervolting:-
[Courtesy Andreilux for the info] 32 nm Exynos 4412 on our device decreases the need for higher voltages for transistors to switch and decreases voltage leakage. So they actually successfully switch more of the time compared to SiON on Galaxy S2 i9100 where leakage was big enough to not make a transistor switch and crash the system. In short, this is why GS3 supports higher UV compared to GS2. You might be lucky enough to UV more than 200mv on certain frequencies. Try on own risk.

CPU Governor:-
Use Pegasusq.

Scaling Max Frequency:-
Sensible OC for our device is 1.5 Ghz. You can try more and see what happens.

Scaling Minimum Frequency:-
Use 200 or 100.

2) GPU Tab

Mali Touch Boost Level:-
If this option is enabled to any steps, when you touch on the screen/press soft back or menu keys/press homebutton – GPU voltage is set to the GPU step that match the step set by you here and frequency is set to that step. This may helps in better responsiveness of unlocking via lockscreen, etc. Note that, this doesn’t mean GPU is locked to that forever. After one second, depending on thresholds and stepcounts, soon GPU is clocked down or up.
If Mali Touch Boost Level is disabled, GPU resumes at lowest frequency (your first step).

GPU Frequency Steps:-
Now we have frequency steps taken from Korean sources, as hard coded in clock-exynos4212 file. You won’t find a formula to calculate valid frequency steps. (Unlike i9100 for which any GPU step was 800 divided by an integer)

GPU Voltage Levels:-
You may be able to UV a little more compared to GS2 if your ex device was GS2. Try and see. (Thanks to 32 NM SoC). Remember that you will know UV was too much only while GPU is being heavily used – like gaming.

GPU Thresholds:-
If you’re not sure about this, use default thresholds. Wrong thresholds can cause lags.

GPU Stay Counts:-
Stay count is the number of Seconds GPU should stay at a frequency level before it can scale up or down, overriding “load exceeds threshold condition”. To avoid any possible stutters in gaming, use staycount = 1 second for the last step. May be for 4th step too, just to be sure.
If you don’t find StayCount interface in the app, use script.
echo “0 0 0 0 1” > /sys/class/misc/gpu_clock_control/gpu_staycount
From left to right, each digit represents StayCount for lowest to highest GPU frequency steps.

3) AUDIO Tab

Speaker Tuning:-
Check to enable better bass response on speakers. Note that GS3 speakers don’t play well with bass (even with open source audio HAL developed by codeworkx for CM10. So if you find sound distorting on speakers, uncheck this option instead of trying to play with some equalizer.

Speaker Amplification Offset:-
Default zero. Increase to amplify speaker volume. At level 5 or 6, speaker is most likely to distort playing ringtones/sounds.

Headphone Amplifier:-
Volume boost for your headphones. Level 0 = -57 dB. Level 63 = +6 dB which is the hardware maximum. Please take care of your hearing.

3D Effect:-
Stereo expansion may tighten the stereo field. In general, there are multiple techniques to achieve surround effect/3d effect/stereo expansion effect.

3D Effect Gain:-
Valid only if 3d effect is enabled. Higher value may not sound pleasant to most ears. 2-4 should do.

EQ Presets:-
Use inbuilt presets or use graphical equalizer bands to tune the 5 band equalizer.

Graphical Equalizer:-
The five band equalizer(with a range of -12dB to +12dB) is a hardware equalizer. So it controls all the sound coming from your headphones. Software equalizers such as inbuilt EQ of powerampp can only control the sound output ‘formatted’ by this 5 band h/w EQ. As you know, the first two bands – Lows/Bass. Middle one – Mids/Vocal and last two bands for – Highs/Treble.

Negative Digital Gain:-
Or dynamic range. Increase this to prevent distortion. It defines how much volume is to be digitally reduced from headphone amplification level.

FLL Tuning:-
Aka Anti Jitter is an audio enhancement technique as an internal clock optimization to reduce noise and produce a better quality sound.

DAC Oversampling:-
Increases dac oversample rate for a 48 khz rate and produce better outpund sound.

DAC Direct:-
Aka DAC ME, Bypass analog channels and redirect sound directly to output.

Mono Downmix:-
Force mono sound even if source is stereo.


In simplest form, set this higher to have lower brightness at bright conditions on automatic-brightness settings. And vice-verse.
We have lowest brightness for a brightness level read from sensor less than min_bl. Any level higher than min_bl will be linearly mapped to min_gamma:max_gamma to interpret brightness of the display. Difference between min_gamma and max_gamma along with their values affect overall brightness response curve.

mDNIe Negative Toggle:-
If this is enabled, quickly pressing home key four times will invert all the colors on your scree. Useful for ex: Reading a webpage in the dark which has white background by default. By inverting colors to make it black, your eyes will strain lesser.

Touch Boost Level:-
Defines the frequency to which CPU is instantly ramped up to when we touch the screen. Advantage? UI responsiveness. Setting this too low might be a v bad idea on some devices.


Android Logger:-
Enable disable android logger. It hardly uses any extra battery, and will be very useful if you want to pull a log after a crash or freeze. Leave it enabled.

Insecure Adbd:-
Enables to run your Android Debugging Bridge Daemon (adbd) in root mode by default. You can use “adb remount” command in a terminal to mount /system as r/w.

I/O Scheduler:-
Use any among deadline/sio/noop.

Zram Size:-
Compressed swap space aka compcache aka zram allocates defined amount of space from your physical RAM as compressed swap space. You can debate all along to see if zram is useful on a fast device like GS3 with a fast flash storage inside. If in doubt, disable this option.

Notification LED Behavior:-
Force blinking/fading of notification LEDs. Useful for Sammy based roms. (aosp roms has blinking/fading setting inbuilt).

AC Charge:-
Charge current from your wall charger. Increase the value for faster charging at own risk.

USB Charge:-
Charge from usb charger. Increase at the risk of possible damage to PC motherboard (if it’s an old board)

Exclusive Wakelock Status:-
Helps betterbatterystats app to report deleted and non-overlapping wakelocks. You may see new wakelocks like your mailclient-inbox-sync, etc if this option is enabled.

Remove Root:-
Some apps detect root and refuse to work if found (certain banking apps for example). To remove root, click this button, run your app and re-enable root when you’re done.

Auto Install Root:-
Tries to install superuser apk and binary. If it fails, download latest superuser flashable zip from here and flash in recovery OR download SuperSU from playstore.


Reset Settings to Default:-
Reset the profile file, and resets all values in device files to kernel defaults.

Check for Updates:-
Checks and downloads a new build.

Flash Kernel:-
Flash a .tar kernel. Alternative to Mobile Odin!

Siyah Kernel, vediamo le FAQ., 5.0 out of 5 based on 1 rating

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.