xvfb(使用 Mesa 19.2)与 Vulkan 兼容吗?

vpr*_*eep 7 mesa xvfb vulkan

我正在尝试通过xvfb在无头 Ubuntu 19.10 虚拟机上运行基于 Vulkan 的图形应用程序。

从裸 Ubuntu 19.10 映像(使用lxc创建)开始,我按如下方式准备机器:

> sudo apt update
> sudo apt install -y xvfb mesa-vulkan-drivers vulkan-tools
Run Code Online (Sandbox Code Playgroud)

然后我运行以下两个命令:

在终端 1:启动 XVFB

Xvfb :1 -screen 0 1024x768x24
Run Code Online (Sandbox Code Playgroud)

在终端 2:运行 vulkaninfo

> DISPLAY=:1 vulkaninfo 
==========
VULKANINFO
==========

Vulkan Instance Version: 1.1.114

/build/vulkan-tools-IZAxVX/vulkan-tools-1.1.114.0+dfsg1/vulkaninfo/vulkaninfo.c:5884: 
failed with VK_ERROR_INITIALIZATION_FAILED
Run Code Online (Sandbox Code Playgroud)

(运行我自己的自定义 Vulkan 应用程序会产生类似的失败。)

据我了解,Xvfb 依赖于台面,而我使用的是台面 19.2.1

而且,根据Mesa 19.2.1 发行说明,它应该支持 Vulkan:

“Mesa 19.2.1 实现了 Vulkan 1.1 API,但 VkPhysicalDeviceProperties 结构的 apiVersion 属性报告的版本取决于所使用的特定驱动程序。”

问题:期望 vulkan 应用程序可以在 Ubuntu 19.10 上与 xvfb 一起使用是否合理,尤其是因为最新的 mesa 版本声称支持 Vulkan?

我正在使用的一些相关软件包的版本:

> apt-cache show xvfb | grep Version
Version: 2:1.20.5+git20191008-0ubuntu1
> apt-cache show mesa-vulkan-drivers | grep Version
Version: 19.2.1-1ubuntu1
> apt-cache show libvulkan1 | grep Version
Version: 1.1.114.0-1
> apt-cache show vulkan-tools | grep Version
Version: 1.1.114.0+dfsg1-1
Run Code Online (Sandbox Code Playgroud)