
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 を OS でコンパイルできるようにするには、まず他に何をする必要がありますか。
編集:
コンパイルのプロセスについて少し説明しようと思った。$VULKAN/src/vulkan/Makefileを次のように拡張した。
CFLAGS += -I"/usr/src/linux-headers-3.19.0-49/include/uapi"
CXXFLAGS についても同じことをしました。linux/compiler.h が見つからないという新しいエラーが表示されました。Makefile のもう 1 つの拡張機能は次のようになります。
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