尝试在rust中使用OpenGL和Sdl2实现egui,“无法创建GL上下文:GLX不良配置文件ARB”

5vf7fwbs  于 2022-11-04  发布在  其他
关注(0)|答案(1)|浏览(350)

我尝试在我的rust项目中使用这个库https://github.com/ArjunNair/egui_sdl2_gl。在我尝试实现它之前,我的程序按预期工作(只是一个黑色窗口)。现在我从我的OpenGL上下文中得到一个运行时错误,我想不出原因:

Finished dev [unoptimized + debuginfo] target(s) in 0.03s
         Running `target/debug/ivy`
    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: "Could not create GL context: GLXBadProfileARB"', src/engine/engine.rs:52:53
    stack backtrace:
       0: rust_begin_unwind
                 at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:584:5
       1: core::panicking::panic_fmt
                 at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/panicking.rs:143:14
       2: core::result::unwrap_failed
                 at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/result.rs:1749:5
       3: core::result::Result<T,E>::unwrap
                 at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/result.rs:1065:23
       4: ivy::engine::engine::IvyWindow::new
                 at ./src/engine/engine.rs:52:26
       5: ivy::main
                 at ./src/main.rs:9:19
       6: core::ops::function::FnOnce::call_once
                 at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/ops/function.rs:227:5
    note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

我做了一些研究,但我找不到任何对我有帮助的东西。可能是因为我不知道该找什么。
另外,我是一个很新的生 rust 和我的代码可能是整体上相当未优化和不安全,但这是罚款现在(我猜).你可以在这里找到我的项目:
https://gitlab.n-j.me/janke/ivy/-/tree/dev
最新版本位于“dev”分支上。

6g8kf2rb

6g8kf2rb1#

通常,如果GLX_CONTEXT_PROFILE_MASK_ARB的值包含多个有效的profile位,则会生成GLXBadProfileARB。
但是,您似乎面临梅萨库中的已知错误:https://chromium.googlesource.com/external/github.com/glfw/glfw/+/refs/heads/ci/src/glx_context.c#587
也许这将是一个好主意,适用于类似的工作区在生 rust 或更新梅萨?

相关问题