我正在尝试在远程服务器上安装 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
,这将为您提供vulkaninfo
并vkcube
测试应用程序
答案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 独立显卡。
希望这可以帮助。