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;
}