# Adapting vulkan-tutorial (uses GLFW) to Wayland

**URL:** https://discourse.glfw.org/t/adapting-vulkan-tutorial-uses-glfw-to-wayland/2978
**Category:** support
**Created:** [December 17, 2025, 3:17am UTC](https://discourse.glfw.org/t/adapting-vulkan-tutorial-uses-glfw-to-wayland/2978 "2025-12-17T03:17:24Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![marrowbuster](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.glfw.org/marrowbuster/32/1059_2.png) [@marrowbuster](https://discourse.glfw.org/u/marrowbuster)
#### Post date: [December 17, 2025, 3:17am UTC](https://discourse.glfw.org/t/adapting-vulkan-tutorial-uses-glfw-to-wayland/2978/1 "2025-12-17T03:17:24Z")

</div>

The starter code of vulkan-tutorial works well enough under an X11 session, generating an empty window:

```auto
#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>

#define GLM_FORCE_RADIANS
#define GLM_FORCE_DEPTH_ZERO_TO_ONE
#include <glm/vec4.hpp>
#include <glm/mat4x4.hpp>

#include <iostream>

int main() {
    glfwInit();

    glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
    GLFWwindow* window = glfwCreateWindow(800, 600, "Vulkan window", nullptr, nullptr);

    uint32_t extensionCount = 0;
    vkEnumerateInstanceExtensionProperties(nullptr, &extensionCount, nullptr);

    std::cout << extensionCount << " extensions supported\n";

    glm::mat4 matrix;
    glm::vec4 vec;
    auto test = matrix * vec;

    while(!glfwWindowShouldClose(window)) {
        glfwPollEvents();
    }

    glfwDestroyWindow(window);

    glfwTerminate();

    return 0;
}

```

but on Wayland all I get is an icon with that yellow W logo in my taskbar: no corresponding window. What is needed to have a blank window up and running?

---

<div class="post-metadata">

### Author: ![dougbinks](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.glfw.org/dougbinks/32/39_2.png) [@dougbinks](https://discourse.glfw.org/u/dougbinks)
#### Post date: [December 17, 2025, 8:32am UTC](https://discourse.glfw.org/t/adapting-vulkan-tutorial-uses-glfw-to-wayland/2978/2 "2025-12-17T08:32:13Z")

</div>

I believe you need to present at least one frame before the window is visible on Wayland.
