Gazebo使用Nvidia显卡
由于在安装ubuntu系统时,默认安装nvidia的开源驱动Nouveau,性能和计算较专用的驱动差,gazebo则无法使用该驱动,只能运行在集显上,因此会卡顿。
一般流程
-
查看显卡型号
# 列出硬件信息,过滤显示相关 lshw -c display
-
前往Nvidia官网下载驱动
- https://www.nvidia.cn/drivers/lookup/
- 输入相关显卡和系统信息,下载最新的驱动,记住保存路径
-
禁用默认Nvidia驱动
- 设置黑名单,进入
/etc/modprobe.d/blacklist.conf
,在最后添加禁用指令
# ban ubuntu nvidia-driver blacklist nouveau options nouveau modeset=0
- 设置黑名单,进入
-
重启
reboot
,关闭Xserver- 在登录节点进入tty命令行模式
Alt+Ctrl+F2
- 在登录节点进入tty命令行模式
-
启动驱动安装
- 输入用户名和密码登录,切换到root
su root
- 进入驱动的保存路径
cd /path/to/driver
- 安装驱动
bash nvidia-driver.run
- 输入用户名和密码登录,切换到root
-
根据提示完成安装
-
重启
reboot
,检查驱动安装nvidia-smi
可能出现的问题
tty乱码
在tty中,如果出现乱码,可能是因为系统设置了中文,但是显示错误
- 输入
echo $LANG
确认字符编码格式 - 更换编码格式
LANG=zh_CN
gcc版本
如果显卡驱动安装时,出现内核构建失败
An error occurred while performing building kernel modules
,然后日志中出现The CC version check failed
字样,可能是因为编译linux内核的gcc版本与默认版本不一致。
- 查看GCC版本信息
cat /proc/version
,里面会出现GCC版本字样Linux version 6.8.0-48-generic (buildd@lcy02-amd64-040) (x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #48~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 7 11:24:13 UTC 2
- 如果上述操作没有gcc信息,查看内核版本
uname -r
,去官网查找对应的GCC版本6.8.0-48-generic
- 更新相应的GCC版本
sudo apt-get update sudo apt-get install gcc-[version]
- 切换为对应版本
将安装的gcc版本安装到gcc选项中
将gcc切换为期望版本sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-[version] 100
sudo update-alternatives --config gcc
显卡切换
驱动安装成功后,输入nvidia-smi
,如果线程只有Xorg,并且占用的显存非常低,可能是还在使用集显,未调用独显。借助如下命令切换:
sudo apt install nvidia-prime
sudo prime-select nvidia # 等待执行直到出现`Done`字眼
标签:gcc,sudo,Nvidia,nvidia,版本,显卡,驱动,Gazebo
From: https://blog.csdn.net/bill2841/article/details/143584218