[mythtv] MythTV won't run with VIA CX700M2 chipset

Oliver Maunder olly at roomaroo.co.uk
Wed Jan 23 12:13:19 UTC 2008


Hi all

I've built a frontend around a VIA EPIA EX10000EG board. At first glance
this looks like a great board for a frontend - small, silent, hardware MPEG2
and MPEG4 decoding, RGB, component and optical outputs. Only problem is that
MythTV won't run on it!

The fault lies with the VIA graphics drivers, not with MythTV, but it's
easier to hack a workaround into Myth rather than the drivers!

I'm using the official VIA drivers because the Openchrome doesn't yet
support MPEG decoding or TV-out on the CX700M2 chipset. When I try to
display video in MythTV (live TV or recordings) the entire system locks up
and needs to be rebooted.

I've tracked this down to DRM VSync calls. Commenting out the line
TESTVIDEOSYNC(DRMVideoSync) in VideoSync::BestMethod (in
libs/libmythtv/vsync.cpp) cures the problem.

This leads to a second issue where video works but the colours are messed up
because MythTV is using I420 encoding which the driver doesn't seem to like.
This can be fixed by uncommenting the line
     #define USE_ATI_PROPRIETARY_DRIVER_XVIDEO_HACK

  in videoout_xv.cpp in 0.2.20. This #define isn't the SVN version, but a
similar one-line fix will work.

With those two small changes, Myth now works perfectly. I'd like to submit a
patch, but I don't know what the policy is about hacking around driver
issues. The code would need to test for the VIA driver and use the
workarounds if it's founds. Is this sort of thing done elsewhere in the
code?

I'd appreciate any tips anyone can pass my way!

Olly
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mythtv.org/pipermail/mythtv-dev/attachments/20080123/3ea6f286/attachment.htm 


More information about the mythtv-dev mailing list