Installation#

System Requirements#

Requirement

Specification

Python

3.10 or later

Physics Engine

Genesis 0.3.3, installed automatically

Verify GPU and OpenGL#

Genesis can use OpenGL to accelerate the rendering process. If you plan to use it, verify your setup before installing.

Install these command-line tools to help check your system, if you don’t already have them:

sudo apt update && sudo apt install -y mesa-utils pciutils

Run the checks:

# Confirm the NVIDIA driver is loaded
nvidia-smi

# Confirm OpenGL is using the GPU
# The renderer line must show your GPU name, NOT "llvmpipe" or "softpipe"
glxinfo | grep -E "OpenGL vendor|OpenGL renderer"

Note

On hybrid laptops (Intel + NVIDIA), OpenGL may default to the integrated GPU or to software rendering. Switch to the discrete GPU before proceeding:

sudo prime-select nvidia
sudo reboot

If the issue persists after rebooting, add the following line to your shell profile:

export __GLX_VENDOR_LIBRARY_NAME=nvidia

Install DexSuite#

Installing From Source#

git clone <REPO_URL> dexsuite
cd dexsuite
pip install -e .

Verify the Installation#

Run the following to confirm that DexSuite imports correctly:

python - << 'PY'
import sys, dexsuite
print("Python    :", sys.version.split()[0])
print("DexSuite  :", getattr(dexsuite, "__version__", "unknown"))
print("Status    : OK")
PY

Expected output:

Python    : 3.10.x
DexSuite  : 0.1.3
Status    : OK

Troubleshooting#

Genesis is running very slowly or shows EGL/GLX errors

OpenGL is not reaching the GPU. Repeat the GPU verification steps above. On hybrid laptops, run sudo prime-select nvidia and reboot. If the problem persists, add export __GLX_VENDOR_LIBRARY_NAME=nvidia to your shell profile and open a new terminal.

OpenGL errors inside a Virtual Machine (VM)

For machines with Nvidia GPU, try to force GPU-accelerated rendering by exporting the following environment variables inside the Ubuntu VM:

export LIBGL_ALWAYS_INDIRECT=0
export GALLIUM_DRIVER=d3d12
export MESA_D3D12_DEFAULT_ADAPTER_NAME=NVIDIA

If it does not work, try installing the latest version of OSMesa:

Then, only enforce direct rendering:

export LIBGL_ALWAYS_INDIRECT=0

At the point, glxinfo mesa utility can be used to determine which OpenGL vendor is being used by default, i.e.:

glxinfo -B

As a last resort, one can force CPU (aka. software) rendering using OSMesa if necessary as follows:

export LIBGL_ALWAYS_SOFTWARE=1

Python version is below 3.10

Check which interpreter is active:

python --version

Recreate the virtual environment with a supported interpreter if the version is below 3.10.

Next Steps#

Continue to Run a Simple Demo to launch your first environment and verify the full stack.