Hi everybody, I upgraded my system to FC1 and just realized that programs that i've written a long time ago (at the time of RH8) gives the following error on FC1: (note that it previously worked on RH8, same machine, same hardware!) Xlib: extension "XFree86-DRI" missing on display ":0.0". I'm using FC1 kernel 2.4.22-1.2115.nptl on an i686 machine. My Video Card is NVIDIA GeForce 2 MX (generic) glxinfo gives: ========================================================================= name of display: :0.0 Xlib: extension "XFree86-DRI" missing on display ":0.0". display: :0 screen: 0 direct rendering: No server glx vendor string: SGI server glx version string: 1.2 server glx extensions: GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context client glx vendor string: SGI client glx version string: 1.2 client glx extensions: GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context GLX extensions: GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context OpenGL vendor string: Mesa project: www.mesa3d.org OpenGL renderer string: Mesa GLX Indirect OpenGL version string: 1.3 Mesa 4.0.4 OpenGL extensions: GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_texture_border_clamp, GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3, GL_ARB_transpose_matrix, GL_EXT_abgr, GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_lod_bias glu version: 1.3 glu extensions: GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess 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 24 tc 1 24 0 r y . 8 8 8 0 0 16 0 0 0 0 0 0 0 None 0x24 24 tc 1 24 0 r y . 8 8 8 0 0 16 8 16 16 16 0 0 0 None 0x25 24 tc 1 24 0 r y . 8 8 8 8 0 16 8 16 16 16 16 0 0 None 0x26 24 tc 1 24 0 r . . 8 8 8 8 0 16 8 16 16 16 16 0 0 None 0x27 24 dc 1 24 0 r y . 8 8 8 0 0 16 0 0 0 0 0 0 0 None 0x28 24 dc 1 24 0 r y . 8 8 8 0 0 16 8 16 16 16 0 0 0 None 0x29 24 dc 1 24 0 r y . 8 8 8 8 0 16 8 16 16 16 16 0 0 None 0x2a 24 dc 1 24 0 r . . 8 8 8 8 0 16 8 16 16 16 16 0 0 None ========================================================================= I attached a simple Mesa program + makefile which you can compile by typing make helloopengl and of course running ./helloopengl Can anybody suggest possible solutions in making my opengl program work once again? Thanks for any help. With kind regards, Didier. --- PhD student. Singapore Synchrotron Light Source (SSLS) 5 Research Link, Singapore 117603 Email: slsbdfc at nus dot edu dot sg / didierbe at sps dot nus dot edu dot sg
# Makefile for programs from the OpenGL Programming Guide ##### MACROS ##### CFLAGS = -O2 -funroll-loops -ansi -pedantic -ffast-math -I/usr/X11R6/include -DSHM XLIBS = -L/usr/X11/lib -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi INCDIR = /usr/local/Mesa/include LIBDIR = /usr/local/Mesa/lib LIBS = -L$(LIBDIR) -lglut -lGLU -lGL -lm $(XLIBS) CC = gcc ##### RULES ##### .SUFFIXES: .SUFFIXES: .c .c: $(LIB_DEP) $(CC) -I$(INCDIR) $(CFLAGS) $(OBJS) $< $(LIBS) -o $@ .SUFFIXES: .o .o: $(LIB_DEP) $(CC) -c -I$(INCDIR) $(CFLAGS) $< $(LIBS) -o $@ ##### TARGETS ###### default: @echo "Specify a target configuration" clean: -rm *.o *~ realclean: -rm $(PROGS) -rm *.o *~ targets: $(PROGS) # execute all programs exec: $(PROGS) @for prog in $(PROGS) ; \ do \ echo -n "Running $$prog ..." ; \ $$prog ; \ echo ; \ done
#include <GL/glut.h> void display(void) { /* clear all pixels */ glClear (GL_COLOR_BUFFER_BIT); /* draw white polygon (rectangle) with corners at * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */ glColor3f (1.0, 1.0, 1.0); glBegin(GL_POINTS); glVertex3f (0.25, 0.25, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); /* don't wait! * start processing buffered OpenGL routines */ glFlush (); } void init (void) { /* select clearing color */ glClearColor (0.0, 0.0, 0.0, 0.0); /* initialize viewing values */ glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); } /* * Declare initial window size, position, and display mode * (single buffer and RGBA). Open window with "hello" * in its title bar. Call initialization routines. * Register callback function to display graphics. * Enter main loop and process events. */ int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); glutInitWindowSize (250, 250); glutInitWindowPosition (100, 100); glutCreateWindow ("string"); init (); glutDisplayFunc(display); glutMainLoop(); return 0; /* ANSI C requires main to return int. */ }