Vulkan 环境配置指南
本文档介绍如何在开发机上配置和验证 Vulkan 环境。
配置步骤
1. 检查 NVIDIA 库文件是否存在
ls -l /lib/x86_64-linux-gnu/libEGL_nvidia.so.0
预期输出示例:
lrwxrwxrwx 1 root root 26 Jan 25 12:00 /lib/x86_64-linux-gnu/libEGL_nvidia.so.0 -> libEGL_nvidia.so.<驱动版本>
注意:
libEGL_nvidia.so.0通常是一个符号链接,指向实际的驱动版本文件(如libEGL_nvidia.so.535.161.08或libEGL_nvidia.so.580.76.05)
如果文件不存在,请检查 NVIDIA 驱动是否正确安装:
nvidia-smi
如果驱动存在,但是没有文件,请联系客服处理
2. 安装 Vulkan 工具和依赖库
apt update && apt install -y vulkan-tools libvulkan1 libsm6 libegl1
包说明:
vulkan-tools- Vulkan 命令行工具(包括 vulkaninfo)libvulkan1- Vulkan 加载器库libsm6- X11 会话管理库libegl1- EGL 运行时库
3. 创建 Vulkan ICD 配置文件
检查配置文件是否已存在:
cat /etc/vulkan/icd.d/nvidia_icd.json
如果文件不存在,创建配置文件:
mkdir -p /etc/vulkan/icd.d
cat > /etc/vulkan/icd.d/test_nvidia_icd.json <<'EOF'
{
"file_format_version" : "1.0.0",
"ICD": {
"library_path": "/lib/x86_64-linux-gnu/libEGL_nvidia.so.0",
"api_version" : "1.3.0"
}
}
EOF
4. 验证 Vulkan 配置
vulkaninfo --summary | grep -E "deviceName|deviceType|driverName"
预期输出(成功):
deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
deviceName = NVIDIA GeForce RTX 4090
driverName = NVIDIA
故障排查
找不到 libEGL_nvidia.so.0
查找实际的 NVIDIA 库文件:
find /usr/lib /lib -name 'libEGL_nvidia.so*' 2>/dev/null
使用找到的实际文件路径更新 ICD 配置文件中的 library_path。
vulkaninfo 只显示 llvmpipe (CPU 渲染)
检查驱动和配置:
# 检查驱动状态
nvidia-smi
# 检查 ICD 配置
cat /etc/vulkan/icd.d/nvidia_icd.json
# 检查库文件
ls -la /lib/x86_64-linux-gnu/libEGL_nvidia.so.0
显示警告 "DISPLAY environment variable not set"
这是正常现象,不影响 Vulkan 功能。可选择性消除:
export DISPLAY=:0
export XDG_RUNTIME_DIR=/tmp