Getting Overlays to work

Machine is running the latest Fedora Core 1. The graphics card is the nVidia Quadro FX Go1000. Recompiled & installed the lastest nVidia drivers.

Added:
Option “Overlay” “true” to the “Device” section of my XF86Config file.

glXChooseVisual always returns NULL when GLX_LEVEL with a value of 1 is used. Works fine with a value of 0.

As another data point I also added:
Option “NoLogo” “true” in the Device section of the XF86Config file and it works as advertised.

Does your card support overlay planes? Are you specifying the correct visual?

What’s the output of /usr/X11R6/bin/glxinfo? You should see something like …

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------
0x23 16 tc  0 16  1 r  y  .  5  5  5  0  0  0  0 16 16 16 16  0 0 None
0x42 16 tc  0 16  1 r  .  .  5  5  5  0  0  0  0 16 16 16 16  0 0 None
0x43 16 tc  0 16  1 r  y  .  5  5  5  0  0 24  0 16 16 16 16  0 0 None
0x44 16 tc  0 16  1 r  .  .  5  5  5  0  0 24  0 16 16 16 16  0 0 None

How do you specify the visual, context, etc.?

int overlayVisualAttrList[] =
{
   GLX_LEVEL,        1,
   GLX_RGBA,
   None
};
XVisualInfo *overlayVisualInfo = 0;
GLXContext overlayGlxContext = 0;

if(!(overlayVisualInfo = glXChooseVisual(UxDisplay, UxScreen, overlayVisualAttrList)))
   fprintf(stderr, "
\aERROR: No suitable X visual for overlay frame buffer.
");
...
overlayGlxContext = glXCreateContext(XtDisplay(glWidget), overlayVisualInfo, 0, True);

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.