Minimal standalone SimNIBS 4.6 image with GUI support for macOS (Apple Silicon).
| File | Purpose |
|---|---|
Dockerfile.simnibs_clean |
Image definition |
entrypoint_clean.sh |
Starts Xvfb + VNC server on container boot |
run_simnibs.sh |
Launch script (mounts data, exposes VNC port) |
Docker on Apple Silicon runs x86_64 Linux containers through Rosetta emulation.
SimNIBS's 3D viewer (QOpenGLWidget) needs a full OpenGL context with FBO support,
which cannot be provided through XQuartz X11 forwarding because:
- Mesa's llvmpipe (LLVM JIT) crashes under Rosetta emulation
- Mesa's softpipe works, but its fbConfigs don't match XQuartz's visuals
- Indirect GLX lacks FBO support needed by Qt's QOpenGLWidget
The solution: run a local Xvfb inside the container (Mesa client + Mesa server = matching fbConfigs), render with softpipe (pure C, no LLVM), and expose the framebuffer via VNC.
docker build --platform linux/amd64 -f Dockerfile.simnibs_clean -t idossha/simnibs_clean:4.6 ../run_simnibs.sh /path/to/dataInside the container:
simnibs_guiConnect from macOS with any VNC client on port 5900 (password: simnibs):
open -a TigerVNC # then enter localhost:5900
# or
open vnc://localhost:5900 # macOS Screen Sharing