Skip to content

Update Dockerfile for current dependencies and headless rendering - #172

Open
cedrichld wants to merge 2 commits into
f1tenth:dev-humblefrom
cedrichld:containers
Open

Update Dockerfile for current dependencies and headless rendering#172
cedrichld wants to merge 2 commits into
f1tenth:dev-humblefrom
cedrichld:containers

Conversation

@cedrichld

Copy link
Copy Markdown

Summary

The Dockerfile predated the PyQt6/pyqtgraph renderer and the current pyproject.toml, so the image no longer produced a working environment.

  • Install the Qt6/OpenGL system libraries the PyQt6 wheels need at runtime, including the xcb platform libs so a forwarded X display still works.
  • Drop the stale nvidia-docker env vars and the manual PyOpenGL installs (now declared in pyproject.toml).
  • Render headless by default (QT_QPA_PLATFORM=offscreen), overridable at docker run for GUI use.
  • Smoke-test during the build: create the env, step it 50 times, and render an rgb_array frame offscreen. This also bakes the default track into the image, so the container works offline.
  • Add a .dockerignore and refresh the README Docker section.

The existing Docker CI workflow picks up the smoke test automatically, since it runs the build.

🤖 Generated with Claude Code

- Install the Qt6/OpenGL system libraries the pyqt6 renderer needs
- Drop the stale nvidia-docker env vars and manual PyOpenGL installs
- Render offscreen by default (QT_QPA_PLATFORM=offscreen)
- Smoke-test the env during the build, baking in the default track
- Add a .dockerignore and refresh the README Docker section
PyQt6 releases after 6.7.1 only ship aarch64 wheels for glibc >= 2.39,
so on Ubuntu 22.04 (glibc 2.35) pip falls back to the sdist and fails
looking for qmake. Seen building the image on Apple Silicon.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant