[linux-audio-dev] FLTK/X11 question
Billy Biggs
vektor at dumbterm.net
Wed Sep 25 17:13:46 UTC 2002
Steve Harris (S.W.Harris at ecs.soton.ac.uk):
> On Wed, Sep 25, 2002 at 06:12:31 +0200, Tim Goetze wrote:
> > >> I seem to remeber that on the Amiga and in GL I could issue a call to wait
> > >> for the next vertical blank, forcing the redraw to be in sync with the
> > >> video hardware. Is there an equivalent in FLTK or X?
> > >>
> > >> How do other people get round this?
> >
> > i'd look at the GL kernel support sites, they might have a patch that
> > creates some sort of a '/dev/retrace', or add it to GLX. with vanilla
> > linux/X there's no way to do this except busy-wait reading inb
> > (0x3da) afaik.
>
> There is a copy-on-next-vert-refresh call in X, I think. Part of the
> dbe extension.
I don't think so. X tears all the time. I think that DBE does
something else, the main X server doesn't page flip.
> I dont think I can use it with FLTK though, as I can't find a way of
> drawing onto an non-screen surface and then using the dbe.
>
> Its probably just a bad choice of toolkit. GDK and SDL seem to be able
> to do it.
Nope, SDL applications tear all the time also.
The reason is that to handle the vertical interrupt, you need to have
a kernel driver that provides it/does the right thing. nVidia's binary
driver does it for GL games in fullscreen. No DRI drivers can do it,
which is why and DRI-based GL driver tears like mad even fullscreen.
Michel Danzer has just donne a patch to export an ioctl for the retrace
interrupt on the Radeons though, but that's a new development.
For video overlay surfaces it's a bit easier: most cards can page flip
their overlay surfaces easily. So, you won't see tearing with
XVideo-based apps in general.
HTH,
--
Billy Biggs
vektor at dumbterm.net
More information about the Linux-audio-dev
mailing list