niri
niri copied to clipboard
Macroquad segfaults in wl_egl_window_resize
Running macroquad in niri fails with a segfault. gdb
shows it failing inside wl_egl_window_resize
To reproduce:
Clone https://github.com/not-fl3/macroquad and modify examples/events.rs
(or any other event) to
use macroquad::prelude::*;
use miniquad::conf::Platform;
fn main() {
let config = Conf {
platform: Platform {
linux_backend: macroquad::miniquad::conf::LinuxBackend::WaylandOnly,
..Default::default()
},
..Default::default()
};
macroquad::Window::from_config(config, drawing_loop());
}
async fn drawing_loop() {
loop {
next_frame().await;
}
}
this is needed because macroquad by default runs using x11
Running this example fails with a segfault with the following backtrace
#0 0x00007ffff7f9c108 in wl_egl_window_resize () from /usr/lib/libwayland-egl.so
#1 0x0000555555630775 in miniquad::native::linux_wayland::xdg_toplevel_handle_configure (data=0x7ffffffe7520,
_toplevel=<optimized out>, width=938, height=1188, _states=<optimized out>) at src/native/linux_wayland.rs:498
#2 0x00007ffff7fa7596 in ?? () from /usr/lib/libffi.so.8
#3 0x00007ffff7fa400e in ?? () from /usr/lib/libffi.so.8
#4 0x00007ffff7fa6bd3 in ffi_call () from /usr/lib/libffi.so.8
#5 0x00007ffff7fb2645 in ?? () from /usr/lib/libwayland-client.so
#6 0x00007ffff7fb2e73 in ?? () from /usr/lib/libwayland-client.so
#7 0x00007ffff7fb313c in wl_display_dispatch_queue_pending () from /usr/lib/libwayland-client.so
#8 0x00007ffff7fb5cf0 in wl_display_roundtrip_queue () from /usr/lib/libwayland-client.so
#9 0x0000555555570caa in miniquad::native::linux_wayland::run<macroquad::{impl#4}::from_config::{closure_env#0}<events::drawing_loop::{async_fn_env#0}>> (conf=0x7ffffffe8878, f=0x7ffffffe873a)
at /home/frans/.cargo/registry/src/index.crates.io-6f17d22bba15001f/miniquad-0.4.0/src/native/linux_wayland.rs:691
#10 0x0000555555593896 in miniquad::start<macroquad::{impl#4}::from_config::{closure_env#0}<events::drawing_loop::{async_fn_env#0}>> (conf=..., f=...)
at /home/frans/.cargo/registry/src/index.crates.io-6f17d22bba15001f/miniquad-0.4.0/src/lib.rs:256
#11 0x00005555555755e2 in macroquad::Window::from_config<events::drawing_loop::{async_fn_env#0}> (config=...,
future=...) at src/lib.rs:765
#12 0x000055555557fae1 in events::main () at examples/events.rs:13
System Information
- niri version: niri 0.1.5 (v0.1.5-57-gd714a71) (the version in #307)
- Distro: Arch
- GPU: TigerLake-LP GT2 [Iris Xe Graphics]
- CPU: Intel i7-1165G7