• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root ICS/CM9-JB/CM10 Development Thread

Has anyone noticed the problem with the CPU with any ROM other than this ICS build?

I am just curious because i am still running CTMOD and have noticed that I have the same problem with frequencies sticking. Even without changing the OC settings and leaving it "stock" I will be back and forth between 300 and 1000mhz without much time spent in the other frequencies.
 
@K28, Monster:

Can either of you guys test using interactive as your governor?

The reason I ask is ondemand is really poor in terms of it's scaling ability and will often times only bounce between the Max and Min cpu settings in the first place. Interactive is a governor with true scaling ability and will utilize every available frequency as needed. So it may provide different results. Just a suggestion. Sorry if you guys tried this already. Also wasn't trying to school anyone on gov's, you guys know your stuff :) I just have always hated "ondemand" through 3 rooted and rom'd Androids.
 
Has anyone noticed the problem with the CPU with any ROM other than this ICS build?

I am just curious because i am still running CTMOD and have noticed that I have the same problem with frequencies sticking. Even without changing the OC settings and leaving it "stock" I will be back and forth between 300 and 1000mhz without much time spent in the other frequencies.
It's the GOTDAMN governor!!!!!:mad:
 
Make a backup, clear cache, flash this: Goo.im Downloads - Downloading RoamingFixA2.zip Then let me know if it worked ok.



I was able to use location yesterday, it used cell towers (not the actual gps) and was not completely accurate on my location but i was still able to get directions. It works good enough for what i need it for, im not one to drive with my phone telling me directions vocally, i just use it when i need it.

yea same here, cell towers all the way. however google maps, navigation, and even street view. work very well on this build!!

It's the GOTDAMN governor!!!!!:mad:

could you shed a little light on these god damn governors lol... i keep ctmod as a back up and have noticed the same thing...
 
Every time i flash the newest alpha it installs the LS855ZVC Sprint baseband. I tried pushing the .install.prop file to my sd card and it still loads the LS version even though I'm on a boost phone, it's no big deal since it still works and i could be doing it wrong but thought I'd throw it out there
 
Every time i flash the newest alpha it installs the LS855ZVC Sprint baseband. I tried pushing the .install.prop file to my sd card and it still loads the LS version even though I'm on a boost phone, it's no big deal since it still works and i could be doing it wrong but thought I'd throw it out there

Are you actually running a Sprint baseband on your phone?

If so, use the install.prop override.

If not, let me know what your actual baseband string looks like and any other relevant information about what you've done with the phone to install a different baseband other than what the phone came with.
 
could you shed a little light on these god damn governors lol... i keep ctmod as a back up and have noticed the same thing...
Interactive:
Can be considered a faster ondemand. So more snappier, less battery. Interactive is designed for latency-sensitive, interactive workloads. Instead of sampling at every interval like ondemand, it determines how to scale up when CPU comes out of idle. The governor has the following advantages: 1) More consistent ramping, because existing governors do their CPU load sampling in a workqueue context, but interactive governor does this in a timer context, which gives more consistent CPU load sampling. 2) Higher priority for CPU frequency increase, thus giving the remaining tasks the CPU performance benefit, unlike existing governors which schedule ramp-up work to occur after your performance starved tasks have completed. Interactive It's an intelligent Ondemand because of stability optimizations. Why??
Sampling the CPU load every X ms (like Ondemand) can lead to under-powering the CPU for X ms, leading to dropped frames, stuttering UI, etc. Instead of sampling the CPU at a specified rate, the interactive governor will check whether to scale the CPU frequency up soon after coming out of idle. When the CPU comes out of idle, a timer is configured to fire within 1-2 ticks. If the CPU is very busy between exiting idle and when the timer fires, then we assume the CPU is underpowered and ramp to max frequency.

Ondemand= sh!t. If you pay attention to your cpu frequencies in apps like Voltage Control you'll notice that Ondemand is usually either all the way up, or all the way down. This is because it scales poorly. If you change it to interactive you'll notice how every available frequency is utilized, changed in a smooth and linear fashion. This translates into better battery life as well as better performance
 
@K28, Monster:

Can either of you guys test using interactive as your governor?

The reason I ask is ondemand is really poor in terms of it's scaling ability and will often times only bounce between the Max and Min cpu settings in the first place. Interactive is a governor with true scaling ability and will utilize every available frequency as needed. So it may provide different results. Just a suggestion. Sorry if you guys tried this already. Also wasn't trying to school anyone on gov's, you guys know your stuff :) I just have always hated "ondemand" through 3 rooted and rom'd Androids.

Interactive and smart ass v2 are the best govenors
 
Interactive:
Can be considered a faster ondemand. So more snappier, less battery. Interactive is designed for latency-sensitive, interactive workloads. Instead of sampling at every interval like ondemand, it determines how to scale up when CPU comes out of idle. The governor has the following advantages: 1) More consistent ramping, because existing governors do their CPU load sampling in a workqueue context, but interactive governor does this in a timer context, which gives more consistent CPU load sampling. 2) Higher priority for CPU frequency increase, thus giving the remaining tasks the CPU performance benefit, unlike existing governors which schedule ramp-up work to occur after your performance starved tasks have completed. Interactive It's an intelligent Ondemand because of stability optimizations. Why??
Sampling the CPU load every X ms (like Ondemand) can lead to under-powering the CPU for X ms, leading to dropped frames, stuttering UI, etc. Instead of sampling the CPU at a specified rate, the interactive governor will check whether to scale the CPU frequency up soon after coming out of idle. When the CPU comes out of idle, a timer is configured to fire within 1-2 ticks. If the CPU is very busy between exiting idle and when the timer fires, then we assume the CPU is underpowered and ramp to max frequency.

Ondemand= sh!t. If you pay attention to your cpu frequencies in apps like Voltage Control you'll notice that Ondemand is usually either all the way up, or all the way down. This is because it scales poorly. If you change it to interactive you'll notice how every available frequency is utilized, changed in a smooth and linear fashion. This translates into better battery life as well as better performance

wow thanks for the 101, but i have been tinkering with the governors and cpu settings. ive noticed on my phone at least the cpu peaks mostly at the max setting. i posted some results by mistake in the new alpha thread :/
 
Awesome work. You guys are awesome at what you do. Been using ctmod since my prevail. Wish it was available on the warp. Have 2 prevails 2 marquee and 3 warps. 1 marquee is on sprint and I want to flash it to boost. What a pain. But thank u all been a real inspiration. I do computer repair and now I'm interested in android development. Never knew how much of a community android has. Keep it up. I'm following step by step this is wicked.
 
  • Like
Reactions: tdm
I shouldn't be, but might be. Baseband after flashing is LS855ZVC-M6600A-SCAUTSZ-3.0.40T I didn't install a different baseband manually but I may be on one because when I first rooted my phone, I had downgraded my firmware to a stock Sprint rom which more than likely did it. I am not too concerned since it works but I will try pushing the install.prop through ADB to see if that works for me.


Are you actually running a Sprint baseband on your phone?

If so, use the install.prop override.

If not, let me know what your actual baseband string looks like and any other relevant information about what you've done with the phone to install a different baseband other than what the phone came with.
 
I shouldn't be, but might be. Baseband after flashing is LS855ZVC-M6600A-SCAUTSZ-3.0.40T I didn't install a different baseband manually but I may be on one because when I first rooted my phone, I had downgraded my firmware to a stock Sprint rom which more than likely did it. I am not too concerned since it works but I will try pushing the install.prop through ADB to see if that works for me.

Yeah that's probably what did it. If there isn't a rooted Boost firmware to install, then just set the override and you're good. I wouldn't really recommend fiddling with the files manually, you'll need to do it every time you upgrade.
 
I shouldn't be, but might be. Baseband after flashing is LS855ZVC-M6600A-SCAUTSZ-3.0.40T I didn't install a different baseband manually but I may be on one because when I first rooted my phone, I had downgraded my firmware to a stock Sprint rom which more than likely did it. I am not too concerned since it works but I will try pushing the install.prop through ADB to see if that works for me.

its probably because u installed that version of CTMod. Blood put out 2 versions for boost, one with zvc and one with zv4. U can change the radio pretty easily as well if u really wanted to. Otherwise just use the install.prop
 
I got the CPU issue in the kernel fixed. it was LG DVFS causing it (the thing that gives you good 3D benchmarks in GB) but apparently ICS doesn't need it cause when I disable it the benchmarks are about the same as they were with it enabled on GB.

I'm going to try and see if I can get vibrate fixed tonight too, I think its related to the kernel.
 
I got the CPU issue in the kernel fixed. it was LG DVFS causing it (the thing that gives you good 3D benchmarks in GB) but apparently ICS doesn't need it cause when I disable it the benchmarks are about the same as they were with it enabled on GB.

I'm going to try and see if I can get vibrate fixed tonight too, I think its related to the kernel.

I have a theory that the sniper board doesn't have the hardware to do timeouts that the latona board does. The latona code wants to use /sys/class/timed_output/vibrator/enable to write the timeout, which is not present in our kernel. So this is probably why immvibed exists. I am guessing that immvibed has an API that the vibrator code uses to tell it when to timeout.

So we have two options -- either enable this device in the kernel, or figure out the immvibed API. I don't really want to use a proprietary binary if I don't need to, so I would choose the first option.
 
I got most of my sources checked into github.com/thebigq. I'm currently trying to get kernel sources uploaded. I don't want to use a flat kernel tree without commit history, so I am trying to import codeaurora's "common" kernel into github as a base. This is proving problematic because it doesn't have a "master" branch, and that confuses github. So I'm going to try doing a forced branch and see if that works...
 
I have a theory that the sniper board doesn't have the hardware to do timeouts that the latona board does. The latona code wants to use /sys/class/timed_output/vibrator/enable to write the timeout, which is not present in our kernel. So this is probably why immvibed exists. I am guessing that immvibed has an API that the vibrator code uses to tell it when to timeout.

So we have two options -- either enable this device in the kernel, or figure out the immvibed API. I don't really want to use a proprietary binary if I don't need to, so I would choose the first option.

if I use the zImage from FOP's CM9 vibrate works perfectly with your rom, of course other shit ends up breaking. so I'm gonna see if I can find what they have in their kernel source thats making it work. thats if the source they have posted even includes it. I'll also check out gabwerkz's source in case it has it.
 
if I use the zImage from FOP's CM9 vibrate works perfectly with your rom, of course other shit ends up breaking. so I'm gonna see if I can find what they have in their kernel source thats making it work. thats if the source they have posted even includes it. I'll also check out gabwerkz's source in case it has it.

Yeah hopefully FOP has their sources up to date.

gabwerkz is developing for the latona, right? So his code likely has the same vibrator implementation as teamhacksung.
 
Back
Top Bottom