无法在 linux mint rafaela 上构建 Vulkan

无法在 linux mint rafaela 上构建 Vulkan

如何为 linux mint 构建 Vulkan 驱动程序?

我正在运行 Linux Mint Rafaella 17.2,带有第五代英特尔显卡 i3-5010U。我尝试编译https://cgit.freedesktop.org/mesa/mesa/tree/?h=vulkan,但失败了:

anv_allocator.c:32:25: fatal error: linux/memfd.h: No such file or directory
    #include <linux/memfd.h>

我尝试安装不同版本的 linux-headers,但即使我设法消除此错误,也会出现其他错误。

我应该使用哪个版本的 linux-headers 以及如何配置它们才能工作?或者,我还应该先做什么,让 Vulkan 在我的操作系统上可编译?

编辑:

我决定对我的编译过程进行一些深入的了解。我增强了 $VULKAN/src/vulkan/Makefile

CFLAGS += -I"/usr/src/linux-headers-3.19.0-49/include/uapi"

对于 CXXFLAGS 我也做了同样的事情。出现新错误,指出 linux/compiler.h 丢失。 Makefile 的另一个增强功能如下:

CFLAGS += -I"/usr/src/linux-headers-3.19.0-49/include/uapi" -I"/usr/src/linux-headers-3.19.0-49/include"

对于 CXXFLAGS 我也做了同样的事情。下一个错误是我根本无法摆脱的,主要是因为缺乏知识:

anv_allocator.c:137:19: error: 'SYS_memfd_create' undeclared (first use in this function) return syscall(SYS_memfd_create, name, flags);

这个错误让我怀疑我应该使用哪个版本的 linux-headers。另外,memfd.h 位于 uapi 下对我来说似乎不合适。

答案1

这看起来像是一份工作apt-file

apt-file search linux/memfd.h

这将输出一个包列表,这里是一些经验的发挥作用,选择正确的包。通常情况下foo-dev会很好,并且该命令的输出使其看起来像是linux-libc-dev您需要的包。

相关内容