我正在执行这些步骤(https://github.com/d3d12/vkd3d/blob/master/INSTALL),但是在终端中运行后,例程会因错误而./configure
过早结束。configure: error: vulkan.h not found.
我想安装glslc
,它是shaderc的工具之一,所以我可以将 GLSL 编译成 Vulkan 的SPIR-V
着色器格式。
是否有已经提供它的包或者我应该从源代码构建它?
显然它没有打包在 debian 上:https ://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890472
我注意到它似乎包含在 LunarG Vulkan SDK 中: https ://vulkan.lunarg.com/doc/sdk/1.2.141.2/linux/getting_started.html
从自己的 LunarG 网站,它还没有为 20.04 打包,只有 16.04 和 18.04。这种情况可能很快就会改变。
我正在运行一个附加了 nvidia v100 的 ubuntu gcp 实例。我安装了图形驱动程序并使用和检查了nvidia-smi
正确性vulkaninfo
。两者都没有显示错误。这表明图形驱动程序已正确安装。
现在我想使用Google 的远程桌面服务进行远程显示访问。所以我遵循了无头安装说明,在我测试显卡之前一切似乎都很顺利。不知何故,在远程桌面内的终端中运行时vulkaninfo
,会出现以下错误消息:
/build/vulkan-UL09PJ/vulkan-1.1.70+dfsg1/demos/vulkaninfo.c:2700: failed with VK_ERROR_INITIALIZATION_FAILED
我到处搜索,甚至搜索了 vulkaninfo 源代码以了解此错误的来源,但我找不到它。
有谁知道是什么导致了这个错误?为什么 vulkan 驱动程序在 ssh 终端中可以正常工作,但在虚拟显示器中却不行?
我花了 +- 22 小时试图让它工作,但我发现问题多于解决方案。
问题
重现 #1 的步骤
使用 Xubuntu DE 全新安装 Ubuntu。
按照官方说明 - https://support.amd.com/en-us/kb-articles/Pages/Install-LunarG-Vulkan-SDK.aspx
第 15 行 - VULKAN_SDK=/home/kreyren/vulkan/VulkanSDK/1.0.37.0/x86_64 不应该是 1.1.73.0 吗?(根据AMD 官方说明)
VK_ERROR_INCOMPATIBLE_DRIVER
短路,更多在原始文档中。
信息
GPU:ATI Sapphire 7870 和 AMD Radeon 7870AMD/ATI
据我所知,制造商对此 GPU 有两个名称。
GPU 支持基于测试在 Windows 10 中使用“-vulkan”参数和 wiki 运行 DotA 2 的 Vulkan:https ://en.wikipedia.org/wiki/Radeon_HD_7000_Series
操作系统:在 Debian 9、Xubuntu 和 Ubuntu 上测试。
现在,我使用 Clonezilla 和基本设置进行了全新的 Ubuntu 安装和备份。
apt list --installed > /home/kreyren/Desktop/Installed_packages.txt https://pastebin.com/WrKWWbhg
使用安装的更新
sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y
Distro 在 SSD 上有 20GB 的 root + 2GB 交换空间,在 HDD 上有 100GB 的 /home
验证 AMD 是否支持它:
尝试过的解决方案
添加 NAND
/etc/X11/xorg.conf
修改Section "Device" Identifier "AMD" Driver "amdgpu" Option "TearFree" "true" EndSection
重启 > VK_ERROR_INCOMPATIBLE_DRIVER
短路,更多在原始文档中。
背景故事
我制作了 Facebook 文档,在其他 Linux 用户的帮助下我试图解决这个问题。解决后 Facebook 文档已被删除,问题已发布在 askubuntu 上!希望能接触到更多有同样问题的人。
没有足够的声誉来发布其余的原始内容,并且用不相关的信息发送垃圾邮件似乎毫无意义,它适用于那些对这个问题感兴趣的人,比如开发人员,他们可能会默认解决这个问题。