Ubuntu 22.04 下让 Gazebo / RViz 使用 NVIDIA GPU 渲染

1. 背景

在 Ubuntu 22.04 + ROS2 Humble + 双显卡笔记本环境下,Gazebo 和 RViz 有时默认不会走 NVIDIA。

如果你希望不改 launch 文件、不改代码,只通过 ~/.bashrc 统一配置默认渲染方式,那么最直接的方法就是在 shell 环境里加几行 export


2. ~/.bashrc 配置

把下面内容加到 ~/.bashrc 末尾:

bash 复制代码
# Force Gazebo / RViz to prefer NVIDIA GPU rendering on PRIME laptops.
export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
export QT_OPENGL=desktop
export IGN_RENDER_ENGINE=ogre2
export GZ_RENDER_ENGINE=ogre2

然后执行:

bash 复制代码
source ~/.bashrc

或者直接打开一个新终端。


3. 使用方式

之后按平常方式启动就行:

bash 复制代码
rviz2
ign gazebo -g

如果你是通过 ros2 launch 启动,只要这个 launch 是从当前 shell 拉起来的,也会继承这些环境变量。


4. 如何验证

启动 Gazebo 或 RViz 后,另开一个终端执行:

bash 复制代码
nvidia-smi

如果进程列表里出现:

  • rviz2
  • ign gazebo

并且有显存占用,就说明已经在使用 NVIDIA GPU 渲染。


5. 一句话总结

如果你不想改代码和 launch 文件,只想通过 ~/.bashrc 控制 Gazebo / RViz 默认走 GPU,那么直接加一组 NVIDIA offload 和 ogre2 渲染环境变量,就是最简单的办法。

相关推荐
kobesdu2 小时前
【ROS2实战笔记-23】参数系统中的动态参数与远程加载安全剖析
笔记·安全·slam·ros2
kyle~1 天前
ros_gz_bridge---底层通信的实现
c++·机器人·仿真·ros2
济6171 天前
ROS开发专栏---ROS2系统架构简介及Gazebo 仿真平台搭建---适配Ubuntu 22.04
ros2·机器人开发
济6171 天前
ROS开发专栏---创建软件包 和编写第一个节点---适配Ubuntu 22.04
嵌入式·ros2·机器人方向
kyle~2 天前
机器人感知 --- 多相机传感时间误差分析
linux·c++·数码相机·机器人·ros2·传感器
勤自省2 天前
ROS2 + OpenCV 实战教程:人脸识别、物体跟踪、ArUco 二维码识别初级
人工智能·opencv·ubuntu·计算机视觉·ros2
kyle~2 天前
机器人感知---工业相机硬触发、时间戳同步( PTP)与 ROS2 驱动时间戳设计
linux·c++·机器人·ros2
liu-yonggang2 天前
ROS2 性能优化指南
性能优化·ros2
波特率1152003 天前
在ROS2当中两种rmw比较(CycloneDDS和FastDDS)
ros·ros2·dds
kyle~4 天前
CDR--- 数据序列化格式(DDS的底层数据支持)
机器人·信息与通信·ros2·dds