On Fri, Apr 21, 2006 at 07:34:32PM +0200, Bill Allombert wrote:
> Once upgrading (only) freeglut3 to 2.4.0-5, I get
> freeglut (conquestgl):  ERROR:  Internal error <Visual with necessary
> capabilities not found> in function fgOpenWindow
> X Error of failed request:  BadWindow (invalid Window parameter)
>   Major opcode of failed request:  4 (X_DestroyWindow)
>   Resource id in failed request:  0x0
>   Serial number of failed request:  29
>   Current serial number in output stream:  33
> 
> Once upgrading (only) conquest-gl to 8.1.2-2 I get
> 
> conquestgl: symbol lookup error: conquestgl: undefined symbol: dspInitData

After upgrading conquest-libs to 8.1.2-2 I get:

freeglut (conquestgl):  ERROR:  Internal error <Visual with necessary 
capabilities not found> in function fgOpenWindow
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  4 (X_DestroyWindow)
  Resource id in failed request:  0x0
  Serial number of failed request:  23
  Current serial number in output stream:  26

So it seems conquest-gl need a versionned dependency on conquest-libs
(or conquest-libs shlibdeps should be bumped) to allow for partial
upgrades.

The code before this error:
GL.c:962

  glutInit(argc, argv);
  glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA | GLUT_ALPHA);

  glutInitWindowPosition(0,0);

  glutInitWindowSize(dConf.initWidth, dConf.initHeight);

  dConf.mainw = glutCreateWindow(CONQUESTGL_NAME);

Removing GLUT_ALPHA from glutInitDisplayMode in this file allow to 
bypass the error message and get a window. (I am not sure whether
conquestgl really work but it does not crash).

According to the OPENGL GLUT spec: 

   GLUT_ALPHA
          Bit mask to select a window with an alpha component to the
          color buffer(s).

So Jamie, does the error means that my GL driver does not support 
alpha transparency, or is it a bug in freeglut ? 

You can try the testcase I attached.

Cheers,
-- 
Bill. <[EMAIL PROTECTED]>

Imagine a large red swirl here. 
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glx.h>
#define CONQUESTGL_NAME "conquest"

int uiGLInit(int *argc, char **argv)
{

  glutInit(argc, argv);
  glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA | GLUT_ALPHA);

  glutInitWindowPosition(0,0);

  glutInitWindowSize(400, 300);
  
  glutCreateWindow(CONQUESTGL_NAME);

  return 0;             
}

/*  conquest - main program */
int main(int argc, char *argv[]) 
{
  uiGLInit(&argc, argv);
  return 0;
}

Reply via email to