ubuntu下运行UE打包的工程,出现“Cannot find a compatible Vulkan device or driver”报错的解决方案(vulkan无法正常加载)

ubuntu下运行UE打包的工程,出现“Cannot find a compatible Vulkan device or driver”报错的解决方案


)

问题描述

在ubuntu18.04系统中使用微软AirSim提供的Linux下场景程序时,运行报错,提示:“Cannot find a compatible Vulkan device or driver.Try updating your video driver to a more recent version and make sure your video card supports Vulkan”。如下图所示:

显卡驱动报错

确定显卡驱动情况

这个问题大概率是由于显卡驱动存在问题,如果你安装完ubuntu,没有动过显卡驱动,大概率是识别不了电脑上显卡的。可以通过命令 nvidia-smi 来进行判断。如果驱动正常识别,会显示当前显卡使用情况等信息,如图所示。

nvidia-smi执行结果

或者使用 nvidia-settings 命令,会打开显卡设置的界面,界面上能看到识别出的显卡型号。

nvidia-settings执行结果

如果不正常,则运行 nvidia-smi 会报错。这种情况可以参考 这个博客 重新安装显卡驱动。

驱动能识别显卡情况下仍有该问题

部分情况下,驱动已经顺利安装,并且可以正确识别到显卡,运行程序仍然报错。则运行 vulkaninfo 命令查看当前系统vulkan的信息,可以看到有报错 libGLX_nvidia.so.0找不到

vulkan报错信息
然后我们在系统中搜索libGLX_nvidia.so.0确定下是不存在还是找的库路径有问题。

搜索结果
可以看到系统中本就不存在该库文件。但这个库是显卡驱动附带的,所以可能是显卡驱动安装时,没有安装该库文件。先解压安装的显卡驱动*.run文件,解压命令为 *.run -x

解压过程

解压后,可以看到libGLX_nvidia库文件

解压后文件列表

ldd命令查看该库文件依赖哪些库

库文件引用情况

然后将这些库一并拷贝到 /usr/lib/x86_64-linux-gnu/ 路径下

cp libGLX_nvidia.so.515.65.01 /usr/lib/x86_64-linux-gnu/
cp libnvidia-glsi.so.515.65.01 /usr/lib/x86_64-linux-gnu/
cp libnvidia-tls.so.515.65.01 /usr/lib/x86_64-linux-gnu/
cp libnvidia-glcore.so.515.65.01 /usr/lib/x86_64-linux-gnu/

因为vulkaninfo中找的库是libGLX_nvidia.so.0,所以拷贝后我们使用 ln 命令创建软链接

ln -s /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.515.65.01 /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0

再次执行,依然报错缺少库文件。

报错信息

我们按照同样的方式,继续拷贝该库文件到对应路径。再次执行 vulkaninfo ,可以正常打印vulkan信息。然后重新运行之前无法打开的UE打包后工程,可以正常运行。

vulkaninfo正常打印

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值