
Como posso construir o driver Vulkan para Linux Mint?
Estou executando o Linux Mint Rafaella, 17.2, com Intel Graphics 5ª geração, i3-5010U. Eu tentei compilarhttps://cgit.freedesktop.org/mesa/mesa/tree/?h=vulkan, mas falhou com:
anv_allocator.c:32:25: fatal error: linux/memfd.h: No such file or directory
#include <linux/memfd.h>
Tentei brincar com a instalação de diferentes versões de cabeçalhos Linux, mas mesmo que conseguisse me livrar desse erro, outros apareceram.
Qual versão de linux-headers devo usar e como configurá-los para funcionar? Ou o que mais devo fazer primeiro para tornar o Vulkan compilável no meu sistema operacional?
editar:
Resolvi dar algumas dicas sobre meu processo de compilação. Eu aprimorei $VULKAN/src/vulkan/Makefile com
CFLAGS += -I"/usr/src/linux-headers-3.19.0-49/include/uapi"
e para CXXFLAGS fiz o mesmo. Novo erro apareceu informando que linux/compiler.h está faltando. Outra melhoria no Makefile ficou assim:
CFLAGS += -I"/usr/src/linux-headers-3.19.0-49/include/uapi" -I"/usr/src/linux-headers-3.19.0-49/include"
e para CXXFLAGS fiz o mesmo. O próximo erro é aquele do qual não consigo me livrar, principalmente por falta de conhecimento:
anv_allocator.c:137:19: error: 'SYS_memfd_create' undeclared (first use in this function) return syscall(SYS_memfd_create, name, flags);
Este é o erro que me fez questionar qual versão dos cabeçalhos do Linux devo usar. Além disso, não parece certo para mim que memfd.h esteja localizado em uapi.
Responder1
Isto parece um trabalho para apt-file
!
apt-file search linux/memfd.h
Isso gerará uma lista de pacotes, é aqui que alguma experiência entra, selecionando o pacote certo. Normalmente foo-dev
será bom, e a saída deste comando faz com que pareça que linux-libc-dev
é o pacote que você precisa.