Код: Выделить всё
[LWJGL] GLFW_PLATFORM_ERROR error
Description :
EGL: Failed to clear current context:
An EGLDisplay argument does not name a valid EGL display connection
Stacktrace :
org.lwjgl.glfw.GLFW.nglfwCreateWindow(GLFW.java:2086)
org.lwjgl.glfw.GLFW.glfwCreateWindow(GLFW.java:2251)
ОС: Arch Linux ( 6.12.9-arch-1)
Композитор: Hyprland (Wayland)
ГП: NVIDIA RTX 3070
Драйвер Версия: 565.77
Версия LWJGL: 3.3.6
Версия EGL >: 1,5
Воспроизвести
Код: Выделить всё
import org.lwjgl.*;
import org.lwjgl.glfw.*;
import org.lwjgl.opengl.*;
import org.lwjgl.system.*;
import static org.lwjgl.glfw.Callbacks.*;
import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.system.MemoryStack.*;
import static org.lwjgl.system.MemoryUtil.*;
public class Game {
public static void main(String[] args) {
GLFWErrorCallback.createPrint(System.err).set();
if (!glfwInit())
throw new IllegalStateException("Unable to init GLFW");
glfwDefaultWindowHints();
glfwWindowHint(GLFW_CLIENT_API, GLFW_OPENGL_API);
glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE);
glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE);
long window = glfwCreateWindow(800, 600, "Test", NULL, NULL);
if (window == NULL)
throw new RuntimeException("glfwCreateWindow failed");
glfwMakeContextCurrent(window);
glfwSwapInterval(1);
glfwShowWindow(window);
}
}
Использован импорт отсюда (стабильная версия 3.3.6 Linux x86, полный)
PS
Я попробовал запустить vkcube, glxgears, Weston и собственный рендерер Vulkan с Winit в Rust - все работало нормально.
Подробнее здесь: https://stackoverflow.com/questions/793 ... text-error