|
From: Ethan M. <merritt@u.washington.edu> - 2005-08-19 15:56:47
|
On Friday 19 August 2005 02:42 am, Robert Hart wrote: > On Thu, 2005-08-18 at 13:48 -0700, Ethan Merritt wrote: > > > > I don't think there is a 100% solution to this problem. > > Sadly, freeglut and other glut implementations are not perfectly > > compatible. If you try transferring a binary linked against, > > say X.org glut, to a machine that has nVidia drivers and glut libs > > you are likely to crash the application, X11 itself, and possibly > > the whole machine. [As I have learned the hard way]. > > hmm. I can't say I've had any problems myself. I'm not sure how many of > the opengl apps I have use glut, but certainly things like upgrading > from Xfree86 to X.org haven't caused me any issues. > > Anything that crashes X11 is a bug in the server. Normally that is true, but when the program (X11 in this case) writes directly into hardware and system memory, as the DRI extension does, then no. If you (the glut library) send incompatible commands, you may corrupt the system/hardware itself. The poor guy in the middle (the X server) is an innocent/unwilling accomplice who does not have perfect knowledge of what you sent or what effect it will have on the hardware. Besides which, "your X-server has a bug" is not a very helpful explanation to people who just want to run the program. The header files for the various glut implementations are not compatible. Is it any wonder that binaries built from those headers are not compatible? I very much fear that an OpenGL driver will remain a compile-it-yourself option under linux. My work involves a lot of computer graphics and 3D interactive visualization tools. Non-portability of OpenGL code is a continuing headache, and hits many of the standard libraries and toolkits we use (or would like to use). -- Ethan A Merritt merritt@u.washington.edu Biomolecular Structure Center Mailstop 357742 University of Washington, Seattle, WA 98195 |