Linux, MythTV and EPIA SP8000E

The EPIA SP8000E is a VIA mini-itx motherboard which has an onboard UniChrome Pro video card. The cool thing about this card is that it has hardware MPEG-2 and MPEG-4 decoders, which makes it perfect for use with MythTV. I decided to put together a fanless, diskless (eg totally silent) frontend MythTV box. It took me a while to get everything working together properly, so the following is some notes on what I did.

  1. To make things simpler I ended up temporarily installing a hard disk to do the Linux installation. I had an old hard 4Gb hard disk with an old version of Ubuntu on it, so I upgraded it to Breezy.

  2. Even with an updated kernel and updated via Xorg driver modules I couldn't get the XvMC acceleration working - the X server would segfault when an application attempted to use XvMC acceleration. Eventually upgraded to Ubuntu Dapper to get a newer version of the Xorg server which fixed things

  3. I'm using Linux 2.6.15.4 with the following .config. Its a pretty minimal configuration, and setup for netbooting with an NFS root (ie has no IDE support).

  4. I compiled mythtv 0.19 with the following flags:
    ./configure --enable-xvmc --enable-xvmc-pro --enable-audio-oss --enable-audio-alsa --enable-proc-opt

    Note that --enable-xvmc-pro is not enough by itself which is a bit misleading - you also need to specify --enable-xvmc

  5. I initially testing the setup using an LCD display. With XvMC working, video would play back very fast and the audio couldn't keep up. It turned out it was playing the video back at 60 fps. Turning on de-interlacing slowed it down to 30 fps, but with PAL TV running at 25fps, this didn't really work either. I tried various things like timestretch, but nothing worked satisfactorily. Eventually I worked out that it was probably because the LCD display only runs at 60Hz, so I configured X to use the TV output and for PAL and everything worked properly. There is a slight distortion in the top right hand corner of the video, but I'm not quite sure if this is due to the video card, the software setup or the cable.

  6. Details on the X setup for TV out can be found here. I haven't managed to get the 720x576NoScale mode to work, though both 720x576 and 800x600 work. Apparently the 720x576NoScale mode does work if you use 16 bit colour instead of 24 bit.

  7. The cpu load of the system (800Mhz) while MythTV plays SDTV runs around 15-20%. Given my 2.4 GHz PIV runs at about 40% doing the same thing (with no hardware MPEG-2 decode support), this is a pretty good result.

  8. Currently I can't get PXE booting working without a monitor attached. Very wierd bug.