I have perpetually experienced overheating issues while using 4.4-based ROMs; typically while using Navigation as part of Google Maps and while docked in the Galaxy Nexus Car Dock.
My frustration lead to inquiring with some skilled members of the Galaxy Nexus community, including @Ziyan, @freshgiammi, and @aosp. They have indicated that 4.4-based ROMs seem to be afflicted with this problem, but that it might also be tied to the kernel being used.
I have two phones; one running stock 4.3 (Sprint) and another running CM11 M8 (also Sprint).
Testing Setup:
I have Google Maps (and all other software, including Google Play and Play Services) completely updated. The screen brightness is set to auto. I've tested using Navigation initiated by WiFi, and then disabling the cellular radio (to ensure that the overheating is not being caused by radio activity.) I checked OS Monitor by switching through recent apps mid-testing; this gave me a snapshot of system temperatures and a glimpse of CPU usage.
Stock - Worked perfectly. Navigation, at any time of day, seems to work wonderfully. I do notice that the phone does get warm, and using OS Monitor, can confirm that it reaches 47 degrees C (and holds), never exceeding it. The phone continues to charge without issue. OS Monitor cited CPU usage of 29% at the highest (note that this does not indicate that Maps never used more than 29%, just that 29% was the most I witnessed while checking 15-20 times over the course of 10 miles.)
CM11 - Phone overheats within minutes of starting Navigation, reaching temperatures of 53 degrees C--and as high as 58 degrees C. The phone stops charging as soon as the system registers an "overheated" state. OS Monitor's highest CPU usage was 52%, which is almost double as high as I saw under the stock firmware.
IMGUR link of screenshots while Navigating, idle temperature, overheating, etc.
So far, it appears when my phone has been asleep or idle, it's operating at 29-35 degrees C; so it's nearly doubling it's temperature when Navigating. Additionally, this behavior occurs at night, when the sun (and warmer temperatures) are no longer a factor, which seems to rule out the idea that the environment is a major contributor.
I have a good friend who also as a Sprint Galaxy Nexus running CM11; he is a Waze user, and is experiencing the same issue.
Is this a known issue/problem with 4.4-based ROMs? This has been speculated in other threads, but perhaps a more definite answer/explanation is warranted?
Might this be related to the kernel in use, and the thermal throttling limits? What would be the best method of testing such?
What tests or other steps should I take to gather more information or test more factors?
EDIT 1: At @aosp 's recommendation, I'm looking for thermal throttling capabilities via the Kernel Tuner (2014 beta) application. The "Thermal" button is available, but grayed out. Is it safe to assume that means the kernel I'm using has no thermal throttling capabilities, which would (probably) explain how the Galaxy Nexus seems to be able to work itself into an overheated state?
Shidell said:
I have perpetually experienced overheating issues while using 4.4-based ROMs; typically while using Navigation as part of Google Maps and while docked in the Galaxy Nexus Car Dock.
My frustration lead to inquiring with some skilled members of the Galaxy Nexus community, including @Ziyan, @freshgiammi, and @aosp. They have indicated that 4.4-based ROMs seem to be afflicted with this problem, but that it might also be tied to the kernel being used.
I have two phones; one running stock 4.3 (Sprint) and another running CM11 M9 (also Sprint).
Testing Setup:
I have Google Maps (and all other software, including Google Play and Play Services) completely updated. The screen brightness is set to auto. I've tested using Navigation initiated by WiFi, and then disabling the cellular radio (to ensure that the overheating is not being caused by radio activity.) I checked OS Monitor by switching through recent apps mid-testing; this gave me a snapshot of system temperatures and a glimpse of CPU usage.
Stock - Worked perfectly. Navigation, at any time of day, seems to work wonderfully. I do notice that the phone does get warm, and using OS Monitor, can confirm that it reaches 47 degrees C (and holds), never exceeding it. The phone continues to charge without issue. OS Monitor cited CPU usage of 29% at the highest (note that this does not indicate that Maps never used more than 29%, just that 29% was the most I witnessed while checking 15-20 times over the course of 10 miles.)
CM11 - Phone overheats within minutes of starting Navigation, reaching temperatures of 53 degrees C--and as high as 58 degrees C. The phone stops charging as soon as the system registers an "overheated" state. OS Monitor's highest CPU usage was 52%, which is almost double as high as I saw under the stock firmware.
IMGUR link of screenshots while Navigating, idle temperature, overheating, etc.
So far, it appears when my phone has been asleep or idle, it's operating at 29-35 degrees C; so it's nearly doubling it's temperature when Navigating. Additionally, this behavior occurs at night, when the sun (and warmer temperatures) are no longer a factor, which seems to rule out the idea that the environment is a major contributor.
I have a good friend who also as a Sprint Galaxy Nexus running CM11; he is a Waze user, and is experiencing the same issue.
Is this a known issue/problem with 4.4-based ROMs? This has been speculated in other threads, but perhaps a more definite answer/explanation is warranted?
Might this be related to the kernel in use, and the thermal throttling limits? What would be the best method of testing such?
What tests or other steps should I take to gather more information or test more factors?
EDIT 1: At @aosp 's recommendation, I'm looking for thermal throttling capabilities via the Kernel Tuner (2014 beta) application. The "Thermal" button is available, but grayed out. Is it safe to assume that means the kernel I'm using has no thermal throttling capabilities, which would (probably) explain how the Galaxy Nexus seems to be able to work itself into an overheated state?
Click to expand...
Click to collapse
IMHO, handling of thermal throttling in 4.4 should be secondary thing to investigate about.
Shouldn't we first think of why for the same application, CPU is hogging this much?
Is it that CPU is not offloading its tasks to GPU which is supposed to happen, and happening with 4.3?
Good thing is that you have two tuna phones available to test out various scenarios.
If you use a ROM's stock kernel, thermal throttling is enabled correctly.
Give Omni and Trickster Mod a try. Omni is more stable & bug-free than CM, and Trickster will show you your CPU temps, as you only posted your battery temps - which are way too high! How the hell did you reach it? Even if I do some antutu, mine never reaches more than 40 °C. 58 °C is either a sensor misbehaving, or you put your phone in a jacket, lol, as it's far enough from the CPU to not heat up.
Post some Omni & Trickster temps with it's stock kernel something must be wrong, as I didn't notice anything like this on my maguro.
Ziyan said:
If you use a ROM's stock kernel, thermal throttling is enabled correctly.
Give Omni and Trickster Mod a try. Omni is more stable & bug-free than CM, and Trickster will show you your CPU temps, as you only posted your battery temps - which are way too high! How the hell did you reach it? Even if I do some antutu, mine never reaches more than 40 °C. 58 °C is either a sensor misbehaving, or you put your phone in a jacket, lol, as it's far enough from the CPU to not heat up.
Post some Omni & Trickster temps with it's stock kernel something must be wrong, as I didn't notice anything like this on my maguro.
Click to expand...
Click to collapse
My battery goes to about 44 degrees C when watching Netflix and charging and about the same during navigation and charging. Only time it's gotten hotter than that is due to environmental issues (such as very hot car interior before ac cools down). I run cm11 and faux123 kernel. Looks like OP is having some kind of hardware issues.
Shidell said:
I have Google Maps (and all other software, including Google Play and Play Services) completely updated. The screen brightness is set to auto. I've tested using Navigation initiated by WiFi, and then disabling the cellular radio (to ensure that the overheating is not being caused by radio activity.) I checked OS Monitor by switching through recent apps mid-testing; this gave me a snapshot of system temperatures and a glimpse of CPU usage.
Stock - Worked perfectly. Navigation, at any time of day, seems to work wonderfully. I do notice that the phone does get warm, and using OS Monitor, can confirm that it reaches 47 degrees C (and holds), never exceeding it. The phone continues to charge without issue. OS Monitor cited CPU usage of 29% at the highest (note that this does not indicate that Maps never used more than 29%, just that 29% was the most I witnessed while checking 15-20 times over the course of 10 miles.)
CM11 - Phone overheats within minutes of starting Navigation, reaching temperatures of 53 degrees C--and as high as 58 degrees C. The phone stops charging as soon as the system registers an "overheated" state. OS Monitor's highest CPU usage was 52%, which is almost double as high as I saw under the stock firmware.
Click to expand...
Click to collapse
I think it would be helpful to try to narrow down where the heat is coming from. Some possibilities:
1. Mobile data or LTE - a likely suspect, but you've already eliminated this one.
2. GPS - set Google Maps aside for a bit, get an app like GPS Status and Toolbox, set it to keep the screen on, and see if this still causes the heating issues.
3. GPU (or lack of proper use of GPU) - If Google Maps overheats the phone but GPS Status does not, it could be how CM is handling the display for Google Maps.
I got a chance to do some testing yesterday afternoon while driving. Toroplus on Page Plus, OmniROM 8-31 nightly, NukedTrinity kernel (was running it to test something else, will test stock kernel today but I fully expect results to be the same). Mobile data off as always. Started GPS right after a 15 minute phone call, battery was at 40 C. Hooked up the charger and ran GPS Status for 5 minutes, battery temp went up to 44 C. Ran Google Maps for 15 minutes (had previously downloaded offline maps for the area), still charging. Battery temp had gone back down to 40 C.
Sdobron said:
My battery goes to about 44 degrees C when watching Netflix and charging and about the same during navigation and charging. Only time it's gotten hotter than that is due to environmental issues (such as very hot car interior before ac cools down). I run cm11 and faux123 kernel. Looks like OP is having some kind of hardware issues.
Click to expand...
Click to collapse
Can you provide me with a link to the exact kernel you're using? I'd like to test it as well. Thanks!
Shidell said:
Can you provide me with a link to the exact kernel you're using? I'd like to test it as well. Thanks!
Click to expand...
Click to collapse
http://faux.romhost.me/tuna/kk44/tuna-kk-kernel-039m-sr.zip
Thank you. I'll test with this shortly as well.
@Ziyan
I agree that these temperatures are way too high; as you'll see below, though, my phone is reaching 46 degrees C simply by using GPS Status! I don't know what to make of that.
@musical_chairs
Thank you for testing as well. I agree that your hypothesis about separate testing is sound, and so I've been testing using GPS Status. I've tried @bsmitty83 's kernel, FancyKernel v56, and Laux123's kernels--all provide slightly different results, but to varying degrees of bizarre behavior using GPS Status.
Stock 4.3 works very well; it determines a bearing indoors without GPS fix and maintains it, with almost no change over a 10 minute period of time. Also, 4.3 warms up, but it never exceeded 44 degrees C.
CM11 w/ Laux123, Fancy Kernel and bsmitty83's all exhibit strange heading behavior. If you'll watch this youtube clip I uploaded (2:45), you'll notice that the phone is laying flat on a wooden table, and yet the Heading will change by 15 or more degrees on it's own. Later in the clip, I move the phone manually to force it to readjust, and you'll see that finds a new bearing from the beginning.
Laying both phones down next to one-another, stock 4.3 indicated the bearing was approximately 219 degrees. In this video clip (FancyKernel r56), my phone believes the bearing is 285 degrees (to begin with) and 260 degrees at the end.
Might GPS be the problem? I suppose I should flash Stock 4.3 to my phone, to make sure it does not continue to behave this way and rule out hardware problems/failure, right?
This just seems really bizarre. Especially that using a GPS fix application can ramp up the temperature so quickly, and so dramatically. Perhaps is the driver/kernel making too many callbacks, causing an escalation in CPU use and heat?
Finally, where can one find the CM11 M8 kernel (indivdually)? I'd like to re-flash it and compare it as well.
Thanks for the continued help in troubleshooting what's happening, everyone.
YouTube CM11 FancyKernel r56
@Shidell just download cm11 m8 and pull out the boot.img so you can fastboot flash it
I managed to gain -5°C on my maguro.
Basically just lowered the thermal throttle to stock values, and now it feels cooler. However still hotter than 4.3 so we're now sure that's not the culprit. Just FYI.
freshgiammi said:
I managed to gain -5°C on my maguro.
Basically just lowered the thermal throttle to stock values, and now it feels cooler. However still hotter than 4.3 so we're now sure that's not the culprit. Just FYI.
Click to expand...
Click to collapse
That's really interesting--5 degrees makes a pretty big difference.
I think I'm going to put stock back on my phone soon, in order to make sure it isn't some sort of hardware failure (maybe the chips in the GNex start to fail if they overheat too high/much? I've heard of that type of failure causing strange issues.)
I'm not sure what to chalk up as the culprit yet, but something is amiss.
If anyone else is reading this thread with a Galaxy Nexus and can comment on their experiences, that information would be useful.
@Ziyan A stock 4.2 or 4.3 kernel should work with any ROM, such as CM10.2 or CM11, is that correct?
I've tried pushing boot.img via fastboot, against both, but neither wants to boot. Am I doing something incorrectly?
Shidell said:
@Ziyan A stock 4.2 or 4.3 kernel should work with any ROM, such as CM10.2 or CM11, is that correct?
I've tried pushing boot.img via fastboot, against both, but neither wants to boot. Am I doing something incorrectly?
Click to expand...
Click to collapse
Yep, but you should only flash the zImage, as flashing the full boot.img flashes the 4.2/3 ramdisk too, which won't work.
BTW, it would be much easier to just flash the latest Omni to your phone. It uses a kernel close to stock, and it's close to AOSP... unlike CM
Ziyan said:
Yep, but you should only flash the zImage, as flashing the full boot.img flashes the 4.2/3 ramdisk too, which won't work.
BTW, it would be much easier to just flash the latest Omni to your phone. It uses a kernel close to stock, and it's close to AOSP... unlike CM
Click to expand...
Click to collapse
I plan on testing Omni today. The reason I ask about the kernel is because I'd also like to test various other ROMs using one of the stock 4.2 or 4.3 kernels.
Can I extract the zImage from the boot.img to ensure I'm only flashing the kernel?
Shidell said:
I plan on testing Omni today. The reason I ask about the kernel is because I'd also like to test various other ROMs using one of the stock 4.2 or 4.3 kernels.
Can I extract the zImage from the boot.img to ensure I'm only flashing the kernel?
Click to expand...
Click to collapse
Yes Connect the gnex via usb and "fastboot flash zimage zImage"
Thanks @freshgiammi I've done some extensive testing, so I hope that this helps us determine where the problem is. @Ziyan, @aosp, @musical_chairs, @poo706, @rkpeterson, @MWisBest, @BigBrother1984, @something15525 I'm hoping you might be able to lend a hand as well.
I created this thread based on the Galaxy Nexus tending to overheat when Navigating. However, I've found another discrepancy--live wallpaper performance with the Google Now Launcher. When using the GNL with the Phase Beam wallpaper, sometimes the GNex can draw it just fine; it's smooth, no (or few) dropped frames--it looks and works great. However, with other ROMs, it's very janky, stuttering and performing poorly.
(Note that GNL with a static picture works fine.)
I suspect that there might be a GPU driver issue, or perhaps a configuration issue, in some ROMs that's causing this behavior. Perhaps a certain GPU driver is used in some ROMs, and not others, causing the problem? Perhaps there is a config file with GPU settings where one has specific features enabled, others do not, and it results in poor performance in certain rendering cases?
I wonder if it might be related to overheating on the Galaxy Nexus when Navigating, watching video, playing games--items that tax the GPU. If it is such an issue, though, it might also mean extra work is being performed to compensate, and that would mean extra heat and battery use.
Here are two YouTube links displaying the behavior in question. First is Factory Stock 4.3--I wasn't able to directly record the screen (as that feature wasn't introduced with ADB until 4.4), but hopefully it's clear enough to see that it's smooth. (There is one hiccup when the cards are loading, but that's it.) The second video shows the same test, but running on CM11 M8--it's very choppy and lags behind input, and it's extremely noticeable in person.
I tried to capture video from OmniROM, but received this error while using ADB:
Code:
D:\Android\sdk\platform-tools>adb shell screenrecord /sdcard/omni44.mp4
WARN: Unable to set device connection state for audio submix IN
WARN: Unable to set device connection state for audio submix OUT
Unable to instantiate audio source (error -1)!
Factory 4.3
CM11 M8
I've conducted some tests on a spare Galaxy Nexus, and wiped my own personal model, to be sure that the behavior is the same on both devices--to ensure I don't have a damaged GPU or some other weird hardware issue that might be responsible.
Results:
Factory 4.2.1 - OK
Factory 4.3 - OK
LiquidSmooth LS-KK-v3.2-2014-09-03 - OK
Paranoid Android 4.6 Beta 1 - OK
OmniROM 4.4.4 - 20140905 Nightly - FAIL
CM10.2 RC 1 - FAIL
CM11 M8 - FAIL
Further, I extracted the kernel zImage from Factory 4.2.1 and 4.3, and flashed it into CM11 M8 just to see if the kernel alone made any difference. The 4.2.1 kernel wouldn't boot; 4.3 booted up properly, but the lag/choppiness persisted, which seems to indicate that the problem is not kernel related.
What should I investigate next? Clearly LiquidSmooth and ParanoidAndroid are getting smooth GPU performance, which I expect is also what's causing Navigation to cause my phone to overheat (but I can't prove that, unless we can solve this issue and then I can test with a fix and determine if it's the cause or not.)
Could a config file be at fault? A difference in drivers being used?
I'm having a huge lag with the latest version of Chrome which updated with material design. I'm afraid will we be having these gpu related bugs with Android L as well.
Will these gpu drivers issues be fixed with 3.4 kernel?
sagara.sandaru said:
I'm having a huge lag with the latest version of Chrome which updated with material design. I'm afraid will we be having these gpu related bugs with Android L as well.
Will these gpu drivers issues be fixed with 3.4 kernel?
Click to expand...
Click to collapse
Hm, I'm not sure I can answer that without more information.
What ROM and Kernel are you using? What type Galaxy Nexus? If you are using 4.4, can you do a screencap of what you're experiencing and upload it to YouTube as I have?
Shidell said:
Thanks @freshgiammi I've done some extensive testing, so I hope that this helps us determine where the problem is. @Ziyan, @aosp, @musical_chairs, @poo706, @rkpeterson, @MWisBest, @BigBrother1984, @something15525 I'm hoping you might be able to lend a hand as well.
I created this thread based on the Galaxy Nexus tending to overheat when Navigating. However, I've found another discrepancy--live wallpaper performance with the Google Now Launcher. When using the GNL with the Phase Beam wallpaper, sometimes the GNex can draw it just fine; it's smooth, no (or few) dropped frames--it looks and works great. However, with other ROMs, it's very janky, stuttering and performing poorly.
(Note that GNL with a static picture works fine.)
I suspect that there might be a GPU driver issue, or perhaps a configuration issue, in some ROMs that's causing this behavior. Perhaps a certain GPU driver is used in some ROMs, and not others, causing the problem? Perhaps there is a config file with GPU settings where one has specific features enabled, others do not, and it results in poor performance in certain rendering cases?
I wonder if it might be related to overheating on the Galaxy Nexus when Navigating, watching video, playing games--items that tax the GPU. If it is such an issue, though, it might also mean extra work is being performed to compensate, and that would mean extra heat and battery use.
Here are two YouTube links displaying the behavior in question. First is Factory Stock 4.3--I wasn't able to directly record the screen (as that feature wasn't introduced with ADB until 4.4), but hopefully it's clear enough to see that it's smooth. (There is one hiccup when the cards are loading, but that's it.) The second video shows the same test, but running on CM11 M8--it's very choppy and lags behind input, and it's extremely noticeable in person.
I tried to capture video from OmniROM, but received this error while using ADB:
Code:
D:\Android\sdk\platform-tools>adb shell screenrecord /sdcard/omni44.mp4
WARN: Unable to set device connection state for audio submix IN
WARN: Unable to set device connection state for audio submix OUT
Unable to instantiate audio source (error -1)!
Factory 4.3
CM11 M8
I've conducted some tests on a spare Galaxy Nexus, and wiped my own personal model, to be sure that the behavior is the same on both devices--to ensure I don't have a damaged GPU or some other weird hardware issue that might be responsible.
Results:
Factory 4.2.1 - OK
Factory 4.3 - OK
LiquidSmooth LS-KK-v3.2-2014-09-03 - OK
Paranoid Android 4.6 Beta 1 - OK
OmniROM 4.4.4 - 20140905 Nightly - FAIL
CM10.2 RC 1 - FAIL
CM11 M8 - FAIL
Further, I extracted the kernel zImage from Factory 4.2.1 and 4.3, and flashed it into CM11 M8 just to see if the kernel alone made any difference. The 4.2.1 kernel wouldn't boot; 4.3 booted up properly, but the lag/choppiness persisted, which seems to indicate that the problem is not kernel related.
What should I investigate next? Clearly LiquidSmooth and ParanoidAndroid are getting smooth GPU performance, which I expect is also what's causing Navigation to cause my phone to overheat (but I can't prove that, unless we can solve this issue and then I can test with a fix and determine if it's the cause or not.)
Could a config file be at fault? A difference in drivers being used?
Click to expand...
Click to collapse
Could you give FML a try? In particular the latest beta build...
not sure if you're on a maguro or a toro, so I'll link them both:
omni-4.4.4-20140825-maguro-FML.zip (159.56 MB)
omni-4.4.4-20140824-toro-FML.zip (159.41 MB)
With FML being based on OmniROM, if there's an issue with OmniROM but not FML or vice-versa it can help narrow down what might be the difference that causes the issue.
I'm also interested if screen record via adb works with that build for ya as well, so if you could test that it'd be much appreciated.
sagara.sandaru said:
I'm having a huge lag with the latest version of Chrome which updated with material design. I'm afraid will we be having these gpu related bugs with Android L as well.
Will these gpu drivers issues be fixed with 3.4 kernel?
Click to expand...
Click to collapse
The 3.4 kernel isn't looking to be the smoking gun we were hoping for, however if we can get Ducati (hardware video encode/decode and camera stuff) working with the updated GPU drivers in the 3.0 kernel that would definitely be helpful. The newer GPU drivers have better power management by a landslide.