Skip recommendation of Vulkan-Hpp module
@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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from KhronosGroup/Vulkan-Tutorial
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
KhronosGroup/Vulkan-Tutorial#519 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
KhronosGroup/Vulkan-Tutorial#511 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
KhronosGroup/Vulkan-Tutorial#508 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 74/100
KhronosGroup/Vulkan-Tutorial#499 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
KhronosGroup/Vulkan-Tutorial#498 ·
All issues in KhronosGroup/Vulkan-Tutorial
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
games-on-whales/wolf#509 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
bug-unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
NVIDIA/cuda-samples#453 ·