This is my first MythTV frontend. I sprung for a fairly high end EPIA board and a really nice Antec case.

My original plans involved basing this thing around an EPIA ME6000, but after doing some research, I became concerned that the poor little 600Mhz processor wouldn’t be able to handle real-time MPEG4 decoding, so I sprung for the nearly twice as expensive EN12000EG. On the bright side, both the ME6000 and the EN12000EG are fanless, so they’re perfect for a PVR device (and if you only plan to do MPEG2 decoding, the ME6000 is perfectly fine).

The only other interesting this about this box is the IR interface. The Fusion doesn’t actually come with an IR receiver built in, so you need to supply one yourself. Well, again, Mark at irblaster.info has come to the rescue, providing a very compact IR receiver which can be attached to a serial port. It’s the perfect size for installation in a Fusion case, and if you have a spare serial port bracket, you can detach the DB9 connector and use it to attach the receiver directly to the serial port header on the motherboard.

Incidentally, my original (and perhaps still long term) plan was to netboot this thing using PXE. But, I got lazy, and decided to retask an old hard drive I had kicking around. The bright side is this made it a lot easier to custom build the software for the EPIA, allowing me to enable various things (such as XvMC).

Software

Below you can see a list of some more unusual software I’ve installed on my frontend to solve various problems (unusual, in that they aren’t covered by your usual Myth installation guide):

Multimedia:

  • Video playback - mplayer (of course)
  • DVD playback - Xine (finally, after much tweaking)

Note, it took me quite a while to finally get Xine working. For the longest time, I experienced hard locks during video playback that I have yet to explain. The only thing I can figure, at this point, is that I accidentally had Xine configured to use Xv instead of XvMC. Though, why that would result in crashes, I have no idea (though it’s possibly Xv triggered another bug in the chipset, such as something DMA-related).

It also took me a while to get the audio sync fixed up. For some reason, the audio was out of sync with the video by a fixed offset, so much tweaking of the ‘audio.synchronization.passthrough_offset’ parameter was required in order to compensate.

Emulators:

Note, most of these emulators are configured to use XVideo, with the exception of Mednafen and SDLMame, which are both set up to use OpenGL.

As an aside, I tried out a copy of sdlmame, however it performed dismally compared to xmame, which is a shame, since it appears to be the way of the future, as far as MAME linux ports go.

Update:

Breakthrough! Turns out that version 0.110u2 of MAME had debugging symbols enabled. I went and grabbed 0.110u3, and SDLMAME is easily as fast as xmame using OpenGL!

The downside is now a bunch of my romsets are toasted (most of the vector games got retooled). But, so it goes. At least I’m up-to-date. Assuming that’s a good thing…

Miscellaneous:

  • IR->application interaction - irxkeys

Caveats

I discovered a number of somewhat unfortunate things about this board after it arrived, all related to the video chipset:

  1. The VM800 chipset (and specifically the vt1625 TV hardware) isn’t terribly well supported by the [http://www.openchrome.org Openchrome] guys, yet. The TV-out works with the VBEModes option, but the image position/size can’t be adjusted, and right now, I’m stuck at fixed BIOS resolutions (640x480, 800x600, 1024x768).
  2. The onboard MPEG-2 decoder maxes out at a resolution of 1024x1024. This means no HD. Not a big deal for me, but a surprise nonetheless.
  3. I haven’t gotten the component output to work yet. ‘course, being stuck at SD resolutions, this doesn’t matter much, anyway.
  4. The OSD, when fading, causes the video to stutter. Disabling the fade works around this, but it’s annoying.

Miscellaneous

These are mostly here for my sake. Basically, interesting links that will be important later.

Front-end crashes:

“The problem here turns out to be a bug (probably) in MesaGL. I was getting the following message when the front end crashed:

mythfrontend: ../../../src/mesa/glapi/glapi.c:341: _glapi_get_dispatch: Assertion `api != ((void *)0)' failed.

I googled this and found a page discussing the issue . Turns out if I disable OpenGL sync and make sure I”m using the Qt painter then the crashes go away. The painter option is set in the Setup/Appearances/Theme page while the OpenGL Sync is disabled under the Setup/TV Settings/Playback/General Playback window. Updating these has fixed all the crashes.”