ubuntu系统
某天照常打开carla突然出现如下警告,并且carla黑屏:
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
1.经过警告提示,误以为是vulkan库的问题,所以安装了vulkan库,但是依旧报如上警告并黑屏
sudo apt install libvulkan-dev vulkan-tools
2.问了gpt之后,建议重装nvidia驱动,这个时候想起来用nvidia-smi命令查看nvidia驱动状态,得到如下报错:
Failed to initialize NVML: Driver/library version mismatch
NVML library version: 535.146
意思是NVIDIA 管理库 (NVML) 的版本与当前安装的 NVIDIA 显卡驱动程序的版本不匹配,看了一下NVIDIA管理库的更新日志,即/var/log/apt/history.log文件,得到如下信息
Start-Date: 2024-01-16 17:56:57
Commandline: /usr/bin/unattended-upgrade
Upgrade: libnvidia-extra-535:amd64 (535.129.03-0ubuntu0.20.04.1, 535.146.02-0ubuntu0.20.04.1)
End-Date: 2024-01-16 17:56:57
libnvidia被自动更新到535.146.02版本,与当前显卡版本不匹配,于是我在’软件和更新’的’更新’选项中关闭了自动更新,并将显卡重装,升级到了535.146.02版本。
在使用nvidia-smi命令正确得到显卡信息之后,运行carla还是得到:
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
尝试强制carla使用独显,还是不行
./CarlaUE4.sh -prefernvidia -quality-level=Low
3.在网上搜索该警告信息,尝试nvidia论坛上的解决方案
将/etc/vulkan/icd.d/nvidia_icd.json中的内容拷贝到/usr/share/vulkan/icd.d文件中,依旧无效
{
“file_format_version” : “1.0.0”,
“ICD”: {
“library_path”: “libGLX_nvidia.so.0”,
“api_version” : “1.3.205” #这里可能不一样
}
}
在以上nvidia论坛问题中看到如下信息:
如果你没有特定的内核要求,显卡只是用来玩游戏的,可以尝试这个方案,将内核升级,但是一般情况下不要轻易将内核升级或降级,可能会导致很多已安装配置好的软件无法使用
4.走投无路时决定把nvidia显卡驱动以及cuda,cudnn全部卸载重装,恢复最初版本。
nvidia历史版本搜索:https://www.nvidia.cn/Download/Find.aspx?lang=cn
选择WHQL版本的安装
卸载nvidia驱动(runfile安装版本)
sudo /usr/bin/nvidia-uninstall
过程中提示:
If you plan to no longer use the NVIDIA driver, you should make sure that no
X screens are configured to use the NVIDIA X driver in your X configuration
file. If you used nvidia-xconfig to configure X, it may have created a
backup of your original configuration. Would you like to run `nvidia-xconfig --restore-original-backup` to attempt restoration of the original X
configuration file?
在命令行执行
nvidia-xconfig --restore-original-backup
xorg.conf文件被删除
完成后再次打开carla,发现可以正常运行
./CarlaUE4.sh -prefernvidia -quality-level=Low
5.安装系统内核和gcc时请注意与cuda版本的适配关系:在网页https://developer.nvidia.com/cuda-toolkit-archive对应版本的documentation中Installation Guide Linux查看依赖关系,以ubuntu20.04系统cuda11.6为例
安装完ubuntu系统后一定要及时关闭自动更新!以免出现依赖不匹配的问题!
关于cuda版本的选择,参看本人另外一篇博文环境配置踩坑记录(ubuntu系统)