From MythTV Official Wiki
Jump to: navigation, search


Linux/MythTV enthusiast in the UK.

Goal of replacing Sky+, which I abhor paying £10 a month for. (no thanks, I don't want movies or sport...)


Giles is the main server, on 24/7, lives in the cupboard under the stairs. Handles broadband, firewall, fileserver (600gb of software RAID) and routing between upstairs and downstairs networks.
Unfortunately there's no aerial/satellite feed to the cupboard under the stairs, and I'd rather geek than route cables, so that is not a mythbackend.
It does have mysql though, for all backends to use. It also shares media via nfs.

Tara is in the lounge - currently behind the sofa. One day she'll get a nice new A/V-looking case from Silverstone and then go in the A/V rack.
Hardware: ABit BP6, Celeron 500, 512mb, GeForce 4 MX, PVR-350, SBLive, 80gb HD, wireless keyboard, glowy optical mouse for sofa use
Software: Fedora Core 3 with random updates, myth 0.20 (atrpms) frontend and backend, kernel 2.6.11, binary nVidia drivers (atrpms)
Installation was one following Jarod's mythTVology guide for Fedora Core.

Tara is connected to two displays via the GeForce - VGA to a projector running 1280x720 and SVIDEO to an old 28" CRT running PAL 720x576. All sound is piped to a Yamaha amp by SPDIF.

It picks up a whole 5 channels, plus whatever is on the Sky box.

I have my own scripts to handle which of the two displays (projector/TV) shows myth - switching between them whilst taking care of the different aspect ratios and running a temperature monitor and xterm on the other screen.
I have described my setup on page Running_MythTV_Dual_Headed.

Celeron 500?

Yes the Celeron 500 is pretty old, but it does the job. Before MythTV I used it to play divx/xvid files using mplayer, a keyboard and a Matrox G400, which wasn't stressing the system even on one processor. On two it was a breeze, although I've now taken the second proc out as SMP gets the finger pointed at it for many problems. I'm going to get those problems sorted then try putting it back in again.
Its not quite good enough for liveTV... Playback works (using XVMC), but the result is clearly degraded compared to Sky+. LiveTV skips a lot (prebuffering pause) - this could well be because of HD throughput as the BP6's interface is only UDMA33.

Its definitely not good enough for HD, especially as UK HD is in H.264 that even my AthlonXP 3200 can't play. Unless of course nVidia bring out PureVideo for linux - the later cards (e.g. 6600GT +) can decode H.264 onboard, there's just no driver support at the moment.

Kludges/workarounds I've had to put in place

  • MPlayer does not seem to calculate the display's aspect ratio so it has to be told the monitoraspect, which I have setup using an environment variable


  • Try and performance-tweak the HD throughput so it can record and play at the same time (livetv)
  • Get a freeview (DVB-T) or freesat (DVB-S) card. The latter provides more channels but involves another satellite feed to the dish.
  • Fix Realvideo A/V syncing issue in mplayer.
  • Setup transcoding/commercial flagging on the fileserver machine which has a better processor.
  • Enable HD to be spun down, and stay spun down, after boot when playing files off the network.
  • Get a new CPU fan. The stock Intel one thats about 8 years old is very loud. Louder than the HD...
  • Put a second CPU in and run in SMP mode.
  • Try and get suspend-to-RAM working.
  • Same with wake-on-LAN, allegedly the BP6 supports it
  • Performance tweak nfs or consider switching to samba.
  • Sort out a pretty case (possibly Silverstone) and put it in the AV rack. 5m VGA cable required.

Dualhead scripts

I mentioned over on the Running_MythTV_Dual_Headed page that I have scripts to switch Myth between two different displays. Some more info:

Two separate non-xinerama X displays must be already set up - so you can address them separately as :0 and :1. These can be different resolutions.

'loopmythtv.bash' runs on X login, started from ~/.Xclients-default. A config file determines the display numbers and which is to be used for myth and which for 'other stuff'. 'Other stuff' is currently defined as a basic window manager and an xterm, which can be used to kick off e.g. firefox with myth happily running on the other display.

When mythfrontend exits this script loops back around, swapping the displays around, killing everything and reopening on the other display. It checks for a 'dontquit' file. If this file has been deleted then it doesn't loop around and exits, which can end the X session depending on how it was started from .Xclients-default. This allows you to make two 'exit mythtv' entries in myth's menus - one just exits mythfrontend and swaps the display, the other deletes the 'dontloop' file first and then exits. Lirc can be setup (by irexec) to kill the 'mythfrontend' process, doing the displayswap.

Also, if you exit (or kill) the windowmanager (twm) then it does a display swap.


  • loopmythtv.bash - main script, loops until myth is shutdown and 'dontquit' file is deleted
  • loopmythtv.config - sets names of temp files to use at runtime, display names and ratios
  • mythdisplayswap.bash - kills the 'mythfrontend' process, effectively swapping displays round. Includes a check that it isn't run twice at the same time (handy when run from lirc)
  • killproc - util script to wait a given number of seconds then kill a named process
  • twmwrapper - starts the window manager and does a displayswap when the window manager is exited