Mesa-6.0.1 dosn't work and Mesa-6.0 won't even compile on SGIs. Only Mesa-6.2 works. The release notes state that some bug fixes were made for IRIX, however. It could be something wrong with Tkinter though as it does work if I set DISPLAY to a LINUX workstation. Borlan Wayne Boucher wrote: >The SGIs seem to have both double buffered and single buffered visuals. >For some reason Tkinter seems to be picking up the single buffered one >when the SGI OpenGL is used, but the double buffered one when Mesa is >used. I haven't a clue why that might be the case. > >Wayne > >On Thu, 28 Oct 2004, Borlan Pan wrote: > > > >>I installed the newly released Mesa-6.2 and it seems to work with that now. >> >>Borlan >> >>Wayne Boucher wrote: >> >> >> >>>Hello, >>> >>>After a bit of grief (just finding an SGI with a compiler on it) I can see >>>what is causing the problem but the "solution" so far is not complete. >>> >>>In order to know what "drawable" (OpenGL jargon) is being drawn in, the >>>Python widget gets passed to the C world and a "context" (more OpenGL >>>jargon) is created, and to do that you need a "visual" (more OpenGL >>>jargon). Then when you want to draw into that drawable you make a call to >>>glXMakeCurrent() with that drawable and context as arguments. The >>>glXMakeCurrent() man page says: >>> >>>"BadMatch is generated if drawable was not created with the same X screen >>>and visual as ctx. It is also generated if drawable is None and ctx is not >>>None." >>> >>>I checked explicitly and drawable and ctx (the context) are both not None. >>>And there is only one screen. So it looks like the drawable was not >>>created with the same visual as ctx. Like I said, the drawable comes from >>>the Python world and which visual it is created with is a bit beyond our >>>control. The visual in the C world is created as follows (this is in the >>>function new_gl_handler() in ccpnmr1.0/c/ccpnmr/global/gl_handler.c): >>> >>> visual = glXChooseVisual(display, DefaultScreen(display), dblBuf); >>> >>>where dblBuf is defined a bit above that line as: >>> >>> static int dblBuf[] = {GLX_RGBA, GLX_DOUBLEBUFFER, None}; >>> >>>The first two arguments mean: >>> >>> GLX_RGBA: If present, only TrueColor and DirectColor visuals are >>>considered. Otherwise, only PseudoColor and StaticColor visuals are >>>considered. >>> >>> GLX_DOUBLEBUFFER: If present, only double-buffered visuals are >>>considered. Otherwise, only single-buffered visuals are considered. >>> >>>If I use dblBuf as is, or if I remove either but not both of those >>>arguments, then I get the BadMatch problem. I am not too bothered about >>>GLX_RGBA but I am about GLX_DOUBLEBUFFER. If I remove both, so have: >>> >>> static int dblBuf[] = {None}; >>> >>>then I do not get the BadMatch problem. So I end up being able to display >>>contours. Only the whole thing does not really work properly: the >>>background is black instead of white, the crosshair does not get >>>refreshed (so the xor mode is not working), etc. (This is probably >>>because the Python code pretty much assumes double buffering is working.) >>>So this is not sorted yet. >>> >>>Is there double buffering on these oldish SGIs? I thought there was, but >>>perhaps not. >>> >>>Wayne >>> >>>On Tue, 26 Oct 2004, Borlan Pan wrote: >>> >>> >>> >>> >>> >>>>Unfortunately, neither GL_FALSE and GL_TRUE help. >>>> >>>>Borlan >>>> >>>>Wayne Boucher wrote: >>>> >>>> >>>> >>>> >>>> >>>>>Hello, >>>>> >>>>>I've done a bit of a trawl on google and as usual the question appears a >>>>>few times but not the answer. In particular already back in 1999 someone >>>>>had this problem with exactly the same note about it working on another >>>>>display: >>>>> >>>>>http://oss.sgi.com/projects/performer/mail/info-performer/perf-99-08/0000.html >>>>> >>>>>Someone in 2002 also had this kind problem trying to use another display >>>>>(so even worse than you are having, but the "X Error of failed request" >>>>>was different): >>>>> >>>>>http://oss.sgi.com/projects/performer/mail/info-performer/perf-02-01/0004.html >>>>> >>>>>and said they had tried xhost to sort this out but it did not. >>>>> >>>>>Now recently we changed one of the parameters in one of the first OpenGL >>>>>calls because it was causing the non-drawing of contours on Linux boxes >>>>>using native Nvidia OpenGL drivers. You could try changing this back to >>>>>see what happens. So in ccpnmr1.0/c/ccpnmr/global/gl_handler.c in the >>>>>function new_gl_handler() there is a line: >>>>> >>>>>context = glXCreateContext(display, visual, None, GL_FALSE); >>>>> >>>>>and you could change this back to: >>>>> >>>>>context = glXCreateContext(display, visual, None, GL_TRUE); >>>>> >>>>>(it's commented out in the text above the current version). Then type >>>>>"make" and "cd ../analysis" and "make" and try running Analysis again. >>>>> >>>>>If that works then we can try to put both variants in (somehow). (My >>>>>guess is that it will not solve it but you never know.) >>>>> >>>>>Wayne >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> -- Borlan Pan, Ph.D. Protein Engineering (MS27) mailto:[log in to unmask] Genentech, Inc. Office: (650) 467-8292 1 DNA Way Mobile: (415) 407-4870 S. San Francisco, CA 94080 Fax: (650) 225-3734