Edward Betts wrote:
 > Just surfing the Xpert list and i noticed your post about i815 
overlay output.
 > I have the same problem.  I was wondering if you had found a solution?
 >

Yes and no. At least (I think) I know what the problem is...

The i815 has an extended set of registers that allows control of the
digital output timing independently from the normal analog output. The
XFree driver is only aware of the normal analog registers, and so the
registers controlling the digital output remain at whatever values were
put in there by the BIOS at system initialization.

This is a nice feature which basically allows the i815 to output both
digital and analog video at the same time, with different timing
parameters (although they will both display the same framebuffer).

However, there's a set of overlay position registers that are used to
align the position of video overlay with normal framebuffer graphics
(don't ask me why this alignment doesn't happen automatically). The
correct value that needs to go into these registers is dependent on the
HSYNC position, and the XFree driver (correctly) initializes it based on
the _analog_ HSYNC position. This means that if you're using an analog
monitor, video overlay should always be correctly aligned.

If you're using a digital monitor (or the output of a TV encoder, which
is internally attached the digital interface), video overlay will _not_
be aligned to normal graphics unless digital and analog HSYNC position
is the same. If the separate digital timing registers are enabled (which
seems to be the default on my machine, and again, this is not currently
controlled by the XFree driver), this is quite unlikely as the XFree
driver never touches the digital timing registers.

I'm not sure about the right way to fix this, though. AFAIK, the overlay
position registers basically fscks up the idea of having separate timing
for analog and digital. One way would be to have the i815 XFree driver
explicitly disable the extended timing registers, since the XFree
framework doesn't provide a good way of separating analog and digital
timing anyway.

OTOH, it seems to be the fact that the driver _doesn't_ touch the
digital timing that makes it possible for many people to get a TV-out
display under X11 at all, since these registers will most probably have
a "good" (i.e. compatible with the TV encoder settings) set of values
left there by BIOS initialization.

This will also (partly) break any tools that depends on X11 (or anyone
else) not messing around with those registers, which seems to be the way
TV-out utilities currently work.

What a mess... :-)

-- 
Christer Palm


_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to