Jump to content

Recommended Posts

Posted (edited)

Huawei Y300/G510 "Stock" Kernel

 
 
Target Device: Y300/G510 (with stock based roms)
 
Download:  -STABLE-  ||  -NIGHTLYS-
 
Special thx to: ZolaIII for being a big help during development wink.png
 
 
Repacks for CM10/CM10.1/CM11 (by fonz93 ): [Y300/G510] Synopsis Kernel For all Cyangenmod versions
 
 
 
Feature Overview: https://github.com/moddingg33k/android_kernel_huawai_Y300-J1/wiki/README.kernel
  • Kernel version: 3.4.0
  • ZRAM
  • USKM (http://kerneldedup.org/en/projects/uksm/introduction/)
  • Scheduler: ROW / deadline / CFQ / noop / SIO / FIOPS
  • TCP  congestion avoidance algorithms: Cubic / Reno / Westwood+
  • Fast Random (by Eli Bauer)
  • DEcreased charging voltage (4350mV -> 4300mV) & INcreased battery polling delay (5s -> 60s)
  • New kernel driver
    • UHID
  • Updated kernel driver
    • FM Radio
    • QDSP Multimedia
  • enabled kernel support for OTG (not supported on JB)
  • various kernel code fixes / patches
This is an slighty improved version of Hauwei's stock kernel, with some minor updates and a few added features, based on official Huawei Y300 J1 sources. It's targeted towards ppl who aren't happy with their current kernel. For installation you have to flash the downloaded ZIP file in recovery-mode.
 
You can anytime create your own kernel, based uppon those sources and add additional features you prefer. Gimme some credits for the work i've done so far wink.png
 
Latest NIGHTLY build (17.08.2014): http://www.modaco.com/topic/372447-kernel-y300g510-stock-huawei/page-51#entry2223523


 TODO:
  • (post your suggestions for further improvements/features)

GIT: https://github.com/moddingg33k/

Edited by Guest
Guest Domino2115
Posted

Good luck dude. Im looking forward :)

Guest SH3H1
Posted (edited)

Welcome back you big guy !

And you where a Mr.Mysterious -_-

Looking forward to this :D

Edit: Only thing i found is have to set double % in zram for what we need !

Edited by MasterRck
Guest Romagnolo1973
Posted (edited)

testing this kernel with Fusion Reborn V.2 Beta

When playing music (Apollo + Viper4Android) if set Interactive - Sio CPU stay at 1Ghz, set Ondemand - Fiops it stay at 196mhz as usual

Hope this can help, I'm continue testing music with some different scheduler combination so if i found others strange issue I will report soon

 

Update: it seem others schedulers have some problem in this use as mp3 player: userspace stay at max cpu, conservative is not so conservative (it stay between 320 and 1ghz), powersave is impossible ear music is set at 98mhz, so the only choice is set Ondemand or Powersave but in this case with min cpu set to 196mhz

Edited by Romagnolo1973
Guest fonz93
Posted (edited)

@moddingg33k

 

Hi, what this code does?

 

mkfs.ext4 /dev/block/zram1

mount /dev/block/zram1 /tmp

Edited by fonz93
Guest Syssx420
Posted

@moddingg33k

 

Hi, what this code does?

 

mkfs.ext4 /dev/block/zram1

mount /dev/block/zram1 /tmp

mkfs.ext4- formats /zram1 to EXT4

mount - mounts /zram1 partition as /tmp

Guest fonz93
Posted

mkfs.ext4- formats /zram1 to EXT4

mount - mounts /zram1 partition as /tmp

 

Thanks, what is needed for? i made a script without these lines and it works anyway

Guest ZolaIII
Posted (edited)

testing this kernel with Fusion Reborn V.2 Beta

When playing music (Apollo + Viper4Android) if set Interactive - Sio CPU stay at 1Ghz, set Ondemand - Fiops it stay at 196mhz as usual

Hope this can help, I'm continue testing music with some different scheduler combination so if i found others strange issue I will report soon

Update: it seem others schedulers have some problem in this use as mp3 player: userspace stay at max cpu, conservative is not so conservative (it stay between 320 and 1ghz), powersave is impossible ear music is set at 98mhz, so the only choice is set Ondemand or Powersave but in this case with min cpu set to 196mhz

Did you ever even considered to reed system requirements for Viper4Android FX?

It says min dual CPU 1 GHz for high quality driver!

As It is Viper don't process truth DSP bat uses CPU VFP & NEON.

Edited by ZolaIII
Guest Syssx420
Posted

Thanks, what is needed for? i made a script without these lines and it works anyway

 

I think it's there just to make sure that zram partition is empty and or created before running zram.

Did you ever even considered to reed system requirements for Viper4Android FX?

It says min dual CPU 1 GHz for high quality driver!

As It is Viper don't prices truth DSP bat uses CPU VFP & NEON.

Driver installed in that ROM is for normal audio quality.

Guest luca020400
Posted (edited)

mkfs.ext4- formats /zram1 to EXT4

mount - mounts /zram1 partition as /tmp

This step is useless if you before use the another code mkswap /deve/block/zram0 && swapon /deve/block/zram0

Edited by luca020400
Guest ZolaIII
Posted (edited)

@ moddingg I think its time to try the BFS!

Other schedulers didn't yield charming results!

SIO works nice in synthetic benchmarks bat yield lockups in games (Dead Trigger 2).

Deadline is OK bat not as good as cfq & everting else is not wort mentioning.

Cache cleanup merge is working wonderfully!

Other think to try to keep thing's as simple as possible is to add ZOL merges.

Stick to non device specific for now!

Best regards!

Edited by ZolaIII
Guest ZolaIII
Posted (edited)

@syssx

Only the lo quality driver is for single CPU & even that whose recent work on optimizing it.

For me Viper with highest quality driver & stock music app scale between max (2 cores) & 320 MHz staying most of the time on max first core with really aggressive ondemand (78 up threshold) & cfq.

Edited by ZolaIII
Posted

@moddingg33k

 

Hi, what this code does?

 

mkfs.ext4 /dev/block/zram1

mount /dev/block/zram1 /tmp

 

Thanks, what is needed for? i made a script without these lines and it works anyway

 

Don't get confused about those 2 lines. It's just another usage example of ZRAM. The mean usage of ZRAM is using it as a swap drive which persists in RAM.

 

However, you could "misuse" ZRAM as some kind of "compressed RAMDISK" by initializing it with those 2 quoted commands. But that wouldn't make much sense with our sparely 400MB of RAM only.

Guest luca020400
Posted

These are two examples with the same result

Posted

@ moddingg I think its time to try the BFS!

[...]

Best regards!

 

...will be part of the synopsis kernel project ;)

 

I'm going to leave huawei's stock kernel as default as possible.

 

Currently i'm trying to find the best way to merge current CodeAurora's MSM3.4 sources with huawei's. Once I succeeded in it, i'll start to work on synopsis.

Posted (edited)

When playing music (Apollo + Viper4Android) if set Interactive - Sio CPU stay at 1Ghz, set Ondemand - Fiops it stay at 196mhz as usual

 

Check your CPU usage via terminal by using the command "top -m 10 -n 10" please and upload the output on http://pastebin.com if possible.

 

As alternative you can try out this APP: https://play.google.com/store/apps/details?id=com.zomut.watchdoglite and upload an screenshot of the output while playing music in the background.

 

[...] userspace stay at max cpu [...]

 

Userspace isn't a real cpufreq-driver. It's used to get controlled by "userspace", like it's name already says. That means it will always stay at the target frequency set (either by the user or by any APP for ex.). It doesn't automatically scale through frequencies.

 

[...] conservative is not so conservative (it stay between 320 and 1ghz) [...]

 

That highly depends on it's configuration wink.png. If you want it to behave less aggressively you need to increase "up_threshold" (ex.: 85-90) and optionally also "sampling_rate" (ex.: 30000-40000).

 

[...] powersave is impossible ear music is set at 98mhz [...]

 

Powersave always stays at the lowest frequency available and doesn't scale up towards higher frequencies.

Edited by Guest
Posted

These are two examples with the same result

 

Sorry, but I don't agree.

 

With the 1st and default usage example ( mkswap /dev/block/zram0 ), you create a special linux "swap" partition, which cannot be used for anything else than swapping.

 

The 2nd command ( mkfs.ext4 /dev/block/zram0 ) will initialize an ext4 filesystem on the ZRAM block drive, which allows to store any file just like on any other regular ext4 partition.

Guest Romagnolo1973
Posted (edited)

terminal give me an error:

top -m 10 - n10 seems invalid,

terminal accept this : top -m 10 -  n 10

right?

Give some minute and I will post the lines

 

Ok I get the sem experiment with Interactive-Sio and Apollo+Viper4Android

This is the pastebin

http://pastebin.com/ReZ2zpNL

Edited by Romagnolo1973
Posted (edited)

I've just re-compiled the kernel with my own custom build linaro toolchain: linaro arm-none-eabi 4.8.3 2014-04

 

DOWNLOAD Toolchain: https://www.mediafire.com/folder/w60g6rhry0hon/Toolchain (arm-none-eabi is for kernel builds ONLY!)

 

DOWNLOAD Kernel (2014-05-16): https://www.mediafire.com/folder/1vwb12111j388/android_kernel_huawai_Y300-J1 (it's worth flashing it, although there are no source code changes compared to the last build -> smoother UI)

 

 

Technical Details (baremetal toolchain for A/R/M kernel builds)

Sources used for compiling:
 
GCC: Linaro 4.8.3 2014-04
Binutils: Linaro 2.24 2014-03
Newlib: Linaro 2.1.0 2014-02
 
GDB: Linaro 7.6.1 2013-10
 
CLOOG: 0.18
GMP: 5.0.2
ISL: 0.11.1
MPC: 0.9
MPFR: 3.1
NCurses: 5.9
ZLIB: 1.2.5
Toolchain-ID-String: gcc-Version 4.8.3 20140401 (prerelease) (crosstool-NG linaro-1.13.1-4.8-2014.04)


Configured with:
 
--build=x86_64-build_unknown-linux-gnu
--disable-__cxa_atexit
--disable-libgomp
--disable-libmudflap
--disable-libssp
--disable-libstdcxx-pch
--disable-shared
--enable-languages=c,c++,fortran
--enable-lto
--enable-multilib
--enable-target-optspace
--enable-threads=no
--host=x86_64-build_unknown-linux-gnu
--target=arm-none-eabi
--with-arch=armv7-a
--with-cloog=/home/moddingg33k/projects/toolchain/crosstool-ng/.build/arm-none-eabi/build/static
--with-gmp=/home/moddingg33k/projects/toolchain/crosstool-ng/.build/arm-none-eabi/build/static
--with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++ -lm'
--with-isl=/home/moddingg33k/projects/toolchain/crosstool-ng/.build/arm-none-eabi/build/static
--with-libelf=/home/moddingg33k/projects/toolchain/crosstool-ng/.build/arm-none-eabi/build/static
--with-mpc=/home/moddingg33k/projects/toolchain/crosstool-ng/.build/arm-none-eabi/build/static
--with-mpfr=/home/moddingg33k/projects/toolchain/crosstool-ng/.build/arm-none-eabi/build/static
--with-newlib
--without-headers
Edited by Guest
Guest Domino2115
Posted

UI is really smoother than previous build, good work

Guest luca020400
Posted

How can I create my personal version ??

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.