[mythtv-users] TiVo (S1) as a MythTV Frontend

Rod Smith mythtv at rodsbooks.com
Tue Feb 6 01:13:57 UTC 2007

On Monday 05 February 2007 19:44, Tortise wrote:
> There are many TiVo hacking communities who do not seem to have been
> constrained in the ways suggested.
> The XBox situation would seem to also be a useful parallel, no doubt full
> of patents etc, however the open source community, not on selling, seem to
> overcome such issues, makes me think it might be successfully done with the
> TiVos.

Others have posted some rather general reasons why it wouldn't be practical 
(and perhaps not possible). I'll give you just one very specific reason: the 
X Window System, and in particular its CPU and RAM needs. A Series 1 TiVo 
used a 52MHz PowerPC CPU and had 16MB of RAM. A Series 2 TiVo uses a 200MHz 
MIPS CPU and has 32MB of RAM (or at least, these were the specs when the 
series was introduced; I don't know if they might have been increased). 
MythTV relies on X, which is quite the memory hog, at least by TiVo RAM 
standards. On my Myth box, X is currently consuming 23.9% of my 256MB of RAM, 
or about 61MB of RAM -- almost twice the RAM present in a Series 2 TiVo. When 
playing back video, X chews up between 0.5% and 30% of my Myth box's 3GHz CPU 
time, and mythfrontend chews up even more CPU time. Of course, it's tricky 
comparing CPU speeds across architectures, but I think you can see where this 
is going.

The problem with X, really, is that it's intended as a general-purpose GUI. I 
presume that MythTV uses it because it's convenient and it provides what's 
needed -- but it also provides a lot that's NOT needed for DVR purposes, and 
that creates overhead. A TiVo doesn't use X, instead relying (in part) on 
special-purpose video encoding and decoding hardware. I'd guess that the TiVo 
software provides a much more direct link between the playback routines and 
that hardware than is present in MythTV. In order to get MythTV working on a 
TiVo, you'd need to strip down X to something much smaller than it is and 
write drivers for the video output hardware. These drivers would, I assume, 
have to make heavy use of whatever hardware acceleration exists in the 
hardware, much like XvMC does, but perhaps to an even greater extent. I have 
no idea what video format(s) the TiVo hardware supports, although I believe 
TiVos use MPEG-2 natively. A hypothetical MythTV front-end to run on a TiVo 
would probably be limited to those format(s) supported by the TiVo hardware.

In short, the effort required to get a MythTV front-end working on TiVo 
hardware is likely to be much greater than you seem to think. The X issues 
alone seem to me to be absolutely huge.

Rod Smith

More information about the mythtv-users mailing list