v2 vulkan
Browse files- Dockerfile +5 -0
- human_readme.md +4 -2
Dockerfile
CHANGED
|
@@ -11,7 +11,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
| 11 |
git \
|
| 12 |
ffmpeg \
|
| 13 |
libgl1 \
|
|
|
|
| 14 |
libglib2.0-0 \
|
|
|
|
|
|
|
| 15 |
&& add-apt-repository ppa:deadsnakes/ppa \
|
| 16 |
&& apt-get update && apt-get install -y --no-install-recommends \
|
| 17 |
python3.11 \
|
|
@@ -27,6 +30,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
| 27 |
|
| 28 |
ENV PYTHONUNBUFFERED=1 \
|
| 29 |
PIP_NO_CACHE_DIR=1 \
|
|
|
|
| 30 |
PORT=7860
|
| 31 |
|
| 32 |
RUN useradd -m -u 1000 user
|
|
@@ -38,6 +42,7 @@ RUN python3 -m pip install --upgrade pip setuptools wheel \
|
|
| 38 |
|
| 39 |
COPY --chown=user:user . .
|
| 40 |
RUN python3 -m pip install -e .
|
|
|
|
| 41 |
|
| 42 |
USER user
|
| 43 |
EXPOSE 7860
|
|
|
|
| 11 |
git \
|
| 12 |
ffmpeg \
|
| 13 |
libgl1 \
|
| 14 |
+
libglvnd-dev \
|
| 15 |
libglib2.0-0 \
|
| 16 |
+
libvulkan1 \
|
| 17 |
+
vulkan-tools \
|
| 18 |
&& add-apt-repository ppa:deadsnakes/ppa \
|
| 19 |
&& apt-get update && apt-get install -y --no-install-recommends \
|
| 20 |
python3.11 \
|
|
|
|
| 30 |
|
| 31 |
ENV PYTHONUNBUFFERED=1 \
|
| 32 |
PIP_NO_CACHE_DIR=1 \
|
| 33 |
+
NVIDIA_DRIVER_CAPABILITIES=compute,utility,graphics \
|
| 34 |
PORT=7860
|
| 35 |
|
| 36 |
RUN useradd -m -u 1000 user
|
|
|
|
| 42 |
|
| 43 |
COPY --chown=user:user . .
|
| 44 |
RUN python3 -m pip install -e .
|
| 45 |
+
RUN chown -R user:user /home/user/app
|
| 46 |
|
| 47 |
USER user
|
| 48 |
EXPOSE 7860
|
human_readme.md
CHANGED
|
@@ -29,12 +29,14 @@ Build image:
|
|
| 29 |
docker build -t robomme-gradio:gpu .
|
| 30 |
```
|
| 31 |
|
| 32 |
-
Run container (GPU):
|
| 33 |
|
| 34 |
```bash
|
| 35 |
docker run --rm --gpus all -p 7860:7860 robomme-gradio:gpu
|
| 36 |
```
|
| 37 |
|
|
|
|
|
|
|
| 38 |
Optional metadata override:
|
| 39 |
|
| 40 |
```bash
|
|
@@ -148,7 +150,7 @@ A1: Use a physical display or set up a virtual display for GUI rendering (e.g. i
|
|
| 148 |
|
| 149 |
**Q2: Failure related to Vulkan installation.**
|
| 150 |
|
| 151 |
-
A2:
|
| 152 |
|
| 153 |
```python
|
| 154 |
os.environ['SAPIEN_RENDER_DEVICE'] = 'cpu'
|
|
|
|
| 29 |
docker build -t robomme-gradio:gpu .
|
| 30 |
```
|
| 31 |
|
| 32 |
+
Run container (GPU + Vulkan for ManiSkill/SAPIEN):
|
| 33 |
|
| 34 |
```bash
|
| 35 |
docker run --rm --gpus all -p 7860:7860 robomme-gradio:gpu
|
| 36 |
```
|
| 37 |
|
| 38 |
+
The image sets `NVIDIA_DRIVER_CAPABILITIES=compute,utility,graphics` so the NVIDIA container runtime exposes Vulkan/graphics driver files inside the container. Without graphics capability, ManiSkill/SAPIEN may fail with `vk::createInstanceUnique: ErrorIncompatibleDriver`.
|
| 39 |
+
|
| 40 |
Optional metadata override:
|
| 41 |
|
| 42 |
```bash
|
|
|
|
| 150 |
|
| 151 |
**Q2: Failure related to Vulkan installation.**
|
| 152 |
|
| 153 |
+
A2: ManiSkill/SAPIEN requires both Vulkan userspace packages inside the container and NVIDIA graphics capability exposed by the container runtime. This image installs `libvulkan1`, `vulkan-tools`, and `libglvnd-dev`, and sets `NVIDIA_DRIVER_CAPABILITIES=compute,utility,graphics`. If it still does not work, first verify the host machine itself supports Vulkan (`vulkaninfo` on the host), then switch to CPU rendering:
|
| 154 |
|
| 155 |
```python
|
| 156 |
os.environ['SAPIEN_RENDER_DEVICE'] = 'cpu'
|