isaac Gym可视化闪退,WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
·
莫名其妙有一个卡在作sim_device的时候,viewer窗口弹出来几秒就会闪退掉,而且画面也不太正常。之前重装完显卡驱动发现的。
isaac gym里有一条warning:
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
于是检查了一下vulkan,
$ vulkaninfo | grep "GPU id"
WARNING: [Loader Message] Code 0 : loaderAddLayerProperties: 'layers' tag not supported until file version 1.0.1, but /etc/vulkan/implicit_layer.d/nvidia_layers.json is reporting version
'DISPLAY' environment variable not set... skipping surface info
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
GPU id : 0 (NVIDIA GeForce RTX 4090)
GPU id : 1 (llvmpipe (LLVM 12.0.0, 256 bits))
GPU id : 2 (NVIDIA GeForce RTX 4090)
GPU id : 3 (NVIDIA GeForce RTX 4090)
GPU id : 4 (NVIDIA GeForce RTX 4090)
$ vulkaninfo | grep "deviceName"
WARNING: [Loader Message] Code 0 : loaderAddLayerProperties: 'layers' tag not supported until file version 1.0.1, but /etc/vulkan/implicit_layer.d/nvidia_layers.json is reporting version
'DISPLAY' environment variable not set... skipping surface info
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
deviceName = NVIDIA GeForce RTX 4090
deviceName = llvmpipe (LLVM 12.0.0, 256 bits)
deviceName = NVIDIA GeForce RTX 4090
deviceName = NVIDIA GeForce RTX 4090
deviceName = NVIDIA GeForce RTX 4090
看到cpu id1对应了llvmpipe,GPU id 1 错误地对应到 llvmpipe (CPU 软件渲染),导致可视化失败。需要让 Vulkan 只看到 NVIDIA GPU。
通常的Vulkan ICD文件在/usr/share/vulkan/icd.d/里,可能包含了:
nvidia_icd.json
lvp_icd.x86_64.json
用于告诉vulkan加载器如何加载vulkan实现库,但是我的这个目录里并没有,鉴于我有另外三张卡是正常的,于是check了一下其他三个卡是从哪load的:(于是开始人口大普查x)
cat /etc/vulkan/icd.d/*.json
cat /usr/share/vulkan/icd.d/*.json
cat /usr/local/share/vulkan/icd.d/*.json
发现了:
$ cat /etc/vulkan/icd.d/*.json
cat /usr/share/vulkan/icd.d/*.json
cat /usr/local/share/vulkan/icd.d/*.json
{
"file_format_version" : "1.0.1",
"ICD": {
"library_path": "libGLX_nvidia.so.0",
"api_version" : "1.4.303"
}
}
{
"ICD": {
"api_version": "1.2.182",
"library_path": "/usr/lib/x86_64-linux-gnu/libvulkan_intel.so"
},
"file_format_version": "1.0.0"
}{
"ICD": {
"api_version": "1.1.182",
"library_path": "/usr/lib/x86_64-linux-gnu/libvulkan_lvp.so"
},
"file_format_version": "1.0.0"
}{
"ICD": {
"api_version": "1.2.182",
"library_path": "/usr/lib/x86_64-linux-gnu/libvulkan_radeon.so"
},
"file_format_version": "1.0.0"
}cat: '/usr/local/share/vulkan/icd.d/*.json': No such file or directory
我的VULKAN ICD在/etc/vulkan/icd.d/*.json里,于是
export VK_ICD_FILENAMES=/etc/vulkan/icd.d/nvidia_icd.json
于是正常!
$ vulkaninfo | grep "deviceName"
WARNING: [Loader Message] Code 0 : loaderAddLayerProperties: 'layers' tag not supported until file version 1.0.1, but /etc/vulkan/implicit_layer.d/nvidia_layers.json is reporting version
'DISPLAY' environment variable not set... skipping surface info
deviceName = NVIDIA GeForce RTX 4090
deviceName = NVIDIA GeForce RTX 4090
deviceName = NVIDIA GeForce RTX 4090
deviceName = NVIDIA GeForce RTX 4090
$ vulkaninfo | grep "GPU id"
WARNING: [Loader Message] Code 0 : loaderAddLayerProperties: 'layers' tag not supported until file version 1.0.1, but /etc/vulkan/implicit_layer.d/nvidia_layers.json is reporting version
'DISPLAY' environment variable not set... skipping surface info
GPU id : 0 (NVIDIA GeForce RTX 4090)
GPU id : 1 (NVIDIA GeForce RTX 4090)
GPU id : 2 (NVIDIA GeForce RTX 4090)
GPU id : 3 (NVIDIA GeForce RTX 4090)
GPU id : 0 (NVIDIA GeForce RTX 4090)
更多推荐




所有评论(0)