我的 Vulkan 程序无法显示窗口。操作系统是Arch Linux。
我不确定问题是什么。但是,我可以从 https://github.com/SaschaWillems/Vulkan
运行示例程序代码:
#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>
int main()
{
glfwInit();
glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
GLFWwindow *window = glfwCreateWindow(800, 600, "vulkan", nullptr, nullptr);
VkInstance instance{};
VkInstanceCreateInfo info{VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO};
vkCreateInstance(&info, nullptr, &instance);
VkSurfaceKHR surfaceKhr;
glfwCreateWindowSurface(instance, window, nullptr, &surfaceKhr);
while(!glfwWindowShouldClose(window))
{
glfwPollEvents();
}
vkDestroySurfaceKHR(instance, surfaceKhr, nullptr);
vkDestroyInstance(instance, nullptr);
glfwTerminate();
return 0;
}
我知道 Wayland 不会显示窗口,直到有东西被实际绘制到窗口上。你的代码没有绘制任何东西。如果您的 Arch 安装使用 Wayland,那么这可能就是问题所在。
尝试使用不同的显示管理器(例如 Xorg)启动或向程序中添加足够的代码来执行当前操作。