Troubleshooting#
docker compose upfails withpermission deniedon/dev/dri/renderD128The
rendergroup GID inside the container does not match the host. Confirmgetent group renderon the host and re-runmake up(the Makefile auto-detects the render / video GIDs).
Basler camera is not detected
Run
make list-camerasto confirm the camera is visible on the host.Ensure the USB device is powered and cabled; the Makefile passes
/dev/bus/usband a USB cgroup rule so the container can see it.
--presenter glfails to start; app falls back tocv2or headlessThe container logs the reason (missing GL libs,
glfwInit()failure, no display server, unsupported GLX/EGL).Ensure
DISPLAYis set andxhost +local:rootallows local containers to reach the X server.
resolve : lstat /home/.../docker: no such file or directoryduring buildThe compose build context is misconfigured. It must point at the app root with
dockerfile: docker/Dockerfile. Re-check docker/docker-compose.yaml.
make upsays\: command not foundA stray double backslash (
\\) is present in theuprecipe. Ensure each continuation is a single\.
make up REGISTRY=truefails to pullVerify the image tag exists in
REGISTRY_URL. Retry withREGISTRY=falseto build from source while the registry issue is resolved.
Camera runs but latency is high
Enable the low-latency profile:
make up LOWLATENCY=1 CAMERA_TRIGGER=vsync VSYNC_DIVISOR=2 SERIAL=<SERIAL_NUMBER>.Compare
trigger_to_display_msbefore and after in the CSV output.See the latency reality check in Runtime Configuration.
Model fails to load on GPU
Confirm the OpenVINO IR exists at
models/yolo11n_polyp/best_openvino_model/best.xmlon the host.Confirm
/dev/driis passed through (checkdocker exec <container> ls /dev/dri).
Local model preparation (make backend-bootstrap)#
torch.xpu not availableorRuntimeError: XPU device init failedVerify host L0 stack:
make check-l0.Verify
/dev/driexists and your user is in therendergroup (id -nG | tr ' ' '\n' | grep -E '^render$'). Log out and back in aftermake setup-prerequisitesif you were just added.torchmust be a+xpubuild (e.g.torch==2.7.1+xpu) from thehttps://download.pytorch.org/whl/xpuindex. Stock CPU or CUDA wheels do not exposetorch.xpu. Recreate the venv withrm -rf .venv-backend && make backend-venv.
zeInit failedat import timeThe Intel
libze1/libze-intel-gpu1package is missing or a stale OpenCL loader is masking Level Zero. Re-runmake setup-prerequisitesandmake check-l0.
Dataset auto-detect finds zero paired samples
REAL-Colon: confirm sibling
SSS-VVV_frames/+SSS-VVV_annotations/directories exist underdatasets/REAL-Colon/raw/(extracted from the*_frames.tar.gz/*_annotations.tar.gzarchives). Frame stems must match XML stems.Legacy mask-based drops: image stems must match mask stems (
100.png↔100.png), andmasks/must actually contain binary masks (not color-coded segmentations).Delete
datasets/*/data.yamland rerunmake backend-bootstrapto force re-detection.
Reset the trained-model cache
The bootstrap step is cache-first. To rebuild from scratch after a dataset or config change:
rm -rf models/yolo11n_polyp/best_openvino_model \ models/yolo11n_polyp/.trained_ok make backend-bootstrap
Missing demo video for
SOURCE=filePlace any endoscopic video at
videos/polyp_test.mp4, or generate one from the REAL-Colon subset with.venv-backend/bin/python scripts/create_endoscopy_video.py.