Geant4 Version: 11.3.2
Operating System: Ubuntu 25.04
_Compiler/Version:_14.2.0
_CMake Version:_3.31.6
I recently upgraded to ubuntu 25.04 from 24.04. Geant4 was running okay on my previous OS but on the new version, I’m having issues with visualization. I built geant4 from source and there was no error (x11 and qt both on). But when I tried to run example1, I am seeing a black screen. I tried rebuilding with either qt off and x11 on or qt on and x11 off but nothing seem to work. Here is the output of the visualization section. Any help is appreciated. I should also add that ccmake configuration says X11_xcb_xkb_INCLUDE_PATH X11_xcb_xkb_INCLUDE_PATH-NOTFOUND (in case this is relevant)
Visualization setting
/control/execute vis.mac
Macro file for the visualization setting in the initialization phase
of the B1 example when running in interactive mode
Specify a viewer, e.g., /vis/open OGL, or allow a system choice:
/vis/open
Default graphics system is: OGL (based on build flags).
Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation).
Note: Parameters specified on the command line will override these defaults.
Use “vis/open” without parameters to get these defaults.
/vis/sceneHandler/create OGL
/vis/viewer/create ! ! 600x600-0+0
/vis/viewer/refresh
This chooses a graphics system (in order of priority):
- by argument in G4VisExecutive construction.
- by environment variable, G4VIS_DEFAULT_DRIVER.
- by information in ~/.g4session.
- by mode (batch/interactive) and if interactive, by your build flags.
See “Choosing a graphics viewer” in the Application Guide for details.
For example, with environment variable G4VIS_DEFAULT_DRIVER:
The format is []. Set this, e.g:
(bash) export G4VIS_DEFAULT_DRIVER=TSG
(tcsh) setenv G4VIS_DEFAULT_DRIVER OI
or on the command line, precede the app invocation, e.g:
G4VIS_DEFAULT_DRIVER=Vtk ./
The window-size-hint can optionally be added, e.g:
(bash) export G4VIS_DEFAULT_DRIVER=“OGLSX 1000x1000-0+0”
Other suggestions for G4VIS_DEFAULT_DRIVER (see list of registered
graphics systems printed at the start):
DAWNFILE: to create a .prim file suitable for viewing in DAWN.
HepRepFile: to create a .heprep file suitable for viewing in HepRApp.
VRML2FILE: to create a .wrl file suitable for viewing in a VRML viewer.
“TSG_OFFSCREEN 1200x1200”: to create an image file with TSG.
See the tsg_offscreen.mac in examples/basic/B5 for more commands
to change the file format, file name, picture size, etc.
Disable auto refresh and quieten vis messages whilst scene and
trajectories are established:
/vis/viewer/set/autoRefresh false
/vis/verbose errors
Visualization verbosity is now errors (2)
Draw geometry:
/vis/drawVolume
/vis/scene/create
/vis/scene/add/volume world -1 -1 none m 0 0 0 0 0 0
/vis/sceneHandler/attach
Specify view angle:
/vis/viewer/set/viewpointVector -1 0 0
/vis/viewer/set/lightsVector -1 0 0
Specify style (surface, wireframe, auxiliary edges,…)
/vis/viewer/set/style wireframe
/vis/viewer/set/auxiliaryEdge true
/vis/viewer/set/lineSegmentsPerCircle 100
Draw smooth trajectories at end of event, showing trajectory points
as markers 2 pixels wide:
/vis/scene/add/trajectories smooth
/tracking/storeTrajectory 2
Attributes available for modeling and filtering with
“/vis/modeling/trajectories/create/drawByAttribute” and
“/vis/filtering/trajectories/create/attributeFilter” commands:
G4TrajectoriesModel:
Event ID (EventID): G4int
Run ID (RunID): G4int
G4SmoothTrajectory:
Charge (Ch): unit: e+ (G4double)
Track ID (ID): G4int
Initial kinetic energy (IKE): G4BestUnit (G4double)
Initial momentum magnitude (IMag): G4BestUnit (G4double)
Initial momentum (IMom): G4BestUnit (G4ThreeVector)
No. of points (NTP): G4int
PDG Encoding (PDG): G4int
Parent ID (PID): G4int
Particle Name (PN): G4String
G4SmoothTrajectoryPoint:
Auxiliary Point Position (Aux): G4BestUnit (G4ThreeVector)
Step Position (Pos): G4BestUnit (G4ThreeVector)
/vis/scene/notifyHandlers
/vis/modeling/trajectories/create/drawByCharge
/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true
/vis/scene/notifyHandlers scene-0
/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2
/vis/scene/notifyHandlers scene-0
(if too many tracks cause core dump => /tracking/storeTrajectory 0)
Draw hits at end of event:
#/vis/scene/add/hits
To draw only gammas:
#/vis/filtering/trajectories/create/particleFilter
#/vis/filtering/trajectories/particleFilter-0/add gamma
To invert the above, drawing all particles except gammas,
keep the above two lines but also add:
#/vis/filtering/trajectories/particleFilter-0/invert true
Many other options are available with /vis/modeling and /vis/filtering.
For example, to select colour by particle ID:
#/vis/modeling/trajectories/create/drawByParticleID
#/vis/modeling/trajectories/drawByParticleID-0/default/setDrawStepPts true
To select or override default colours (note: e+ is blue by default):
#/vis/modeling/trajectories/list
#/vis/modeling/trajectories/drawByParticleID-0/set e+ yellow
To superimpose all of the events from a given run:
/vis/scene/endOfEventAction accumulate
Decorations
Name
/vis/set/textColour green
/vis/set/textLayout right
/vis/scene/add/text2D 0.9 -.9 24 ! ! exampleB1
/vis/scene/notifyHandlers
or, if your system does not support right-adjustment
#/vis/scene/add/text2D 0 -.9 24 ! ! exampleB1
/vis/set/textLayout
/vis/set/textColour
Axes, scale, etc.
/vis/scene/add/scale
/vis/scene/notifyHandlers
/vis/scene/add/axes
/vis/scene/notifyHandlers
/vis/scene/add/eventID
/vis/scene/notifyHandlers
/vis/scene/add/date
/vis/scene/notifyHandlers
/vis/scene/add/logo2D
/vis/scene/notifyHandlers
/vis/scene/add/logo
/vis/scene/notifyHandlers
Frame
/vis/set/colour red
/vis/set/lineWidth 2
/vis/scene/add/frame
/vis/scene/notifyHandlers
/vis/set/colour
/vis/set/lineWidth
Attach text to one edge of Shape1, with a small, fixed offset
/vis/scene/add/text 0 6 -4 cm 18 4 4 Shape1
/vis/scene/notifyHandlers
Attach text to one corner of Shape2, with a small, fixed offset
/vis/scene/add/text 6 7 10 cm 18 4 4 Shape2
/vis/scene/notifyHandlers
To get nice view
Make the “World” box invisible
/vis/geometry/set/visibility World 0 false
/vis/scene/notifyHandlers
“Envelope” is transparent blue to represent water
/vis/geometry/set/colour Envelope 0 0 0 1 .3
/vis/scene/notifyHandlers
/vis/viewer/set/style surface
/vis/viewer/set/hiddenMarker true
/vis/viewer/set/viewpointThetaPhi 120 150
Re-establish auto refreshing and verbosity:
/vis/viewer/set/autoRefresh true
/vis/viewer/refresh
/vis/verbose warnings
Visualization verbosity is now warnings (3)
For file-based drivers, use this to create an empty detector view:
#/vis/viewer/flush
Changing export format to “jpg”