In the following example code, if I create a box Eve displays it. If I create a tube, I get a blank screen
gSystem->Load("libGeom");
auto geom = new TGeoManager("Assemblies", "Geometry using assemblies");
auto Al = new TGeoMedium("Aluminium",2, new TGeoMaterial("Al", 26.98,13,2.7));
TGeoVolume *vol = geom->MakeTube("TUBE",Al, 20,30,40);
geom->SetTopVolume(vol);
geom->CloseGeometry();
TEveManager::Create();
gEve->AddGlobalElement(new TEveGeoTopNode(geom, geom->GetTopNode()));
gEve->Redraw3D(kTRUE);
I wonder what could be going wrong? If you type ‘d’ in the gl viewer to show the debug boxes, does it show a green box (this the global bounding box determined by the viewer)?
As a test I logged into the same machine from my windows laptop using MobaXterm and did the same test and it worked! Something subtle to do with my drivers it seems.
I do get some errors when I run this but as everything else works I have been ingoring them. I get
TEveManager::Create();
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
I googled this and got a whole range of conflicting or irrelevant answers so I think I’ll have to live with it.
Any way if it is just a problem with my ancient laptop’s graphics its not worth you spending time on it. I have a work around. I create a cylinder using TGeoXtru which works fine.
Ah, I know now! It’s the size of display lists using vertex arrays that bothers some (old?) intel mesa and fglrx drivers.
Try setting these to 0 in your rootrc:
OpenGL.UseDisplayListsForVertexArrays: 0
and if it still gives you trouble also this:
OpenGL.UseDisplayLists: 0
No matching fbConfigs or visuals found could mean you have no stencil buffer or non-24-bit color buffers, depth buffer is usually ok (I think we require 16 bit) … what does glxinfo show?
Strange that it works anyway, usually when it says this nothing works. Anyway, hope I haven’t hexed you by telling it