Jump to content

[KERNEL] [Y300/G510] Stock Huawei


Guest

Recommended Posts

Guest porozex

yeah tried them too and didnt see any difference. mostly is a matter of ram if it gets full everything lags phone,games,apps etc.. there is nothing to do even if i raise the minfree values, yes it helps but not always heavy apps will still lag

Link to comment
Share on other sites

A little bit off-topic ... but here are my 2 cents.

 

Looking at the source code


	inline QCCompositionType::QCCompositionType()
	{
	 char property[PROPERTY_VALUE_MAX];
	 mCompositionType = 0;
	 if (property_get("debug.sf.hw", property, NULL) > 0) {
	 if(atoi(property) == 0) {
	 mCompositionType = COMPOSITION_TYPE_CPU;
	 } else { //debug.sf.hw = 1
	 property_get("debug.composition.type", property, NULL);
	 if (property == NULL) {
	 mCompositionType = COMPOSITION_TYPE_GPU;
	 } else if ((strncmp(property, "mdp", 3)) == 0) {
	 mCompositionType = COMPOSITION_TYPE_MDP;
	 } else if ((strncmp(property, "c2d", 3)) == 0) {
	 mCompositionType = COMPOSITION_TYPE_C2D;
	 } else if ((strncmp(property, "dyn", 3)) == 0) {
	#ifdef USE_MDP3
	 mCompositionType = COMPOSITION_TYPE_DYN | COMPOSITION_TYPE_MDP;
	#else
	 mCompositionType = COMPOSITION_TYPE_DYN | COMPOSITION_TYPE_C2D;
	#endif
	 } else {
	 mCompositionType = COMPOSITION_TYPE_GPU;
	 }
	 }
	 } else { //debug.sf.hw is not set. Use cpu composition
	 mCompositionType = COMPOSITION_TYPE_CPU;
	 }
	
	}
https://android.googlesource.com/platform/hardware/qcom/display/+/jb-mr1.1-dev-plus-aosp/libqdutils/comptype.h

...there are 2 things to notice. The value for composition type only gets used when debug.sf.hw is set. And the typedef of "DYN" seems to make dynamically use of either C2D or MDP at the same time. Which one gets chosen depends on how the lib are being compiled.

 

Link to comment
Share on other sites

Guest Syssx420

About those graphical glitches with new KGSL.

I have an idea. I've found that Huawei's kernel sometimes ignores(?) debug.sf.hw line and instead of using the Adreno libs in /system/lib/egl it uses libgles_android.so and eglsubAndroid.so (they're probably used for software rendering or what). Did you tried to delete this line "0 0 android" from /system/lib/egl.cfg and just to be sure also deleting those two files?

With those two files I've sometimes had like 6200+ in Antutu using your kernel and Heros's AOSP MOD rom and sometimes I had 7800+ even 8020 (Everything after fresh install with debug.sf.hw line enabled). Scores were changing with some restarts. It was really random like 6 restart with 7800+ and then two restart with only 6000+.

Maybe it glitches because phone is not using Adreno libs?

Also I'm a total noob over this I'm just trying to help.

 

edit: Forgot to say that after deleting those two files and modifying egl.cfg Antutu score is stable.

Edited by Syssx420
Link to comment
Share on other sites

Thx for those links. The issues isn't that the kernel wouldn't compile. It compiles fine without any errors. The problem is that the device can't boot with integrated and enabled BFS

Link to comment
Share on other sites

I've updated the kernel: http://www66.zippyshare.com/v/526858/file.html
 
Changes:

  • revert possible problematic commits
  • upgraded kernel to 3.4.98 (seems to cause some minor regressions which I can hopefully fix in upcoming releases rolleyes.gif )
  • updated:
    • KGSL drivers (only partially)
    • MSM video drivers (for LCD display)

Don't expect any FPS boost. The most you might get is a more stable UI/GPU experience.

Edited by Guest
Link to comment
Share on other sites

Guest porozex

Phone sometime cant wake up from deepsleep, phone freeze and i have to pull out battery.

i can confirm that same problem on h3ros aosp mod

Link to comment
Share on other sites

Guest porozex

On which ROMs do those problems happen? I did pull updated ramdisk files from the B200 kernel and merged them into my's.

aosp mod is based on b200

Link to comment
Share on other sites

Guest Domino2115

On which ROMs do those problems happen? I did pull updated ramdisk files from the B200 kernel and merged them into my's.

B171 o2
Link to comment
Share on other sites

@Domino: w000t huh.png That's a very special version of an german mobile carrier company. Did you use newer ROMs, too? Or is it that you got a special reason using exactly this version? :)

Link to comment
Share on other sites

Phone sometime cant wake up from deepsleep, phone freeze and i have to pull out battery.

 

Errrrm ... just happened to me as well right now dry.png (after those other 100 wakeups before worked all of the time).

 

Is it worth to track and fix this issue? Or isn't there any change at all compared to older kernel builds?

 

Fix attempt: http://www66.zippyshare.com/v/526858/file.html

Edited by Guest
Link to comment
Share on other sites

Guest H3ROS

The problem is with Huawei and their kernel source. It's butchered, plus the source that they provide doesn't match up with what they distribute in their updates. You can tell because the config file contains things that aren't found in the 2013 source.

 

The B200 ramdisk shouldn't be the problem since my ROM uses the B200 kernel. So one of the commits has caused the deep sleep issue, but which one? I'd look at any sleep, suspend or power related commits made over the last 2 days. At a glance I can see that there's a few.

 

It seems that things become the most unstable once the kernel has been updated, which probably happens because of the changes Huawei has made. So maybe keep things at the stock version and simply backport any features and performance improvements?

Edited by H3ROS
Link to comment
Share on other sites

The current commit history is quite short. Next to implementing some additional schedulers it only contains some driver updates and some small fixes for GCC and other stuff.

 

The sleep issue got probably caused by the updates of LCD drivers. Seems like one of those commits related caused an race/deadlock situation.

 

 

Now, being honest to myself: A stock Huawei kernel performs much better and there isn't anything being improved by this custom kernel what an average user could profit from.

Link to comment
Share on other sites

Guest H3ROS

zRAM, SWAP and frandom are all useful though since it's a low RAM device. So the question there is can you manage to compile modules that the stock kernel can load? I got close with the vermagic for frandom, but then it gave me a module_layout disagreement error. That might be fixable though if someone was to compile it with the Google 4.6.x toolchain and the same kernel config as B200.

 

Someone suggests hex editing here too: http://stackoverflow.com/questions/2720177/module-layout-version-incompatibility

Edited by H3ROS
Link to comment
Share on other sites

@H3ROS: on this post http://www.modaco.com/topic/372447-kernel-y300g510-stock-huawei/page-28#entry2218617 it seems like you figured out all that stuff on your own? rolleyes.gif

 

Hacking modules to get them working on already compiled kernels isn't something I'm hot on spending time on. It's possible, no question.

 

The ZRAM version of my current kernel build would not work on a stock kernel I guess.

 

Frandom however is a module which should be working fine.

 

SWAP is something you have to enable in the kernel config during you build a kernel. It's nothing you can compile as module.

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.