目录
3.1. 解决方法:在系统的“软件和更新”直接安装NVIDIA driver。
4.5. 打算在windows下,用WSL跑源码跑ROS2,在windows跑Carla(没用到)
1. 问题描述
参考如下教程
[carla入门教程]-1 安装carla环境_carla安装-CSDN博客
我安装了CARLA_0.9.13,进行到运行服务器
sh CarlaUE4.sh
我可以把Carla打开,但是特别特别卡,WASD无法控制环境界面的视角切换(或者说切换很卡),
终端的没有报错,但是有WANRNING(当时忘截图了,下面这个图是解决之后没有WARNING的截图)
终端WARNING的内容是:
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
在终端输入watch -n 1 nvidia-smi查看显卡情况如下图:
2. 问题解析
2.1. 针对WARNING内容的解析
下面来自ChatGPT:
lavapipe
是一种软件渲染器,它是 Mesa 3D 图形库的一部分,用于提供对 Vulkan API 的支持。lavapipe
并不是一个真正的硬件加速 Vulkan 实现,而是一个基于 CPU 的软件实现,因此其性能远低于硬件加速的实现。
当你看到警告 "lavapipe is not a conformant vulkan implementation, testing use only" 时,这意味着当前的 Vulkan 实现是基于 lavapipe
的,而不是使用实际的 GPU 硬件。这通常发生在以下几种情况下:
- 缺少硬件加速驱动程序:系统可能没有正确安装支持 Vulkan 的 GPU 驱动程序,导致系统默认使用
lavapipe
作为回退。 - 硬件不支持 Vulkan:如果你的 GPU 不支持 Vulkan,那么系统可能会自动使用
lavapipe
来提供基础的 Vulkan 支持。 - 配置问题:可能是系统配置问题,导致未能正确识别和使用硬件加速的 Vulkan 实现。
要解决这个问题,你可以尝试以下步骤:
- 检查并更新 GPU 驱动程序:确保安装了最新的 GPU 驱动程序,这些驱动程序应该支持 Vulkan。
- 检查硬件支持:确认你的 GPU 支持 Vulkan。可以通过查询 GPU 型号的规格或使用 Vulkan 的工具来验证。
- 配置系统使用硬件加速:确保系统配置正确,优先使用硬件加速的 Vulkan 实现,而不是
lavapipe
。
通过这些步骤,你可能能够解决这个警告,并使用更高效的硬件加速 Vulkan 实现。
综上,意思是,我的显卡驱动不支持硬件加速,或者说,Carla需要的硬件加速Vulkan与我的显卡驱动不匹配,因此是一直在用CPU做运算。我用htop查看CPU的使用情况,证实了这种解析,htop显示CPU占满了,但实际情况是跑Carla的时候CPU的参与量并没有那么大。(这里htop的结果我也没图。。)
2.2. 针对nvidia-smi结果的解析
在运行CarlaUE4.sh之后,看到上述nvidia-smi显卡的实际功率/额定功率(Usage/Cap)是12W/80W,这说明显卡根本没被用到。因为正常情况下打开电脑,显卡的功率就会保持一个10几W。
我尝试了在windows跑Carla,nvidia-smi之后的结果是130W/130W,这才是正常的情况,至少GPU占用率得有个95%以上。
tips:
关于这个显卡功率,可以查到,我的NVIDIA GeForce RTX 3060 Laptop版本的显卡,最大功率是130W。
在Windows下,我的电脑可以切换安静模式/自动模式/野兽模式,安静模式限制最大功率80W,野兽模式可以达到最大功率130W,自动模式可以自适应80-130W。
Ubuntu会限制其最大功率为80W,如果想放开最大功率,参考链接30系列显卡在ubuntu下不能满血运行的问题_nvidia-settings -q dynamicboostsupport-CSDN博客
但其实问题不大,在Windows的安静模式80W试了,也可以跑起来Carla。
3. 解决方法
综合上述问题解析,其实就是WARNING里那句话,显卡驱动和Carla需要的不匹配。
因此解决方法就是,找到和Carla匹配的显卡驱动就行,让WARNING消失。
3.1. 解决方法:在系统的“软件和更新”直接安装NVIDIA driver。
直接用软件和更新里的就行,用不着单独手动安装,后面记录了手动安装的踩坑记录,手动安装装的不一定和系统匹配,虽然说是版本型号都对上了,但不一定自己的电脑能适配。在Ubuntu20.04之后,直接在软件和更新里安装显卡驱动就行,只要把自动更新关了就行。
选择NVIDIA driver metapackage来自nvidia-driver-535(专有),然后应用更改。
(不选择NVIDIA Server Driver metapackage 来自nvidia-driver-535-server(专有),区别:nvidia-driver-535-server一般用于服务器)
3.2. 验证显卡驱动是否安装成功
3.3. 测试跑Carla还卡不卡
可以看到,没有WARNING了,显卡也满功率运行了!成功!
4. 踩坑记录
最开始我没有用3.1的“软件和更新”里的自动识别的驱动,而是用的手动安装,试了很多版本。
4.1. 不同的显卡驱动版本
试了显卡驱动470,495,515,525,535,550版本,并且配套了相应的cuda,运行CarlaUE4还是很卡。
4.2. 换不同Carla的版本
试了Carla0.9.14和0.9.13,都还是很卡。
4.3. 试试禁用集显,只用独显
就是在手动安装NVIDIA驱动的时候,把nouveau禁用那一步,之前已经完成了,还是不行。
4.4. 用源码编译安装Carla
参考
https://zhuanlan.zhihu.com/p/595785458
主要参考知乎的那篇内容,那篇是在Ubuntu20.04下的适应性教程,官方文档是Ubuntu180.4的。
在安装了Unreal Engine 4.26,构建了Carla之后,编译的时候
make PythonAPI
出现如下问题:
这一条路暂时终止。
4.5. 打算在windows下,用WSL跑源码跑ROS2,在windows跑Carla(没用到)
试试WSL?
4.6. 打算用服务器(没用到)
实在不行就只能用服务器。
5. 后续
在4.4用源码编译安装Carla比较重要,后续如果想自己添加Carla场景,需要用源码编译。