When running with an eGPU, bracket shows a black screen momentarily then errors:
Initialized OpenGL with: 4.1 ATI-4.9.50, Shader Language Version: 4.10
thread 'main' panicked at '[GL] Error: INVALID_ENUM', /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/bracket-terminal-0.8.7/src/hal/gl_common/glerror.rs:25:52
Full backtrace:
thread 'main' panicked at '[GL] Error: INVALID_ENUM', /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/bracket-terminal-0.8.7/src/hal/gl_common/glerror.rs:25:52
stack backtrace:
0: 0x100cb1da6 - std::backtrace_rs::backtrace::libunwind::trace::hd1b43f283b1dbd44
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x100cb1da6 - std::backtrace_rs::backtrace::trace_unsynchronized::h8614ff1dba85f493
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x100cb1da6 - std::sys_common::backtrace::_print_fmt::h7d215e53299f06fa
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/sys_common/backtrace.rs:65:5
3: 0x100cb1da6 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h0cce1bf68f1b36b3
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/sys_common/backtrace.rs:44:22
4: 0x100ccb7fa - core::fmt::write::h1006c44db93fb025
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/core/src/fmt/mod.rs:1208:17
5: 0x100caf6fc - std::io::Write::write_fmt::h6441c095ef280000
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/io/mod.rs:1682:15
6: 0x100cb1b8a - std::sys_common::backtrace::_print::h842a675871b4c98f
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/sys_common/backtrace.rs:47:5
7: 0x100cb1b8a - std::sys_common::backtrace::print::h956930f13a633a90
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/sys_common/backtrace.rs:34:9
8: 0x100cb33c3 - std::panicking::default_hook::{{closure}}::hd74f355dd4e33e7d
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/panicking.rs:267:22
9: 0x100cb3118 - std::panicking::default_hook::h3f68e2622c07ad58
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/panicking.rs:286:9
10: 0x100cb3af3 - std::panicking::rust_panic_with_hook::h6fcf23cb5a227488
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/panicking.rs:688:13
11: 0x100cb3883 - std::panicking::begin_panic_handler::{{closure}}::h01cbd742ec2a323f
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/panicking.rs:577:13
12: 0x100cb2248 - std::sys_common::backtrace::__rust_end_short_backtrace::ha4b1a3da54778532
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/sys_common/backtrace.rs:137:18
13: 0x100cb358d - rust_begin_unwind
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/panicking.rs:575:5
14: 0x100cd9463 - core::panicking::panic_fmt::h72cdfd070c864d38
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/core/src/panicking.rs:65:14
15: 0x100a68e86 - bracket_terminal::hal::gl_common::glerror::gl_error::hfe8542ff88185bdc
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/bracket-terminal-0.8.7/src/hal/gl_common/glerror.rs:25:52
16: 0x100a4afd5 - bracket_terminal::hal::gl_common::shader::Shader::useProgram::h749093a0064f05f1
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/bracket-terminal-0.8.7/src/hal/gl_common/shader.rs:64:9
17: 0x100a10eda - bracket_terminal::hal::native::mainloop::tock::hc4816b42b743897c
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/bracket-terminal-0.8.7/src/hal/native/mainloop.rs:428:17
18: 0x100a1272a - bracket_terminal::hal::native::mainloop::main_loop::{{closure}}::h77babcd34958db73
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/bracket-terminal-0.8.7/src/hal/native/mainloop.rs:185:21
19: 0x100a1a361 - <winit::platform_impl::platform::app_state::EventLoopHandler<T> as winit::platform_impl::platform::app_state::EventHandler>::handle_nonuser_event::{{closure}}::hc1c9f15120099592
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.27.5/src/platform_impl/macos/app_state.rs:106:17
20: 0x100a1aa3d - winit::platform_impl::platform::app_state::EventLoopHandler<T>::with_callback::h6820fd567f2cd3db
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.27.5/src/platform_impl/macos/app_state.rs:80:13
21: 0x100a1a177 - <winit::platform_impl::platform::app_state::EventLoopHandler<T> as winit::platform_impl::platform::app_state::EventHandler>::handle_nonuser_event::h1f1994e1d086cc8e
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.27.5/src/platform_impl/macos/app_state.rs:101:9
22: 0x100be5fd4 - winit::platform_impl::platform::app_state::Handler::handle_nonuser_event::h3c44c42f7fd01d84
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.27.5/src/platform_impl/macos/app_state.rs:209:21
23: 0x100be805e - winit::platform_impl::platform::app_state::AppState::cleared::h349a837d988dbb3b
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.27.5/src/platform_impl/macos/app_state.rs:399:9
24: 0x100bb74b0 - winit::platform_impl::platform::observer::control_flow_end_handler::{{closure}}::h312e41ec25b27195
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.27.5/src/platform_impl/macos/observer.rs:184:21
25: 0x100bb72e8 - winit::platform_impl::platform::observer::control_flow_handler::{{closure}}::h882dfdd1ebc757e3
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.27.5/src/platform_impl/macos/observer.rs:145:9
26: 0x100bd435b - std::panicking::try::do_call::hd1a237f13320e24a
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/panicking.rs:483:40
27: 0x100bda50d - ___rust_try
28: 0x100bd41c2 - std::panicking::try::h0705863bbb82ef16
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/panicking.rs:447:19
29: 0x100ba5945 - std::panic::catch_unwind::h87a260c6e64af483
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/panic.rs:137:14
30: 0x100beab4e - winit::platform_impl::platform::event_loop::stop_app_on_panic::he6edf854f818a361
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.27.5/src/platform_impl/macos/event_loop.rs:265:11
31: 0x100bb7279 - winit::platform_impl::platform::observer::control_flow_handler::h8dcc955150fabcb4
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.27.5/src/platform_impl/macos/observer.rs:143:5
32: 0x100bb7440 - winit::platform_impl::platform::observer::control_flow_end_handler::h0aebabf0d4976353
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.27.5/src/platform_impl/macos/observer.rs:179:9
33: 0x7ff807a310c2 - <unknown>
34: 0x7ff807a30fea - <unknown>
35: 0x7ff807a30695 - <unknown>
36: 0x7ff807a2fb90 - <unknown>
37: 0x7ff811431a06 - <unknown>
38: 0x7ff811431816 - <unknown>
39: 0x7ff811431553 - <unknown>
40: 0x7ff80ab76163 - <unknown>
41: 0x7ff80ab74fe4 - <unknown>
42: 0x7ff80ab67623 - <unknown>
43: 0x100c150a1 - <() as objc::message::MessageArguments>::invoke::h07dbdd62d230c28d
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/objc-0.2.7/src/message/mod.rs:128:17
44: 0x100c14312 - objc::message::platform::send_unverified::hdddc6b90de6e6a43
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/objc-0.2.7/src/message/apple/mod.rs:27:9
45: 0x100a1919c - objc::message::send_message::h83184afdb8a8e6a9
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/objc-0.2.7/src/message/mod.rs:178:5
46: 0x100a1919c - winit::platform_impl::platform::event_loop::EventLoop<T>::run_return::{{closure}}::h5e246f1c93c5ba79
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.27.5/src/platform_impl/macos/event_loop.rs:222:25
47: 0x100a0f69c - objc::rc::autorelease::autoreleasepool::he2cfa3a686c862d4
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/objc-0.2.7/src/rc/autorelease.rs:29:5
48: 0x100a18d87 - winit::platform_impl::platform::event_loop::EventLoop<T>::run_return::hee27512062ebcbe1
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.27.5/src/platform_impl/macos/event_loop.rs:212:25
49: 0x100a193ed - winit::platform_impl::platform::event_loop::EventLoop<T>::run::h5b54841bafcc4628
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.27.5/src/platform_impl/macos/event_loop.rs:191:25
50: 0x100a154dc - winit::event_loop::EventLoop<T>::run::hbfec3c507e7f00e0
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.27.5/src/event_loop.rs:278:9
51: 0x100a1220d - bracket_terminal::hal::native::mainloop::main_loop::he7d518038ecfed59
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/bracket-terminal-0.8.7/src/hal/native/mainloop.rs:152:5
52: 0x100a13f7d - bracket_terminal::bterm::main_loop::hf46e22a038750675
at /Users/wyattstanke/.cargo/registry/src/github.com-1ecc6299db9ec823/bracket-terminal-0.8.7/src/bterm.rs:1089:5
53: 0x100a16635 - autoquest::main::h6dfd62ae0fdb5693
at /Users/wyattstanke/OSS/autoquest/src/main.rs:17:5
54: 0x100a1989e - core::ops::function::FnOnce::call_once::h51a019c128f58d37
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/core/src/ops/function.rs:507:5
55: 0x100a15fc1 - std::sys_common::backtrace::__rust_begin_short_backtrace::h98e0a41827845c78
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/sys_common/backtrace.rs:121:18
56: 0x100a13824 - std::rt::lang_start::{{closure}}::hd37d89d50c946301
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/rt.rs:166:18
57: 0x100cac104 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h74cba4256ed7cb7c
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/core/src/ops/function.rs:606:13
58: 0x100cac104 - std::panicking::try::do_call::hbd30b6cee98c6d1f
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/panicking.rs:483:40
59: 0x100cac104 - std::panicking::try::hf8e6ce82919028ea
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/panicking.rs:447:19
60: 0x100cac104 - std::panic::catch_unwind::hf56af96fd91edbc3
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/panic.rs:137:14
61: 0x100cac104 - std::rt::lang_start_internal::{{closure}}::h7640439d61d81acf
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/rt.rs:148:48
62: 0x100cac104 - std::panicking::try::do_call::h16ae1d811f67c8a4
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/panicking.rs:483:40
63: 0x100cac104 - std::panicking::try::hb73944cd4bafb33c
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/panicking.rs:447:19
64: 0x100cac104 - std::panic::catch_unwind::h42a98569449bc7cc
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/panic.rs:137:14
65: 0x100cac104 - std::rt::lang_start_internal::h548a633570735ecf
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/rt.rs:148:20
66: 0x100a137f7 - std::rt::lang_start::ha195670d699e6abf
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/rt.rs:165:17
67: 0x100a16708 - _main
68: 0x7ff807624310 - <unknown>
Cargo.toml
:
[package]
name = "autoquest"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
bracket-lib = "0.8.7"
main.rs
:
use bracket_lib::prelude::*;
struct State {}
impl GameState for State {
fn tick(&mut self, ctx: &mut BTerm) {
ctx.print(1, 1, "Hello Bracket World");
}
}
fn main() -> BError {
let context = BTermBuilder::simple80x50()
.with_title("Hello Minimal Bracket World")
.build()?;
let gs: State = State {};
main_loop(context, gs)
}
System information:
uname -a: Darwin Wyatts-Mac-mini.local 22.2.0 Darwin Kernel Version 22.2.0: Fri Oct 28 06:50:33 PDT 2022; root:xnu-8792.60.51~15/RELEASE_X86_64 x86_6
eGPU: Radeon RX 580
eGPU Extra:
Chipset Model: AMD Radeon RX 580
Type: External GPU
Bus: PCIe
PCIe Lane Width: x4
VRAM (Total): 8 GB
Vendor: AMD (0x1002)
Device ID: 0x67df
Revision ID: 0x00e7
Metal Support: Metal 3
GPU is Removable: Yes
MacOS Version: 13.1 Beta (22C5044e)
Note that this works without an eGPU just fine.