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

相关推荐
米糕闯编程8 天前
鱼香ros2(二十五)导航
机器人·slam·ros2·launch·navigation2
兜里只有三分钱~11 天前
从 URDF 到 SDK:开发者视角拆解启元 T1/Q1 机器人架构
机器人·sdk·仿真·ros2·urdf
特立独行的猫a15 天前
ROS 2 主流DDS中间件入门:Cyclone DDS 与 Fast DDS 完全指南
中间件·ros2·dds·fast dds·cyclone dds
轻口味18 天前
启元无真机二开实战1:54 个接口能做什么、不能做什么——启元 Q1/T1 SDK 能力全景与版本矩阵
线性代数·矩阵·ros2·具身智能·启元机器人
热金鼠21 天前
2.ROS2 核心机制与命令行实操
ros2
大雨歌1 个月前
笛卡尔坐标 → 自然坐标(Frenet) 逐步推导全解 -2
ros2
米糕闯编程1 个月前
鱼香ros2(十七)C++小海龟巡逻
开发语言·c++·机器人·ros2·服务·小海龟
风合星语1 个月前
2026 机器人工程实例(七):Nav2 到站了,任务却没完成——AMR 载货导航中的托盘滑移与验收闭环
人工智能·机器人·ros2·机器人仿真·nav2·mujoco·amr
米糕闯编程1 个月前
鱼香ros2(十二)C++话题订阅与发布
开发语言·c++·ros2·话题
朝朝辞暮i1 个月前
C++ 第 36 课:Action——机械臂/VLA 非常重要
开发语言·c++·算法·ros2