I am working with Genesis World (the physics simulation platform) simultaneously on two different Debian machines using the exact same installation steps (CPU mode).
My Two Machines
| Machine | Type | GPU | Status | Performance | Recommended Backend |
|---|---|---|---|---|---|
| HP Laptop | HP Laptop 15s-fd0xxx | Intel UHD Graphics (Alder Lake-N) – Integrated | ✅ Working Well | ~100 FPS | gs.cpu |
| ASUS Desktop | Desktop PC | NVIDIA GeForce GT 1030 (2 GB VRAM) – Old Dedicated | ⚠️ Not working yet | Not running | gs.cpu |
Why the Same Installation Behaves Differently
I am following identical installation commands on both machines:
- Create virtual environment
- Install CPU PyTorch
- Install genesis-world
- Run the same test_genesis.py script
Results are very different because of hardware:
- HP Laptop (Intel UHD): Clean modern integrated graphics with no driver conflicts → Simulation runs smoothly with the red box falling at good speed.
- ASUS Desktop (GT 1030): Old low-end NVIDIA card + outdated/partial NVIDIA drivers → Causes conflicts even in CPU mode. The limited 2GB VRAM and old architecture make it problematic for modern tools like Genesis.
Key Lesson: The same Genesis install can succeed on one machine and fail on another purely due to GPU age, drivers, and hardware compatibility.
Full Working test_genesis.py Code (Use on Both Machines)
Copy this into test_genesis.py on either machine:
Python
import genesis as gs
# Initialize Genesis (CPU only for both machines)
gs.init(backend=gs.cpu)
# Create the scene with viewer
scene = gs.Scene(
show_viewer=True,
viewer_options=gs.options.ViewerOptions(
camera_pos=(3, 1, 2),
camera_lookat=(0, 0, 0.5),
camera_fov=40,
),
sim_options=gs.options.SimOptions(dt=0.01)
)
# Ground plane
plane = scene.add_entity(gs.morphs.Plane())
# Falling box
box = scene.add_entity(
gs.morphs.Box(
size=(0.2, 0.2, 0.2),
pos=(0.0, 0.0, 0.8),
),
surface=gs.surfaces.Default(color=(0.8, 0.2, 0.2))
)
scene.build()
print("✅ Simulation ready! Watch the red box fall in the viewer window.")
for i in range(800):
scene.step()
How to run it:
Bash
cd ~
source genesis-env-hp/bin/activate # On HP Laptop
# OR
source genesis-env/bin/activate # On ASUS Desktop (adjust venv name if different)
python test_genesis.py
Troubleshooting Script for ASUS Desktop
Run these commands one by one on the ASUS desktop to clean up conflicts:
Bash
cd ~
# 1. Activate the environment
source genesis-env/bin/activate # Change name if you used a different venv
# 2. Clean previous PyTorch installation
pip uninstall torch torchvision torchaudio genesis-world -y
# 3. Fresh CPU-only install
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
# 4. Reinstall Genesis
pip install genesis-world
# 5. Create/Update the test file (copy the code above)
cat > test_genesis.py << 'EOF'
import genesis as gs
gs.init(backend=gs.cpu)
scene = gs.Scene(
show_viewer=True,
viewer_options=gs.options.ViewerOptions(camera_pos=(3, 1, 2), camera_lookat=(0, 0, 0.5), camera_fov=40),
sim_options=gs.options.SimOptions(dt=0.01)
)
plane = scene.add_entity(gs.morphs.Plane())
box = scene.add_entity(gs.morphs.Box(size=(0.2, 0.2, 0.2), pos=(0.0, 0.0, 0.8)), surface=gs.surfaces.Default(color=(0.8, 0.2, 0.2)))
scene.build()
print("✅ Simulation ready! Watch the red box fall.")
for i in range(800):
scene.step()
EOF
# 6. Run it
python test_genesis.py