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 渲染环境变量,就是最简单的办法。

相关推荐
zhangrelay1 天前
机械臂末端规划智能模型的误区演示
linux·笔记·学习·ubuntu·ros2
爱就是恒久忍耐2 天前
Zenoh与ROS2通信
ros2
风合星语15 天前
2026 ROS 2 Lyrical C++ 入门(五):Action 实战——任务反馈、取消与超时处理
c++·机器人·ros2·异步编程·lyrical
浅梦语1117 天前
32-1 nav2_map_server实际作用与用法图解
ros2·nav2
米糕闯编程18 天前
鱼香ros2(七)功能包组织C++节点
c++·ros2·cmakelists
米糕闯编程19 天前
鱼香ros2(五)用C++编写节点
c++·ros2·cmakelists·鱼香
blueSatchel21 天前
c++action 编写(ros-humble)
c++·ros2
blueSatchel21 天前
ros-humble仿真-建图-导航
linux·ros2
米糕闯编程23 天前
鱼香ros2(三)Linux操作总结
linux·机器人·ros2
蝙蝠侠的小蝙蝠24 天前
【ROS2 工具】Launch
ros2·launch·多节点启动