
Linux Mint용 Vulkan 드라이버를 어떻게 빌드하나요?
저는 Intel Graphics 5세대, i3-5010U와 함께 Linux Mint Rafaella, 17.2를 실행하고 있습니다. 컴파일을 하려고 했는데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 헤더를 설치하려고 시도했지만 이 오류를 제거하더라도 다른 오류가 나타났습니다.
어떤 버전의 Linux 헤더를 사용해야 하며 작동하려면 어떻게 구성해야 합니까? 아니면 내 OS에서 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 헤더를 사용해야 하는지 의문을 갖게 만드는 오류입니다. 또한 memfd.h가 uapi 아래에 있다는 것도 나에게는 적합하지 않은 것 같습니다.
답변1
이것은 에 대한 직업인 것 같습니다 apt-file
!
apt-file search linux/memfd.h
그러면 패키지 목록이 출력됩니다. 여기에서는 올바른 패키지를 선택하는 데 필요한 몇 가지 경험이 있습니다. 일반적 으로 양호하며 이 명령의 출력은 필요한 패키지 foo-dev
처럼 보입니다 .linux-libc-dev