虚拟机中gazebo用GPU加速
现象:电脑配置不错,有GPU,但是gazebo很卡,尤其是相机出图帧率,只有1帧左右
环境:kvm虚拟机
排查:通过nvidia-smi
查看,gzserver
和gzclient
均不在GPU中消耗显存,怀疑GPU未对Gazebo有效工作
解决:
1、卸载重装驱动
sudo apt-get autoremove --purge nvidia* 卸载
nvidia-smi
查看GPU型号
https://www.nvidia.cn/drivers/lookup/ 找到匹配的显卡驱动,点击下载
配置禁用
cat /etc/modprobe.d/blacklist.conf
该配置是因为
Gazebo在使用NVIDIA显卡时通常不会直接受到nouveau驱动程序的支持。原因在于nouveau是一个开源的、由社区维护的NVIDIA显卡驱动,它可能不具备一些专有的功能和优化,这可能会导致在使用Gazebo等图形密集型应用程序时性能不佳或出现兼容性问题。
为了获得更好的性能和稳定性,Gazebo通常推荐使用NVIDIA官方提供的专有驱动程序,而不是nouveau驱动程序。NVIDIA的闭源驱动程序通常会提供更好的性能和更好的OpenGL支持,这样在使用Gazebo进行机器人仿真时能够获得更好的体验。
因此,如果你计划在使用Gazebo时使用NVIDIA显卡,强烈建议安装NVIDIA官方提供的闭源驱动程序来获得更好的性能和支持。
修改后写入系统配置,并设置无图形化启动
sudo update-initramfs -u
sudo systemctl set-default multi-user.target
sudo reboot
重启后命令行登陆
sudo chmod a+x NVIDIA-Linux-x86_64-535.104.05.run
sudo ./NVIDIA-Linux-x86_64-535.104.05.run --no-x-check --no-nouveau-check
基本都是ok点下去
安装完设置图形化重启
sudo systemctl set-default graphical.target
sudo reboot
再次打开,就会发现gazebo性能提升。出图帧率可提升至20帧左右,gzserver
和gzclient也
在GPU中消耗显存