Skip recommendation of Vulkan-Hpp module

Open
#300 1 comment 1 reaction 1 assignee View on GitHub

@SaschaWillems is already working on this.

Since Feb 5, 2026.

Assessment

This issue has not been assessed yet.

Description

Hello! I'm quite the beginner w.r.t. Vulkan. In 2024 i did the old Vulkan tutorial at https://vulkan-tutorial.com/
It mentioned being outdated and pointed me to this tutorial.

In the introduction, the new tutorial says https://docs.vulkan.org/tutorial/latest/00_Introduction.html

Compared to the original tutorial, this version of the tutorial is teaching up-to-date concepts:
...
Modern C++ (20) with modules

So modules are "sold" as one reason to follow through with this tutorial.

When we get to the development environment chapter it says

Vulkan has support for C++ modules which became available with c++20. A large advantage of C++ modules is they give all the benefits of C++ without the overhead of long compile times. To do this, the .cppm file must be compiled for your target device. This tutorial demonstrates how to take advantage of C++ modules. However, to maximize compatibility across compilers and IDEs, the attachments template has C++20 module support disabled by default, but it is recommended to enable it if your toolchain supports it.
To enable the Vulkan C++20 module in the attachments template, configure CMake with: ...

So while it is disabled by default, I'm strongly encouraged to use modules. The problem is that module support is still very fractured and i had to spend many hours trying to get the module to compile. CMake forced me to update the project to C++23 standard. Upon asking the developers at Vulkan-Hpp two of them discouraged the usage of modules for beginners.
https://github.com/KhronosGroup/Vulkan-Hpp/issues/2463#issuecomment-3848577104
https://github.com/KhronosGroup/Vulkan-Hpp/issues/2463#issuecomment-3848620880
Edit: IntelliSense does not support modules either, so VSCode will throw many errors: https://github.com/microsoft/vscode-cpptools/issues/6302

In order to not confuse beginners like me, i recommend to discourage people from using modules, until involved parties (e.g. vulkan-hpp, cmake) update their support for modules and make it an overall better experience. Or maybe put the recommendation to an optional section at the end?

Dominant language
C++
Stars
424
Forks
127
Avg merge
2d 21h
Merged PRs (30d)
5

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from KhronosGroup/Vulkan-Tutorial

All issues in KhronosGroup/Vulkan-Tutorial

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.