diff --git a/.devcontainer/control/Dockerfile b/.devcontainer/control/Dockerfile index aad8418b1094ac5aa7df4a689c2fb082b6a9624b..77178b62c8b1bb1f2dbb18ea42679a1b44ece48d 100644 --- a/.devcontainer/control/Dockerfile +++ b/.devcontainer/control/Dockerfile @@ -57,7 +57,7 @@ RUN bash install_dependency.sh stack-of-tasks/eigenpy/v3.10.0/1 \ && bash install_dependency.sh humanoid-path-planner/hpp-environments/v6.0.0/1 \ && bash install_dependency.sh humanoid-path-planner/hpp-pinocchio/v6.0.0/1 \ && bash install_dependency.sh humanoid-path-planner/hpp-constraints/v6.0.0/1 \ - # For some reason without `sudo` proxsuite doesn't find nanobind + # For some reason without `sudo` ProxSuite doesn't find nanobind && sudo bash install_dependency.sh Simple-Robotics/proxsuite/devel/1 \ && bash install_dependency.sh humanoid-path-planner/hpp-core/v6.0.0/1 \ && bash install_dependency.sh humanoid-path-planner/hpp-corbaserver/v6.0.0/1 \ @@ -73,7 +73,8 @@ RUN bash install_dependency.sh stack-of-tasks/eigenpy/v3.10.0/1 \ # Remove folders with meshes and binary data to reduce image size && rm -rf example-robot-data \ && rm -rf pinocchio/models \ - && rm -rf proxsuite/test/data + # ProxSuite files require `sudo` to be removed + && sudo rm -rf proxsuite/test/data ENV PATH=/usr/local/bin:${PATH} ENV LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH} diff --git a/.devcontainer/control/devcontainer.json b/.devcontainer/control/devcontainer.json index fa0b5aa33aa1f0f87a08d145b03b05cdf887ddbf..e63a76959455534ba24fe0df2a28f7c1607f6f07 100644 --- a/.devcontainer/control/devcontainer.json +++ b/.devcontainer/control/devcontainer.json @@ -30,7 +30,7 @@ "target": "/home/gepetto/ros2_ws/setup.sh", "type": "bind" }, - // Enable sceen acess + // Enable screen access { "source": "/tmp/.X11-unix", "target": "/tmp/.X11-unix", diff --git a/.devcontainer/vision/devcontainer.json b/.devcontainer/vision/devcontainer.json index 4fe58ac484650a8440353ee7fe163bbfd982ba54..9b07f4e946e68448aff7388d12d0d41b38dc2f32 100644 --- a/.devcontainer/vision/devcontainer.json +++ b/.devcontainer/vision/devcontainer.json @@ -30,7 +30,7 @@ "target": "/home/gepetto/ros2_ws/setup.sh", "type": "bind" }, - // Enable sceen acess + // Enable screen access { "source": "/tmp/.X11-unix", "target": "/tmp/.X11-unix", diff --git a/.devcontainer/vision_cuda/devcontainer.json b/.devcontainer/vision_cuda/devcontainer.json new file mode 100644 index 0000000000000000000000000000000000000000..c9b29e491a941806138f7232ca1bf31d25ba3628 --- /dev/null +++ b/.devcontainer/vision_cuda/devcontainer.json @@ -0,0 +1,89 @@ +{ + "name": "gepetto-devcontainer", + // Uncomment ``build`` and comment out ``image`` to build from source + // "build": { + // "dockerfile": "Dockerfile", + // "context": "." + // }, + "image": "gitlab.laas.fr:4567/agimus-project/agimus_dev_container:humble-devel-vision-cuda", + "initializeCommand": "xhost +local:docker", + "containerEnv": { + "DISPLAY": "${localEnv:DISPLAY}", + "QT_X11_NO_MITSHM": "1", + // NVIDIA related ENV variables make no difference + // in case no discrete GPU is present in the system + "NVIDIA_DRIVER_CAPABILITIES": "all", + "__NV_PRIME_RENDER_OFFLOAD": "1", + "__GLX_VENDOR_LIBRARY_NAME": "nvidia" + }, + "remoteUser": "gepetto", + "privileged": true, + "mounts": [ + // Mount the workspace + { + "source": "${localWorkspaceFolder}/.devcontainer/scripts/build.sh", + "target": "/home/gepetto/ros2_ws/build.sh", + "type": "bind" + }, + { + "source": "${localWorkspaceFolder}/.devcontainer/scripts/setup.sh", + "target": "/home/gepetto/ros2_ws/setup.sh", + "type": "bind" + }, + // Enable screen access + { + "source": "/tmp/.X11-unix", + "target": "/tmp/.X11-unix", + "type": "bind" + }, + { + "source": "/dev/dri", + "target": "/dev/dri", + "type": "bind" + }, + // Presist bash history + { + "source": "${localWorkspaceFolderBasename}-bashhistory", + "target": "/commandhistory", + "type": "volume" + } + + ], + "workspaceFolder": "/home/gepetto/ros2_ws/src", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/gepetto/ros2_ws/src,type=bind,consistency=cached", + "runArgs": [ + "--ipc=host", + "--net=host" + ], + "hostRequirements": { + "gpu": true + }, + "customizations": { + "vscode": { + "settings": { + "terminal.integrated.profiles.linux": { + "bash": { + "path": "bash" + } + }, + "terminal.integrated.defaultProfile.linux": "bash" + }, + "extensions": [ + "ms-vscode.cpptools-extension-pack", + "ms-python.python", + "ms-python.black-formatter", + "ms-python.isort", + "ms-toolsai.jupyter", + "ms-iot.vscode-ros", + "redhat.vscode-yaml", + "redhat.vscode-xml", + "twxs.cmake", + "ajshort.msg", + "xaver.clang-format", + "njpwerner.autodocstring", + "cschlosser.doxdocgen", + "streetsidesoftware.code-spell-checker" + ] + } + } +}