[mythtv] Black screen after program guide

Isaac Richards ijr at po.cwru.edu
Sun Nov 21 03:44:21 UTC 2004


On Saturday 20 November 2004 07:04 pm, Frank Riley wrote:
> John Harvey wrote:
> > Something that is caused by a race condition between 2 parts and then
> > shows up because one of those changes doesn't meen that thing that
> > changed is wrong, just that its performance has changed and has exposed a
> > bug (that was always known about) in the other.
>
> I agree.
>
> John, is it possible to briefly explain this race condition? I'm interested
> in this since I have this same problem.

As I understand it:

- Myth's program guide is drawn using X, with the overlay in global alpha mode 
(ie, it's all semi-transparent).
- Myth exits out of the program guide, and stops using X for drawing anything.
- Myth tells the driver to go back into local alpha mode (per-pixel 
transparency, ie, the rest of the OSD).  It also sets the alpha values to 0 
(clear).

The driver used to process this all in order.  It doesn't anymore.  The newer 
X driver seems to queue up draw events for longer, so the final X update may 
occur after Myth thinks it's done with X and has told the driver to reset + 
clear the overlay surface.  This causes the black screen.

Thinking about it more, we could work around this by clearing the OSD _again_ 
a quarter second or so after we tell it to the first time.  Wouldn't be 
difficult to do, but it could interfere with real OSD operation so it's 
certainly not the ideal fix.  I won't do it, though, as I haven't used my 
pvr-350 for output for several months now and wouldn't be able to test 
properly.

Isaac


More information about the mythtv-dev mailing list