Jump to content

[KERNEL] [Y300/G510] Stock Huawei


Guest

Recommended Posts

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
Link to comment
Share on other sites

Guest SH3H1

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
Link to comment
Share on other sites

Guest Romagnolo1973

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
Link to comment
Share on other sites

Guest fonz93

@moddingg33k

 

Hi, what this code does?

 

mkfs.ext4 /dev/block/zram1

mount /dev/block/zram1 /tmp

Edited by fonz93
Link to comment
Share on other sites

Guest Syssx420

@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

Link to comment
Share on other sites

Guest fonz93

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

Link to comment
Share on other sites

Guest ZolaIII

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
Link to comment
Share on other sites

Guest Syssx420

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.

Link to comment
Share on other sites

Guest luca020400

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
Link to comment
Share on other sites

Guest ZolaIII

@ 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
Link to comment
Share on other sites

Guest ZolaIII

@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
Link to comment
Share on other sites

@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.

Link to comment
Share on other sites

@ 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.

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Guest Romagnolo1973

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
Link to comment
Share on other sites

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
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.