diff --git a/eic-spack.sh b/eic-spack.sh
index f705018e10e66d9554cec71990415c653075bcdb..f876ebc82490fc7a4020770549d36283343d5d0e 100644
--- a/eic-spack.sh
+++ b/eic-spack.sh
@@ -3,7 +3,7 @@ EICSPACK_ORGREPO="eic/eic-spack"
 
 ## EIC spack github version, e.g. v0.19.7 or commit hash
 ## note: nightly builds will use e.g. releases/v0.19
-EICSPACK_VERSION="v0.20.10"
+EICSPACK_VERSION="v0.20.11"
 
 ## Space-separated list of eic-spack cherry-picks
 read -r -d '' EICSPACK_CHERRYPICKS <<- \
diff --git a/spack-environment/packages.yaml b/spack-environment/packages.yaml
index 1908d2e39d9419b2b696fc62d0704e4cad4ea55a..2c79c7fe28e7ed584bf0d587957dbb31a29781f5 100644
--- a/spack-environment/packages.yaml
+++ b/spack-environment/packages.yaml
@@ -111,7 +111,8 @@ packages:
   geant4:
     require:
     - '@11.1.1'
-    - cxxstd=17 +opengl -vecgeom +x11 +qt +threads -vtk
+    - cxxstd=17 -vecgeom +threads -vtk
+    - any_of: [+opengl +qt +x11, -opengl -qt -x11]
   graphviz:
     require:
     - '@8.0.1'
@@ -154,8 +155,9 @@ packages:
     - '@3.11.2'
   npsim:
     require:
-    - '@1.1.0'
-    - +geocad +http
+    - '@1.2.0'
+    - +http
+    - any_of: [+geocad, -geocad]
   onnx:
     require:
     - '@1.13.1'
@@ -265,7 +267,8 @@ packages:
   root:
     require:
     - '@6.26.10'
-    - cxxstd=17 +fftw +fortran +gdml +http -ipo +mlp +pythia8 +root7 +tmva +vc -webgui +xrootd +ssl 
+    - cxxstd=17 +fftw +fortran +gdml +http -ipo +mlp +pythia8 +root7 +tmva +vc -webgui +xrootd +ssl
+    - any_of: [+opengl +x, -opengl -x]
   spdlog:
     require:
     - '@1.11.0'
diff --git a/spack-environment/prod/spack.yaml b/spack-environment/prod/spack.yaml
index 241352aa43fc85520aa9e6b2f775c77fe1258ae9..5e24e56155080827d96f109076b156a36a0731ba 100644
--- a/spack-environment/prod/spack.yaml
+++ b/spack-environment/prod/spack.yaml
@@ -10,16 +10,16 @@ spack:
     - fastjet
     - fjcontrib
     - gaudi
-    - geant4
+    - geant4 -opengl
     - hepmc3
     - intel-tbb
     - irt
     - jana2
-    - npsim
+    - npsim -geocad
     - py-boto3
     - py-jinja2
     - py-jinja2-cli
     - py-pip
-    - root
+    - root -opengl
     - xrootd
   view: false