Files
RedBear-OS/local/recipes/libs/vulkan-headers/source/BUILD.md
T
vasilito ef3f38da8b feat: port Vulkan headers and ICD loader; wire into kwin
KWin does an unconditional find_package(Vulkan REQUIRED), and CMake's
FindVulkan needs BOTH Vulkan_INCLUDE_DIR and Vulkan_LIBRARY. Mesa already
builds the Vulkan drivers (libvulkan_intel/_radeon/_lvp) but an ICD is not
the API surface a consumer links against, so kwin could not configure.

vulkan-headers: header-only, but VulkanHeadersConfig.cmake is GENERATED at
install time rather than shipped in the tarball, and Vulkan-Loader
hard-requires it -- a hand copy of include/ satisfies FindVulkan and then
fails the loader. Run upstream's cmake install instead.

vulkan-loader: one real port. vk_loader_platform.h gates the whole POSIX
arm (DIRECTORY_SYMBOL, the dlopen wrappers, manifest search) on an OS list
that predates Redox, so the build collapsed with 'DIRECTORY_SYMBOL'
undeclared. Redox provides dlopen/dlsym and POSIX paths via relibc, so it
belongs in the same arm as Linux; that header is the only file under
loader/ doing OS detection. WSI backends are left off: Red Bear is
Wayland-only and the compositor talks to Mesa's ICDs directly.

Both shadow the untested recipes/wip/libs/graphics/{vulkan-headers,
libvulkan} via the local-over-WIP mechanism, per the WIP ownership rule
that the shipping version lives in local/recipes/.

Verified: kwin now reports
  -- Found Vulkan: .../sysroot/lib/libvulkan.so (found version 1.4.321)

kwin also gains its missing kf6-knewstuff dep -- its
find_package(KF6 COMPONENTS NewStuff) is REQUIRED, so without the dep the
framework was never staged into kwin's sysroot.
2026-08-03 09:10:57 +03:00

1.2 KiB

Build Instructions

Instructions for building this repository.

git clone https://github.com/KhronosGroup/Vulkan-Headers.git

cd Vulkan-Headers/

# Configure the project
cmake -S . -B build/

# Because Vulkan-Headers is header only we don't need to build anything.
# Users can install it where they need to.
cmake --install build --prefix build/install

See the official CMake documentation for more information.

Installed Files

The install target installs the following files under the directory indicated by install_dir:

  • install_dir/include/vulkan : The header files found in the include/vulkan directory of this repository
  • install_dir/share/cmake/VulkanHeaders: The CMake config files needed for find_package support
  • install_dir/share/vulkan/registry : The registry files found in the registry directory of this repository

Usage in CMake

find_package(VulkanHeaders REQUIRED CONFIG)

target_link_libraries(foobar PRIVATE Vulkan::Headers)

message(STATUS "Vulkan Headers Version: ${VulkanHeaders_VERSION}")