外观
踩坑Robotics Stack Exchange2025-08-25
WSL2 Docker 中 Gazebo 不使用 NVIDIA GPU
本文由 AI 根据公开内容整理,可能有误,请以原文为准:Gazebo not use nvidia gpu when I installed ros2 jazzy by using docker desktop on Windows wsl2(Robotics Stack Exchange #111677)
状态:已解决
问题
Windows WSL2 Ubuntu 中用 Docker Desktop 运行 osrf/ros:jazzy-desktop-full,Gazebo 能启动但很慢,nvidia-smi 显示 Gazebo 未用 GPU;使用 --runtime=nvidia 报 unknown or invalid runtime name: nvidia。
环境
Windows WSL2 Ubuntu、Docker Desktop、osrf/ros:jazzy-desktop-full、ROS2 Jazzy、Gazebo/Gz sim、NVIDIA GPU,提到 RTX 2060。
解决办法
- 运行容器时增加 WSLg/GPU 相关参数:
-v /mnt/wslg:/mnt/wslg、-e WAYLAND_DISPLAY=$WAYLAND_DISPLAY、--device=/dev/dxg、-v /usr/lib/wsl:/usr/lib/wsl、-e LD_LIBRARY_PATH=/usr/lib/wsl/lib。 - 继续保留原有
--gpus all、--device /dev/dri:/dev/dri、--privileged、-v /dev:/dev、-e NVIDIA_DRIVER_CAPABILITIES=all等参数。 - 验证结果:
gz simPrius 示例相机约 62 FPS,nvidia-smi中出现与模拟器相关的ruby进程。
原问题作者:AngryTurtle;采纳答案作者:AngryTurtle。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。
来源
本页事实对应的公开页面,以原文为准。