Linux Switching off LCD monitor causes high CPU
#1
Sad 
I am running XMBC Xvba on Ubuntu 12.04. My HTPC is connected to Onkyo amplifier which in turn connected to the LG LCD.

General XMBC performance is quite nice, CPU touches 100% only a few time while navigating different menu/categories.

But I notice that if I switch off the LCD the CPU usage consistently shoot to 100% and remains above 100%. But interestingly if I switch on the LCD (keeping Onkyo on standby mode with pass through enabled) the CPU usage comes down to normal. Looks like XMBC is aware of the state of my LCD.

What is causing this high CPU if only LCD is switched off ? Does it have anything to do with HDMI CEC? I need to keep my HTPC on all the time as it is my NAS/Torrent server as well. But this high cpu causes to much of CPU fan noise.

Here is the debug log for the duration between me switching off the LCD and the high CPU http://pastie.org/4892652

Thanks in advance
Reply
#2
Same thing is happening to me, but on windows 7. When the display is on, xbmc is using <20% cpu and like 5% GPU. As soon as I turn off the TV, both CPU and GPU shoot way up to over 80%.

Shutting down xbmc before turning off the TV results in an idle CPU/GPU.
Reply
#3
I'm really interested in solving this issue as it's happening to me as well...

See my post: http://forum.xbmc.org/showthread.php?tid=141635

for more details...

Reply
#4
Hey!

I've got the same problem, on Windows 7 though, so it seems to be across plattforms.
Getting about 40% CPU usage from XMBC as soon as I turn the AVR off.

I've got the PC connected with a DVI <> HDMI cable because my GFX card doesn't have a hdmi output.
Don't know if the bug is maybe specific to DVI because only few people seem to have noticed it sofar?
What kind of output do you use, jaykumar_2001, bravehand, theopulus?

I just recently installed XBMC so I don't know if this problem existed in previous versions already.

Since I need my PC running with the screen off (using it with iTunes / Airplay / Remote for playing music to other rooms) I would really like to get this solved, because the high cpu causes a lot of heat and power consumption.
For now as a workaround I made a script which closes XBMC when I turn the screen off or when my PC goes to standby and then I launch it again with the start of the XBMC action on my remote.
This isn't a very nice solution though and I would rather just keep XBMC running the whole time, so I would appreciate if someone came up with a real fix.

Btw I tested the dirty regions settings and it didn't help.
Reply
#5
I'm using win7 and hdmi straight into the tv. I'm also using dirty regions and have tried setting the vertical blank sync to always on, but still getting very high cpu usage from xbmc when the tv is off.

I'm probably just set things up so xbmc shuts down when the tv turns off, but I'd really appreciate it if someone can give us some insight.

Other specs:
MB ASROCK | A75M-ITX A75 FM1
APU AMD | A6-3500 2.4G 3M FM1
Sharp TV, forget the model # but it's 52in and about 5 years old.
Reply
#6
Hey!
Just checking in again to see if anyone found a solution yet?

Is this a known bug which generally exists and is going to be fixed at some time?
Can someone who hasn't noticed this sofar maybe see if the bug exists on his system as well?
I would really like to know if this bug generally exists in XBMC or if it is something with my setup which I can maybe fix somehow.
Reply
#7
Not at all, I cant duplicate this behaviour at all

I'm on minimal Ubuntu 12.04 32bit OS + xbmc 12.0-ALPHA7 Git:20121108-3b7a2ab on Atom ION 330 HT + Nvidia 304.60 + Upstart xinit script

I have disabled DPMS on my xorg.conf in case it helps. CPU stays at around 15% and memory is 4.8%

Dirty regions is enabled in current xbmc by default.

I cant help troubleshoot or fix this anyway since I dont have a clew what even causes it.

uNi
Reply
#8
I anybody with this issue could provide a full debug log we can look into it.
Reply
#9
Hi all,

I've got a new TV now and the problem seems to be gone.
Old TV was a 40" Samsung LCD connected to my AVR with the PC connected to the AVR as well.
New TV is a 65" LG LCD, connected the same way.

The difference is that with the new TV I am using HDMI ARC and enabled HDMI Control on my Denon AVR, which I didn't use with the old one because it had no inbuilt SAT tuner.

Gonna disable the script for closing XBMC then and keep an eye on the problem.
If it's coming back I will inform you.

Maybe it was somehow related to the HDMI ARC function. As far as I understand the TV shouldn't matter when the AVR is off?
Reply
#10
I have an idea of what's causing the problem. I guess you would observe the same if you pulled out the HDMI cable while XBMC is running. We have no case for this currently, we would need to switch XBMC to a headless mode.

EDID data from TVs can be read even if the TV is off. Some AVRs seems not to follow this convention.
Reply
#11
Hi,
I'm also seeing this issue. I run XBMC-xvba on my AMD E-450 HTPC. It runs Ubuntu 12.04, and I autologin to the XBMC session. I have the Catalyst 12.08 drivers from the AMD home page.

The HTPC is connected this way
HTPC <---HDMI---> Amp <---HDMI---> Projector
I see the 100% CPU utilization issue always when I have had the amp on, and I turn it off. If the amp is off when I boot the machine, I don't see the CPU issue.

Here is a pasted debug log.
http://pastebin.com/2Xg5MQvt

However, i tail -f'd the log when I turned the amp off, but nothing got written to it. Basically 17:32:46 is when I turned the amp on the first time, and about 10 seconds later i turned it off, and the cpu jumped. I turned the amp on again, and nothing was written to the logs for a while..

Another time I straced the process when I turned it off, and it seems like it got stuck in a infinite loop doing ioctl's on a device (I assume the display card)
http://pastebin.com/qrALENSV
Reply
#12
Code:
17:31:23 T:140517566154624    INFO: Output 'CRT1' has 18 modes
17:31:23 T:140517566154624    INFO: ID:0x98 Name:1600x1200 Refresh:60.000000 Width:1600 Height:1200

Code:
17:32:46 T:140517566154624    INFO: Output 'DFP1' has 30 modes
17:32:46 T:140517566154624    INFO: ID:0xb4 Name:1280x720 Refresh:50.000000 Width:1280 Height:720

Ugly AVRs, seems it pretends to be a CRT. This is from the first log. Was the amp on or off as you started XBMC? What exactly did you do next?
Reply
#13
The amp was off when I started XBMC. So basically my workflow was

(amp off)
1. Put on the debugging in advancedsettings.xml
2. Reboot the HTPC
3. It automatically boots up to the XMBC session
4. Turn amp on (~17.32.46)
5. Wait 10 secs
6. Turn amp off
7. Wait for top to show 100% CPU (~5-10 secs)
8. Turn amp on, and check that CPU goes down
9. Wait for a while, take a copy of the log
Reply
#14
Did you truncate the log? It stops after you turned on the amp at 17.32.46. I would like to see the rest.
Reply
#15
Nope, I didn't truncate the log. It just said nothing when turning off the amp, nor when turning it back on. The log is a snapshot maybe 5 minutes after turning the amp on/off/on.

However, it does seem that this is an amd graphics specific thing. When you google the ioctl from the strace (0xc00c645c) it show's quite a few results of ati/amd cards and cpu / power management problems.
Reply

Logout Mark Read Team Forum Stats Members Help
Switching off LCD monitor causes high CPU1