Jump to content

[Kernel] CeXstel v0.62 (Y300/G510) [Stock/CM] [29/03/14]


Guest Ceastel

Recommended Posts

Guest Ceastel

This is kernel for our y300 and g510.

Features:
-3.4.2 kernel version
-New Freq Table - 19Mhz / 65Mhz / 98Mhz / 196Mhz / 320Mhz / 480Mhz / 700Mhz / 1008Mhz / [1046Mhz - y300] / [1209Mhz - g510]
-Underclock
-Dynamic fsync v2
-Increase available ram (depends on version which you choose)
-CPU voltage control VDD sys interface (only for y300)
-Schedulers : fiops / noop / dedline / cfq / sio / sioplus / row / vr / zen / fifo
-Governors : interactive / conservative / userspace / powersave / ondemand / ondemandX / preformance / smartassv2 / smartassH3 / smartmax / badass / asswax / wheatley / dancedance / intellidemand / lulzactive / hyper / lionheart
-TCP congestion control algorithms: westwood / vegas / veno / cubic / reno / bic / htcp / lp / scalable / yeah / llinois / hybla / highspeed
-TCP westwood as default
-Optimized AES and SHA1 routines
-LowMemoryKiller management of not killable processes
-Timer slack controller
-CK3 Tweaks
-Optimized SLUB memory allocator
-Dynamic management of the minimal timer slack value during suspend/resume
-Compile with -O3

-ARM flags optimization
-Linaro 4.6.2
-FRandom
-Swap support
-Lowered swappiness 60->45
-Zram (?)

-usb OTG (only for CM[?])
-Dynamic dirty page writebacks
-Doubled readahead values
-Fast Charge (untested but i think it need some fixes)
-A little bit overclocked gpu [gpu freq steps : 192Mhz / 245Mhz / 320mhz]
-Different compresion type
-Disabled Gentle Fair Sleepers for better UI performance

-and much more ... (look at the changelog)

 

CeXstel v0.62 for CM10:

v0.62 (407MB ram)

v0.61 (407MB ram)

v0.60 (407MB ram)

v0.59 (407MB ram)

v0.58 (407MB ram)

v0.58 (~400MB ram)

v0.58 (393MB ram)

 

CeXstel v0.62 for CM10.1:

v0.62 (407MB ram)

v0.61 (407MB ram)

v0.60 (407MB ram)

v0.59 (407MB ram)

v0.58 (407MB ram)

v0.58 (~400MB ram)

v0.58 (393MB ram)

 

CeXstel v0.62 for Stock:

v0.62 (407MB ram)

v0.61 (407MB ram)

v0.60 (407MB ram)

v0.59 (407MB ram) (reuploaded)

v0.59 (393MB ram)

v0.58 (407MB ram)

v0.58 (~400MB ram)

v0.58 (393MB ram)

 

From v0.58 version the images aren't tested by me.

I only check does it bootable.

 

Older versions:

 

CM10 :

v0.57 (407MB ram)

v0.56 (407MB ram)
v0.55 (407MB ram)
v0.55 (~400MB ram)
v0.55 (393MB ram)
v0.47
CM10.1 :

v0.57 (407MB ram)

v0.56 (407MB ram)
v0.55 (407MB ram)
v0.55 (~400MB ram)
v0.55 (393MB ram)
v0.54
v0.5
v0.47
Stock :

v0.57 (407MB ram)

v0.56 (407MB ram)
v0.55 (407MB ram)
v0.55 (~400MB ram)
v0.55 (393MB ram)
v0.54
v0.5
v0.47
v0.3

Not fully working builds :

All builds here have not working video decoding/encoding with stock video app.

To get working video you can try use vlc player etc. ...

 

CM10.1:

v0.58 (426MB ram)

v0.55 (420MB ram)

 

CM10:

v0.58 (426MB ram)

v0.55 (420MB ram)

 

STOCK:

v0.58 (426MB ram)

v0.55 (420MB ram)

 

 



Changelog

v0.62

-support for usb OTG

-downgrade of kernel from 3.4.4 to 3.4.2

-new scheduler : sioplus

-fix zram(?)

-ARM: add support for bit sliced AES using NEON instructions

-deadline patch

-crypto: create generic version of ablk_helper

 

v0.61

-update of kernel from 3.4.3 to 3.4.4

-block/partitions: optimize memory allocation in check_partition()
-writeback: fix writeback cache thrashing
-cpufreq: Optimize cpufreq_frequency_table_verify()
-xsched: Optimize build_sched_domains() for saving first SD node for a cpu

-deadline optimization

 

v0.60

-update of kernel from 3.4.2 to 3.4.3

-msm:qdsp5:Fix to avoid kernel memory disclosure in audio_mvs_ioctl
-qdsp5: memset stack buffer allocation.
-msm: qdsp5: Update code to avoid access userspace data
-msm:qdsp5: Checks to avoid buffer overflow.

 

v0.59

-msm: audio: initialize the structure before sending to user space
-qdsp5: audio: Add support for adsp dump mechanism
-msm: audio: qdsp5: Initialize wait queue before creating acdb thread

-add NEON accelerated XOR implementation
-ARM: move VFP init to an earlier boot stage

-ARM: Perform the creation of procfs node for VFP later

-timer: optimize apply_slack()

-new cpu grovernor : ondemandX

-some other changes ...

 

v0.58

-add support for kernel mode NEON

-new cpu governor : smartassH3

-new cpu freq for y300 : 1046Mhz

-make VM_MAX_READAHEAD a kernel parameter

-limit default readahead size for small devices

-some other extra changes in readahead

-loopback: set default mtu to 64K

-other minor changes ...

 

v0.57

-update of kernel from 3.4.1 to 3.4.2

-Compile with -O3

-ARM flags optimization

-back to linearo 4.6.2

-deleted CIFS support

-fix backlight buttons on CM

 

v0.56

-new cpu governors : intellidemand, lulzactive, hyper, lionheart

-vibrator intensity sysfs

-deleted some patch from v0.52

v0.55
-fix problem with video (?)
-four variations of kernel
-deleted ARM RWSEM algorithm
-deleted all process from "do not killable list"

v0.54
-lowered minimal cpu freq : 19Mhz
-better support for VPN over IPsec
-new freq step for gpu - 245Mhz

v0.53
-CK3 Tweaks
-optimized ARM RWSEM algorithm
-lowered swappiness 60->45
-fix lags

v0.52 (big update)
-timer slack controller
-dynamic management of the minimal timer slack value during suspend/resume
-extra free kbytes tunable
-optimized SLUB memory allocator
-softirq: reduce latencies
-changes in ramdisk
-lowMemoryKiller management of not killable processes
-change initial readahead window size calculation

v0.5
-optimized AES and SHA1 routines
-tweak vm dirty ratios
-new schedulers : vr / zen / fifo
-fix booting on g510
-deleted 1104Mhz

v0.49
-new cpu governors : badass, asswax, dancedance, wheatley
-fix booting on g510 (?)
-deleted 1305Mhz

v0.48
-tcp congestion control : yeah, llinois, hybla, highspeed
-tcp westwood as default
-new scheduler : row
-underclock for all devices (like g510 etc.)
-add overclock for g510 (1104mhz & 1305mhz) [untested]
-fixed radio fm

v0.47
-some changes in memory mapping [experimental]
-increase available ram from 393mb to 403 mb

v0.46
- dynamic dirty page writebacks
- tcp congestion control : scalable & lp
- some other changes

v0.45
- underclock (min = 65mhz)
- dynamic fsync v2
- doubled readahead values
- tcp congestion control : bic & htcp
- zram

v0.43
-TCP congestion control algorithms: westwood ,vegas ,veno ,cubic, reno
-fixed dancing screen on g510

v0.42
-update of kernel from 3.4 to 3.4.1
-Disabled Gentle Fair Sleepers for better UI performance
-CPU voltage control VDD sys interface

v0.4 (big update)
-CIFS
-Linaro 4.8.2
-FRandom
-new scheduler : fiops
-different compresion type
-small size now only ~4.4mb
-Fast Charge (untested but i think it need some fixes)
-temporarily deleted cpu oc

v0.3
-fixed "milk screen" (thanks dazozzo)
-improved stability
-fixed bluetooth
-fixed some random reboots

v0.25
-a little bit overclocked gpu (from 300mhz to 320mhz)

v0.21
-swap support

v0.2
-smaller screen issuse
-improved stability
-a bit better performance
-only two schedulers (sorry for this I will add more in next version)
-cleanup source

v0.1
-Initial Release



Buglist:

-On 407MB ram version everything should work fine but if you have any problems with video you can try version with ~400Mb or 393MB ram.

-If you have reboots don't use 1046Mhz freq




Special features:



Dynamic FSync
This feature has been developed by Faux123 and allows to dynamically manage the synchronous writes performed on file system (FSync).
It uses asynchronous writes when the screen is on, instead of synchronous writes, to have better performance and a slightly lower battery drain, while when the screen is off the synchronous writes are re-enabled to flush all the outstanding writes and prevent possible data loss.

How to enable/disable the Dynamic FSync (default enabled):
1) By downloading and using Trickster MOD
2) By directly editing the file /sys/kernel/dyn_fsync/Dyn_fsync_active and setting 1 to enable the dynamic fsync, 0 to disable it (note that set value will be lost after a reboot/shutdown)


Dynamic dirty page writebacks
This feature has been developed by me and allows to dynamically manage the dirty page writebacks with two different intervals, one when the screen is on and another when the screen is off.
It is based on a commit of Francisco Franco, but instead of using hard coded values and of disabling at all the dirty page writebacks while the screen is on (possibility of data loss), I preferred to use a customizable higher dirty page writebacks interval (15 seconds) than the default one (5 seconds) while the screen is on and a customizable default interval (5 seconds) when the screen is off.
By using a higher interval we have better performance and less battery consumption, with a very low risk of data loss.

How to customize the dynamic dirty page writebacks feature (default enabled):

Three new procfs parameters are exposed inside /proc/sys/vm path:
- dynamic_dirty_writeback is the activation status of this feature, set 1 to enable it, set 0 to disable it and use the standard behaviour
- dirty_writeback_active_centisecs is the interval for the dirty page writebacks when the system is active (screen on).
- dirty_writeback_suspend_centisecs is the interval for the dirty page writebacks when the system is suspended (screen off).

1) By directly editing one of the file written above inside /proc/sys/vm and setting the preferred value (note that set value will be lost after a reboot/shutdown)


Timer slack controller and dynamic management of the minimal timer slack value
The timer slack controller is a feature developed by Kirill Shutemov and it allows to set the minimal timer slack value for every process contained within a control group (cgroup).
A timer slack allows the kernel to manage processes wakeup requests at some future time.
Thanks to this feature, the kernel can set a specific timer slack for the involved processes, minimizing the number of wakeups and allowing a lower system's power consumption.

Three new cgroup parameters are exposed inside each processes hierarchy contained in /dev/cpuctl path:
- timer_slack.min_slack_ns is the timer slack used when the system is active for the current processes hierarchy
- timer_slack.min_slack_suspend_ns is the timer slack used when the system is suspended for the current processes hierarchy
- timer_slack.effective_slack_suspend_ns is the timer slack currently used

1) By directly editing one of the file written above inside /dev/cpuctl and inside each hierarchy subfolder, by setting the preferred value (note that set value will be lost after a reboot/shutdown)


LowMemoryKiller management of not killable processes
This feature allows to define processes and system processes white-lists filled with the preferred process names and to not be killed by lowmemorykiller, unless it is absolutely necessary.

This feature exposes four new lowmemorykiller parameters:
- donotkill_proc, is the flag to enable / disable this feature for the processes chosen by the user
- donotkill_sysproc, is the flag to enable / disable this feature for the system processes chosen by the user
- donotkill_proc_names, is the list of process names (comma separated) chosen by the user to be preserved from killing
- donotkill_sysproc_names, is the list of user system process names (comma separated) chosen by the user to be preserved from killing

When the lowmemorykiller needs to free ram, it will first kill the processes not included inside the two process name lists chosen by the user.
If there are no more standard killable processes, then it will be necessary to kill one of the processes included inside one of the two white-lists, to prevent system hangs, slowdowns, etc

How to customize the white lists of processes to preserve from killing:

1) By directly editing the files inside /sys/module/lowmemorykiller/parameters (note that set values will be lost after a reboot/shutdown)
2) By using a customized init.d script (the custom value will be always restored after a reboot, if you don't format the system partition)

Frandom - Fast Random Generator
As Eli Billauer (the creator of this module) said, Frandom is a Linux kernel random number generator, which is 10-50 times faster than what you get from Linux built-in /dev/urandom. And it uses very little (/dev/frandom) or none (/dev/erandom) of the kernel's entropy pool, so it is very useful for applications that require a handy source for lots of random data.

(source - xda forum)
Thank to Christopher83 for description



Sources : https://github.com/Ceastel/CeXstel-kernel-msm8x25

Thanks :
Kra1o5
Christopher83

IbizaHerrero
Dazozzo
ZolaIII

Edited by Ceastel
Link to comment
Share on other sites

Thanks a lot, good work, I guess it's better to put milky screen and battery drain problem in higher periority, cuz we all suffer a lot from these two bugs in cm ports

Link to comment
Share on other sites

Guest Ceastel

@bgmenot111

Otg doesn't work .

It's optimized for y300 but should work on g510 (without some stuff)

@gooklet

I don't tested battery drain.

Edited by Ceastel
Link to comment
Share on other sites

Guest Ducsidu

I was hoping for a custom kernel with OC for the Y300, and someone finally made it. Thanks! I subscribed to the topic and I'm waiting for a more stable release without the screen bug!

Link to comment
Share on other sites

Guest SaurabhRCk

Just One question! Is the CM 10.1 build has the camera issue! Please post a bug list in the main post! It will help all to track the progress.

Link to comment
Share on other sites

Guest Ceastel

I added Stock kernel version (i don't have more time today so it's untested)

 

@up

I'm going to add changelog ,bug list, etc. in next few days .

Edited by Ceastel
Link to comment
Share on other sites

Guest SammichPG

Installed on my y300 with cm10, not sure if it's placebo but facebook seems to open a little bit faster (whatsapp as well).

How high do you think the soc can go?

Link to comment
Share on other sites

Guest Romagnolo1973

how install the kernel? Because for my old Sony I need a tool installed on my pc to put kernel on my smartphone.

Here is simply via recovery?

Link to comment
Share on other sites

Guest Hassams

how install the kernel? Because for my old Sony I need a tool installed on my pc to put kernel on my smartphone.

Here is simply via recovery?

Yes simply flash this kernel via custom recovery no need for any flash tool

Edited by Hassams
Link to comment
Share on other sites

Guest Ceastel

@SammichPG

I think this soc can go on about 1.4ghz .

 

@romagnolo

You can flash it via TWRP recovery.

Edited by Ceastel
Link to comment
Share on other sites

Guest boerge

how install the kernel? Because for my old Sony I need a tool installed on my pc to put kernel on my smartphone.

Here is simply via recovery?

Of course. Install the kernel via TWRP

Link to comment
Share on other sites

i'm on stock rom.. just flashing this CeXstel v0.11 for Stock kernel.. feels like my screen getting milky.. errr... :unsure: not sure.. 

also hang/restart when i tried antutu test..

Edited by RXZ
Link to comment
Share on other sites

Guest Ducsidu

i'm on stock rom.. just flashing this CeXstel v0.11 for Stock kernel.. feels like my screen getting milky.. errr... :unsure: not sure.. 

also hang/restart when i tried antutu test..

The milky screen is a known error on every custom kernel

Link to comment
Share on other sites

Guest CrimsonCrap

Tried benchmark on stock ROM with this kernel installed and noticed about 300+ something increase in points in the benchmark results.I used to get about 6400 or 6500 points approximately with antutu benchmarks and this time I got almost 6950.I forgot to take screenshots but I will run benchmarks again and post results with pictures in a few hours. P.S other than the slight "milky screen" effect I have noticed no bugs(I have been on this kernel for almost half a day).battery life seems decent as well.

Edited by CrimsonCrap
Link to comment
Share on other sites

Guest Corn Flake

It works great with fusion x. I don't see any issue with screen.

 

@CrimsonCrap: Are you using newest antutu app? Because on newest app our device on stock with 1GHz have ~7000 points. With 1.2GHz I have ~7500.

Link to comment
Share on other sites

Guest CrimsonCrap
It works great with fusion x. I don't see any issue with screen. @CrimsonCrap: Are you using newest antutu app? Because on newest app our device on stock with 1GHz have ~7000 points. With 1.2GHz I have ~7500.
No I was using the one with the older interface. thanks for telling me though I will run benchmarks with the new version :) Edited by CrimsonCrap
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.