如何为linux mint构建Vulkan驱动程序?
我正在运行Linux Mint Rafaella,17.2,采用Intel Graphics 5th gen,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:错误:’SYS_memfd_create’未声明(首次在此函数中使用)
return syscall(SYS_memfd_create,name,flags);
这个错误让我怀疑我应该使用哪个版本的linux-header.另外,对于我来说,memfd.h位于uapi下似乎不合适.
解决方法:
这看起来像apt-file的工作!
apt-file search linux/memfd.h
这将输出一个包列表,这里是一些经验的工作方式,选择正确的包.通常foo-dev会很好,而且这个命令的输出看起来像linux-libc-dev就是你需要的包.