Mythtv playing way to fast using DRM VBlank ioctl

Jaymz Julian jaymz at artificial-stupidity.net
Thu Mar 30 15:41:55 PST 2006


On Thu, Mar 30, 2006 at 11:58:59AM -0500, Greg Stark wrote:
> 
> I'm still having trouble getting mythtv running displaying on my R350 Radeon.
> I've defeated the bogus mergedfb dot clocks with an LD_PRELOAD hack but now I
> have a new problem. 
> 
> Mythtv is playing the video as fast as it can instead of keeping in sync with
> the audio. As near as I can tell mythtv's only timing primitive is the vblank
> synchronization like this:
> 
> 
> #define DRM_VBLANK_RELATIVE 0x1;
> #define DRM_IOCTL_WAIT_VBLANK           DRM_IOWR(0x3a, drm_wait_vblank_t)
> ...
> 
>     do {
>        ret = ioctl(fd, DRM_IOCTL_WAIT_VBLANK, vbl);
>        vbl->request.type &= ~DRM_VBLANK_RELATIVE;
>     } while (ret && errno == EINTR);

There is actually an option when you build mythtv labelled something like
"Use OpenGL for vsync" - I believe that in some versions it is also an 
option in the playback setup menu, but i'm not in front of my TV right now.
Did you try turning this off and seeing what the output was like?  (mythtv,
btw, has three different sync methods available - vblank using DRM/GL, 
sync audio to video via the clock, and sync video to audio - the last one
being the usual default).

We had exactly the same problem with radeon TV out here - although using 
other applications, and we ended up having to completly disable vsync to
get usable tv output performance.  bleh. 

	--jj

-- 
--
Jaymz Julian - Coder, Visionary, Fat Ass.
"Hannibal is a serial killer. He only likes to kill and eat people. 
 Very few people have `I want to be killed and eaten' on their cards, 
 so Hannibal is out of a job." - http://cards.sf.net



More information about the xorg mailing list