Because MythTV frontends & backends are often running 24 hours a day, they can use a significant amount of power. This can be expensive on your power bill, and the extra, wasted power usage can be harmful to the environment. By choosing hardware carefully and configuring it correctly, you can significantly reduce the power usage of your mythbox.
- 1 Hardware Selection
- 2 Automatic powerdown/wakeup
- 3 CPU Frequency Throttling
- 4 Display Power Management
- 5 Hard Drive Spin Down
- 6 Animated Themes
- 7 Preview Window
- 8 Sound Card Powersave
- 9 Tuner Card Powersave
- 10 Network card speed reduction
If designing a new MythBox, choose efficient hardware - low power CPUs, efficient hard drives, and efficient power supplies.
Low power CPUs such as the AMD 5050e 45W series should have more than enough power even for an HDTV frontend. (add other efficient CPUS here)
See also the frequency scaling selection below to run the cpu at a lower frequency when it's idle; this can save significant power.
Western Digital Green Power drives and Seagate LP drives use much less power than their predecessors, especially when idle (~2W vs ~8W when idle), and should keep up fine with even demanding HDTV setups.
Consider an SSD for the root drive, so that the media drives can spin down easily when not in use. SSDs use as little as 1/2 Watt when idle. A CF card and adapter, or network boot would be cheaper alternatives.
Use onboard video, or a low end discrete adapter. MythTV only needs Xv support and only uses a small amount of performance even for OpenGL render modes. Cards supporting hardware video decoding do this using dedicated hardware and is unrelated to shader performance. For VDPAU, deinterlace filters are run on the shader hardware, however a midrange card will have sufficient performance to use all available filters.
Any card which needs a separate power plug is overkill for Myth's needs, and lower end cards can be purchased fanless, helping create a lower noise machine.
Choose an 80Plus power supply which are much more efficient, and often no more expensive.
Not a lot of information is available on tuner card power draw; if you measure yours, please add it to this list:
* Hauppauge HVR-1250: 6W in idle mode
CPU Frequency Throttling
Powernowd can lower the clock frequency when the CPU is idle.
Powernowd is more or less deprecated, more recent distributions have other cpu throttling mechanisms.
On Fedora, for example, the cpufrequtils package contains similar tools. The kernel has an "ondemand" cpu governor which makes it all easy and automatic.
On my combined frontend/backend, starting the cpuspeed initscript with the ondemand regulator drops power consumption from 97W to 69W, saving 28W!
Display Power Management
DPMS will turn off your display when the PC has been idle for a while
Hard Drive Spin Down
Spinning down you harddrives not only will save power but save the life of your drives.
hdparm can be used to spin down internet IDE and SATA drives. First you must disable access times to the drives to keep them from waking up.
Edit your fstab adding noatime and nodiratime.
LABEL=d3 /tv/d3 xfs rw,noatime,nodiratime 0 0
Now, add hdparm statements to rc.local to set the default spindown time, i have used 20mins as a timeout:
vi /etc/rc.local /sbin/hdparm -S240 /dev/sda
Animated themes can actually add a few watts to your frontend usage! Consider using a non-animated theme, or modify your theme to remove animations.
The Preview window in the recorded show listing causes the CPU to do real work to display it - on my box an extra 15W was used, almost 25% above true idle. Worse, frontends are often left on this menu screen, so it's almost always playing.
Ideally MythTV could time out a preview after a set time, but in the meantime you can simply disable the live thumbnail preview to save power.
Sound Card Powersave
If you're using a sound card with the snd_hda_intel module, you can use the power_save option to tell the card to go into power saving mode after a period of inactivity.
options snd_hda_intel power_save=7200
in modprobe.conf or similar will tell the sound card to sleep after 7200 seconds (2 hours) of inactivity. Some cards work better than others with this; sometimes clicks and pops result, so it may take some experimentation.
Tuner Card Powersave
Many drivers in recent kernels support power save or sleep modes for various components of tuner cards. For this to work, the driver needs to know that the card is idle, so tell your backend to open video cards on demand in the card setup portion of mythtv-setup.
Network card speed reduction
Especially if you have an all-in-one frontend/backend mythbox, you may not need that gig-E connectivity, at least not all the time. You can tune the speed of the link:
# ethtool -s eth0 advertise 0x002 (10 mbit) # ethtool -s eth0 advertise 0x008 (100 mbit) # ethtool -s eth0 advertise 0x020 (1000 mbit) # ethtool -s eth0 advertise 0x03F (auto)
Note however that this doesn't work on all cards. Reducing my card from gig-e to 100 mbit saved a watt. On many switches this will save power on the switch end as well.