I’ve recently discovered ‘peel’ C++ binding for GObjects/Gtk.
Experimenting with it, I came to the topic called ‘Vulkan’
and realized that Gtk4 simply does not have any VulkanView or private Vulkan context etc. yet.
I had found single example in Python for Linux/Wayland.
I converted it into the C++ Vulkan RAII with Adwaita via ‘peel’ and developed further
adapting some example programs from Khronos Vulkan Tutorials.
The results are ‘positive’.
If one is interested in Vulkan Gnome Apps development, here are two experimental projects
- GitHub - marcin-sosna20/mini-vulkan: Gtk4/Adwaita/Vulkan demo · GitHub
raw C/C++ only ( no peel )
precompiled shader (no VulaknSDK dependency)
- GitHub - marcin-sosna20/gtk4-vulkan-demos: Gtk4/Adwaita/Vulkan/peel Demos · GitHub
This is a bigger one and uses ‘peel’ C++ API
Assets (30MB)
3x Apps
Raytracing example
Overlays test – Vulkan Wayland Surface is below transparent MainWindow
Multiple contexts test