=========== VULKAN 信息

=========== VULKAN 信息

我正在尝试在远程服务器上安装 vulkan。

操作系统:Ubuntu 18.04

显卡:Nvidia GeForce RTX 2080ti

cuda版本:10.2

GPU驱动程序版本:440.64

首先,我按照如下方式安装 SDK:

wget -qO - http://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -   
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-bionic.list http://packages.lunarg.com/vulkan/lunarg-vulkan-bionic.list     
sudo apt update     
sudo apt install vulkan-sdk

这些命令来自https://vulkan.lunarg.com/doc/sdk/1.2.170.0/linux/getting_started_ubuntu.html

之后,我运行了命令vulkaninfo,但它显示驱动程序未正确安装。所以我将驱动程序安装为这样apt-get install mesa-vulkan-drivers

然后我vulkaninfo又跑了。结果显示

未设置“DISPLAY”环境变量...跳过表面信息
错误:环境中未设置 XDG_RUNTIME_DIR。/build/vulkan-tools-1.2.162.1~rc1
1lunarg18.04/vulkaninfo/vulkaninfo.h:248:vkEnumerateInstanceExtensionProperties 出现错误,错误原因为 ERROR_INITIALIZATION_FAILED

对于第一行,我认为这可能不是什么大问题所以我忽略了它。

我尝试了两种方法来修复错误

错误:环境中未设置XDG_RUNTIME_DIR。

方法1:我运行了以下两个命令

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY vulkan

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY vulkaninfo

但它表明

获取权限时出错:初始化权限时出错:无法连接:没有此文件或目录

对于这两个命令。

方法2 我尝试添加

Defaults        env_keep += "DISPLAY XAUTHORITY"

在 sudoers 文件中,但它并没有解决问题。

其实我是 Vulkan 新手,对 Ubuntu 也不是很熟悉。我尝试了上面的一些命令,只是因为我发现其他人用它们解决了同样的问题。

不知道是不是我安装的vulkan没问题,问题出在配置上,还是我安装的vulkan没有完整。


现在我撤销了之前的操作,然后我只需使用

sudo apt-get install vulkan-utils

我似乎安装了 Vulkan,但在运行时

vulkaninfo

表明

=========== VULKAN 信息

Vulkan 实例版本:1.1.70

无法创建 Vulkan 实例。/build/vulkan-UL09PJ/vulkan-1.1.70+dfsg1/demos/vulkaninfo.c:768: 失败,原因为 VK_ERROR_INCOMPATIBLE_DRIVER

我该如何修复此问题而无需重新安装 nvidia 驱动程序?

(也许最简单的方法是立即卸载我的驱动程序并从https://developer.nvidia.com/vulkan-driver,但我无法卸载我的驱动程序。)

答案1

撤消您刚刚执行的操作,然后按照手册操作即可:
https://help.ubuntu.com/community/BinaryDriverHowto/Nvidia#Installation

因此,只需安装nvidia-somenumber,就可以了。

  • 你做不是需要 SDK,除非你是开发者
  • mesa-vulkan-drivers适用于 AMD 和 Intel GPU,所以不是安装,除非你有那些
  • 不是除非你非常清楚自己在做什么,否则就搞砸你的环境
  • 如果由于某种原因驱动程序无法自行将其拉入,您可以安装vulkan-tools,这将为您提供vulkaninfovkcube测试应用程序

答案2

尝试这些命令 - 它们对我有用,并使我的 Ubuntu 能够使用独立显卡,并解决了激活 DXVK 时程序退出的问题。

将 /home/user/GitHub 替换为您放置克隆的 Git 存储库的文件夹。

mkdir /home/user/GitHub
rm -rf /home/user/GitHub/Vulkan-Headers/
rm -rf /home/user/GitHub/Vulkan-ExtensionLayer/
sudo apt-get install -y cmake
sudo apt-get install -y make
sudo apt-get install -y meson
sudo apt-get install -y git
sudo apt-get install -y ninja-build
sudo apt-get install -y build-essential
sudo apt-get install -y libx11-xcb-dev
sudo apt-get install -y libxkbcommon-dev
sudo apt-get install -y libwayland-dev
sudo apt-get install -y libxrandr-dev
sudo apt-get install -y libegl1-mesa-dev
sudo apt-get install -y xclip
cd /home/user/GitHub
git clone https://github.com/KhronosGroup/Vulkan-Headers.git
cd Vulkan-Headers/
cmake -S . -B build/
cmake --install build --prefix build/install
cd /home/user/GitHub
git clone https://github.com/KhronosGroup/Vulkan-ExtensionLayer.git
cd Vulkan-ExtensionLayer/
mkdir build
cd build
python3 ../scripts/update_deps.py --dir ../external --arch x64 --config debug
cmake -C ../external/helper.cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build . --config Debug
sudo apt-get install -y linux-headers-$(uname -r)
sudo apt-get install -y pciutils
sudo apt-get install -y libvulkan1
sudo apt-get install -y build-essential
sudo apt-get install -y libvulkan1
sudo apt-get install -y clang
sudo apt-get install -y vulkan-tools
sudo apt-get install -y vulkan-utils
sudo apt-get install -y mesa-vulkan-drivers
sudo apt-get install -y vulkan
vulkaninfo | grep -oP '(?<=Vulkan Instance Version: ).*' | xclip -selection clipboard
vul=$(xclip -selection clipboard -o)
sudo echo '{' > /home/user/nvidia_icd.json
sudo echo '    "file_format_version" : "1.0.0",' >> /home/user/nvidia_icd.json
sudo echo '    "ICD": {' >> /home/user/nvidia_icd.json
sudo echo '        "library_path": "libGLX_nvidia.so.0",' >> /home/user/nvidia_icd.json
sudo echo '        "api_version" : "'$vul'"' >> /home/user/nvidia_icd.json
sudo echo '    }' >> /home/user/nvidia_icd.json
sudo echo '}' >> /home/user/nvidia_icd.json
sudo cp /home/user/nvidia_icd.json /usr/share/vulkan/icd.d/

这些命令对我有用,启用了 Vulkan 支持并防止集成显卡在 dgVoodoo2 中优先于 Nvidia 独立显卡。

希望这可以帮助。

相关内容