emilk / egui

egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
https://www.egui.rs/
Apache License 2.0
22.39k stars 1.61k forks source link

`smithay-clipboard` crashes when resizing GUI with the mouse on WSL #3805

Open Brandontam29 opened 10 months ago

Brandontam29 commented 10 months ago

Describe the bug When resizing any examples with the mouse, the app simply crashes.

This is the error that we get:

Io error: Broken pipe (os error 32)
thread 'smithay-clipboard' panicked at 'called `Result::unwrap()` on an `Err` value: OtherError(IoError(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }))', /home/brandon/.cargo/registry/src/index.crates.io-6f17d22bba15001f/smithay-clipboard-0.7.0/src/worker.rs:98:47
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Aborted

To Reproduce Steps to reproduce the behavior:

  1. git clone repo
  2. terminal navigate to examples/hello_world
  3. cargo run in terminal
  4. resize gui with mouse
  5. error occurs in terminal and app disappears (see above for error)

Expected behavior GUI should resize without crashing.

Desktop

ethteck commented 10 months ago

relevant issues / projects: https://github.com/slint-ui/slint/issues/4089 https://github.com/Smithay/smithay-clipboard/issues/52 <- I believe this is the actual crate whose version bump introduces the bug

emilk commented 9 months ago

@Brandontam29 does this fix it for you:

--- a/crates/egui-winit/Cargo.toml
+++ b/crates/egui-winit/Cargo.toml
@@ -76,7 +76,7 @@ serde = { version = "1.0", optional = true, features = ["derive"] }
 webbrowser = { version = "0.8.3", optional = true }

 [target.'cfg(any(target_os="linux", target_os="dragonfly", target_os="freebsd", target_os="netbsd", target_os="openbsd"))'.dependencies]
-smithay-clipboard = { version = "0.7.0", optional = true }
+smithay-clipboard = { version = "0.6.0", optional = true }

 [target.'cfg(not(target_os = "android"))'.dependencies]
 arboard = { version = "3.2", optional = true, default-features = false }

?

XertroV commented 9 months ago

I am having a similar issue (failed unwrap at the same location in smithay-clipboard), except it isn't happening on window resize, and it isn't happening with the demo app, but is happening with a partial copy of the demo app I'm trying to integrate with an existing project.

It would be triggered when I moused-over the app window. Sometimes it would trigger immediately on startup, but not sure if there were maybe input events on the first frame. Otherwise it would wait until I hovered the app (including window border).

curiously, the window borders are different (and resize behavior is a bit different). I haven't been able to figure out what causes that.

image

The fix mentioned in the above linked issues (copying something to the clipboard after starting the app) fixes it.

Another fix for it is starting the demo app first, then starting my app.

If I trigger the crash for my app while the demo app is open, both crash in the same way.

Both produce the log entry [2024-01-23T03:43:11Z WARN egui_winit::clipboard] Failed to initialize arboard clipboard: Unknown error while interacting with the clipboard: Connection refused (os error 111) on start

I tried setting smithay-clipboard = { version = "0.6.0", optional = true } earlier, but it didn't help

I went to replicate the issue by copying the demo app from my larger project into it's own directory, and somewhere between taking the above screenshot and running this 3rd app, I lost the ability to replicate the bug (but could do so reliably before).

using ubuntu 22.04.3 via wsl2

WojciechMula commented 9 months ago

@Brandontam29 does this fix it for you:

--- a/crates/egui-winit/Cargo.toml
+++ b/crates/egui-winit/Cargo.toml
@@ -76,7 +76,7 @@ serde = { version = "1.0", optional = true, features = ["derive"] }
 webbrowser = { version = "0.8.3", optional = true }

 [target.'cfg(any(target_os="linux", target_os="dragonfly", target_os="freebsd", target_os="netbsd", target_os="openbsd"))'.dependencies]
-smithay-clipboard = { version = "0.7.0", optional = true }
+smithay-clipboard = { version = "0.6.0", optional = true }

 [target.'cfg(not(target_os = "android"))'.dependencies]
 arboard = { version = "3.2", optional = true, default-features = false }

?

It does not help. I'm getting the following error (Debian on WSL2):

Io error: Broken pipe (os error 32)
warning: queue 0x7f28ac000de0 destroyed while proxies still attached:
  wl_data_offer@4278190081 still attached
  wl_data_device@38 still attached
  wl_seat@34 still attached
  wl_data_device_manager@35 still attached
  wl_registry@36 still attached
[2024-01-24T12:29:49Z ERROR arboard::platform::linux::x11] Worker thread errored with: Unknown error while interacting with the clipboard: Connection reset by peer (os error 104)
[2024-01-24T12:29:49Z ERROR arboard::platform::linux::x11] Could not hand the clipboard data over to the clipboard manager: Unknown error while interacting with the clipboard: The X11 server closed the connection
[2024-01-24T12:29:49Z ERROR arboard::platform::linux::x11] Failed to flush the clipboard window. Error: Broken pipe (os error 32)
Io error: Broken pipe (os error 32)
Error: WinitEventLoop(ExitFailure(1))
WojciechMula commented 9 months ago

Also version 0.5.0 crashes. Version 0.4.0 does not compile with the current head, so didn't check that version.

emilk commented 9 months ago

The problems are the unwraps here:

https://github.com/Smithay/smithay-clipboard/blob/858419b586c679dedd46f5347c26b19a7e00c56b/src/worker.rs#L95-L98

Make a PR to smithay-clipboard to replace those unwraps, and replace them with state.reply_tx.send(Err(err)) or a log line.

Any takers?

XertroV commented 9 months ago

I patched smithay-clipboard to handle errors at those places, but I still get a crash.

I'm not sure, but maybe the clipboard issue is just a symptom of something going wrong deeper in wayland stuff?

Logs normal log ``` ❯ cargo r Compiling smithay-clipboard v0.7.0 (/home/xertrov/src/smithay-clipboard) Compiling egui-winit v0.25.0 (/home/xertrov/src/egui/crates/egui-winit) Compiling eframe v0.25.0 (/home/xertrov/src/egui/crates/eframe) Compiling custom_3d_glow v0.1.0 (/home/xertrov/src/egui/examples/custom_3d_glow) Finished dev [unoptimized + debuginfo] target(s) in 8.42s Running `/home/xertrov/src/egui/target/debug/custom_3d_glow` insert_registration: Ok( RegistrationToken { inner: TokenInner { id: 1, version: 0, sub_id: 0, }, }, ) dispatch_resp: Ok(()) dispatch_resp: Ok(()) dispatch_resp: Ok(()) dispatch_resp: Ok(()) dispatch_resp: Ok(()) dispatch_resp: Ok(()) dispatch_resp: Ok(()) dispatch_resp: Ok(()) dispatch_resp: Ok(()) dispatch_resp: Ok(()) dispatch_resp: Ok(()) dispatch_resp: Ok(()) dispatch_resp: Ok(()) dispatch_resp: Ok(()) dispatch_resp: Ok(()) Io error: Broken pipe (os error 32) dispatch_resp: Err(OtherError(IoError(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }))) Error while dispatching: OtherError( IoError( Os { code: 32, kind: BrokenPipe, message: "Broken pipe", }, ), ) smithay-clipboard worker thread exited Io error: Broken pipe (os error 32) [2024-01-25T01:01:26Z ERROR arboard::platform::linux::x11] Worker thread errored with: Unknown error while interacting with the clipboard: Connection reset by peer (os error 104) [2024-01-25T01:01:26Z ERROR arboard::platform::linux::x11] Could not hand the clipboard data over to the clipboard manager: Unknown error while interacting with the clipboard: The X11 server closed the connection [2024-01-25T01:01:26Z ERROR arboard::platform::linux::x11] Failed to flush the clipboard window. Error: Broken pipe (os error 32) Io error: Broken pipe (os error 32) Error: WinitEventLoop(ExitFailure(1)) ``` with RUST_LOG=trace crashing log: ``` [2024-01-25T01:30:14Z DEBUG smithay_clipboard::worker] dispatch_resp: Ok(()) [2024-01-25T01:30:14Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #2 [2024-01-25T01:30:14Z TRACE calloop::sources] [calloop] Processing events for source type calloop::sources::ping::eventfd::PingSource [2024-01-25T01:30:14Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #0 [2024-01-25T01:30:14Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:30:14Z TRACE eframe::native::run] winit event: NewEvents(WaitCancelled { start: Instant { tv_sec: 2131, tv_nsec: 783236518 }, requested_resume: None }) [2024-01-25T01:30:14Z TRACE eframe::native::run] event_result: Wait [2024-01-25T01:30:14Z TRACE eframe::native::run] winit event: AboutToWait [2024-01-25T01:30:14Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #0 [2024-01-25T01:30:14Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:30:14Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #1 [2024-01-25T01:30:14Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:30:14Z DEBUG smithay_clipboard::worker] dispatch_resp: Ok(()) [2024-01-25T01:30:14Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #1 [2024-01-25T01:30:14Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:30:14Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #0 [2024-01-25T01:30:14Z DEBUG smithay_clipboard::worker] dispatch_resp: Ok(()) [2024-01-25T01:30:14Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:30:14Z WARN winit::platform_impl::platform::wayland::window::state] Failed to set cursor to Default [2024-01-25T01:30:14Z TRACE eframe::native::run] winit event: NewEvents(WaitCancelled { start: Instant { tv_sec: 2131, tv_nsec: 799511829 }, requested_resume: None }) [2024-01-25T01:30:14Z TRACE eframe::native::run] event_result: Wait [2024-01-25T01:30:14Z TRACE eframe::native::run] winit event: WindowEvent { window_id: WindowId(WindowId(93851994575728)), event: CursorEntered { device_id: DeviceId(Wayland(DeviceId)) } } [2024-01-25T01:30:14Z TRACE eframe::native::run] event_result: RepaintNext(WindowId(WindowId(93851994575728))) [2024-01-25T01:30:14Z TRACE eframe::native::run] RepaintNext of WindowId(WindowId(93851994575728)) caused by WindowEvent::CursorEntered [2024-01-25T01:30:14Z TRACE eframe::native::run] request_redraw for WindowId(WindowId(93851994575728)) [2024-01-25T01:30:14Z TRACE eframe::native::run] winit event: WindowEvent { window_id: WindowId(WindowId(93851994575728)), event: CursorMoved { device_id: DeviceId(Wayland(DeviceId)), position: PhysicalPosition { x: 172.0, y: 371.0 } } } [2024-01-25T01:30:14Z TRACE eframe::native::run] event_result: RepaintNext(WindowId(WindowId(93851994575728))) [2024-01-25T01:30:14Z TRACE eframe::native::run] RepaintNext of WindowId(WindowId(93851994575728)) caused by WindowEvent::CursorMoved [2024-01-25T01:30:14Z TRACE eframe::native::run] request_redraw for WindowId(WindowId(93851994575728)) [2024-01-25T01:30:14Z TRACE eframe::native::run] winit event: WindowEvent { window_id: WindowId(WindowId(93851994575728)), event: CursorMoved { device_id: DeviceId(Wayland(DeviceId)), position: PhysicalPosition { x: 172.0, y: 371.0 } } } [2024-01-25T01:30:14Z TRACE eframe::native::run] event_result: RepaintNext(WindowId(WindowId(93851994575728))) [2024-01-25T01:30:14Z TRACE eframe::native::run] RepaintNext of WindowId(WindowId(93851994575728)) caused by WindowEvent::CursorMoved [2024-01-25T01:30:14Z TRACE eframe::native::run] request_redraw for WindowId(WindowId(93851994575728)) [2024-01-25T01:30:14Z TRACE eframe::native::run] winit event: WindowEvent { window_id: WindowId(WindowId(93851994575728)), event: RedrawRequested } [2024-01-25T01:30:14Z TRACE eframe::native::glow_integration] request_repaint_callback: RequestRepaintInfo { viewport_id: "0000", delay: 0ns, current_frame_nr: 6 } [2024-01-25T01:30:14Z WARN winit::platform_impl::platform::wayland::window::state] Failed to set cursor to Default [2024-01-25T01:30:14Z WARN winit::platform_impl::platform::wayland::window::state] Failed to set cursor to Default [2024-01-25T01:30:14Z TRACE eframe::native::run] winit event: AboutToWait [2024-01-25T01:30:14Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #2 [2024-01-25T01:30:14Z TRACE calloop::sources] [calloop] Processing events for source type calloop::sources::ping::eventfd::PingSource [2024-01-25T01:30:14Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #1 [2024-01-25T01:30:14Z TRACE calloop::sources] [calloop] Processing events for source type calloop::sources::channel::Channel [2024-01-25T01:30:14Z TRACE eframe::native::run] winit event: NewEvents(WaitCancelled { start: Instant { tv_sec: 2132, tv_nsec: 466620607 }, requested_resume: None }) [2024-01-25T01:30:14Z TRACE eframe::native::run] event_result: Wait [2024-01-25T01:30:14Z TRACE eframe::native::run] winit event: UserEvent(RequestRepaint { viewport_id: "0000", when: Instant { tv_sec: 2132, tv_nsec: 464269346 }, frame_nr: 6 }) [2024-01-25T01:30:14Z TRACE eframe::native::run] UserEvent::RequestRepaint scheduling repaint at Instant { tv_sec: 2132, tv_nsec: 464269346 } [2024-01-25T01:30:14Z TRACE eframe::native::run] request_redraw for WindowId(WindowId(93851994575728)) [2024-01-25T01:30:14Z TRACE eframe::native::run] winit event: WindowEvent { window_id: WindowId(WindowId(93851994575728)), event: RedrawRequested } [2024-01-25T01:30:14Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #1 [2024-01-25T01:30:14Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:30:14Z DEBUG smithay_clipboard::worker] dispatch_resp: Ok(()) [2024-01-25T01:30:14Z TRACE eframe::native::glow_integration] request_repaint_callback: RequestRepaintInfo { viewport_id: "0000", delay: 0ns, current_frame_nr: 6 } Io error: Broken pipe (os error 32) [2024-01-25T01:30:14Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #1 [2024-01-25T01:30:14Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:30:14Z TRACE eframe::native::run] winit event: AboutToWait [2024-01-25T01:30:14Z DEBUG smithay_clipboard::worker] dispatch_resp: Err(OtherError(IoError(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }))) Io error: Broken pipe (os error 32) [2024-01-25T01:30:14Z TRACE eframe::native::run] winit event: LoopExiting [2024-01-25T01:30:14Z DEBUG eframe::native::run] Received Event::LoopExiting - saving app state… [2024-01-25T01:30:14Z DEBUG smithay_clipboard::worker] Error while dispatching: OtherError( IoError( Os { code: 32, kind: BrokenPipe, message: "Broken pipe", }, ), ) [2024-01-25T01:30:14Z DEBUG smithay_clipboard::worker] smithay-clipboard worker thread exited [2024-01-25T01:30:14Z ERROR arboard::platform::linux::x11] Worker thread errored with: Unknown error while interacting with the clipboard: Connection reset by peer (os error 104) [2024-01-25T01:30:14Z ERROR arboard::platform::linux::x11] Could not hand the clipboard data over to the clipboard manager: Unknown error while interacting with the clipboard: The X11 server closed the connection [2024-01-25T01:30:14Z ERROR arboard::platform::linux::x11] Failed to flush the clipboard window. Error: Broken pipe (os error 32) Io error: Broken pipe (os error 32) Error: WinitEventLoop(ExitFailure(1)) ``` clean exit: ``` [2024-01-25T01:34:40Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:40Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #1 [2024-01-25T01:34:40Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:40Z DEBUG smithay_clipboard::worker] dispatch_resp: Ok(()) [2024-01-25T01:34:40Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #1 [2024-01-25T01:34:40Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:40Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #0 [2024-01-25T01:34:40Z DEBUG smithay_clipboard::worker] dispatch_resp: Ok(()) [2024-01-25T01:34:40Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:40Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #0 [2024-01-25T01:34:40Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:40Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #1 [2024-01-25T01:34:40Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:40Z DEBUG smithay_clipboard::worker] dispatch_resp: Ok(()) [2024-01-25T01:34:40Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #1 [2024-01-25T01:34:40Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:40Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #0 [2024-01-25T01:34:40Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:40Z DEBUG smithay_clipboard::worker] dispatch_resp: Ok(()) [2024-01-25T01:34:40Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #1 [2024-01-25T01:34:40Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:40Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #0 [2024-01-25T01:34:40Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:40Z DEBUG smithay_clipboard::worker] dispatch_resp: Ok(()) [2024-01-25T01:34:41Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #1 [2024-01-25T01:34:41Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:41Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #0 [2024-01-25T01:34:41Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:41Z DEBUG smithay_clipboard::worker] dispatch_resp: Ok(()) [2024-01-25T01:34:41Z TRACE eframe::native::run] winit event: NewEvents(WaitCancelled { start: Instant { tv_sec: 2398, tv_nsec: 200547238 }, requested_resume: None }) [2024-01-25T01:34:41Z TRACE eframe::native::run] event_result: Wait [2024-01-25T01:34:41Z TRACE eframe::native::run] winit event: AboutToWait [2024-01-25T01:34:41Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #1 [2024-01-25T01:34:41Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:41Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #0 [2024-01-25T01:34:41Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:41Z DEBUG smithay_clipboard::worker] dispatch_resp: Ok(()) [2024-01-25T01:34:41Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #1 [2024-01-25T01:34:41Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:41Z DEBUG smithay_clipboard::worker] dispatch_resp: Ok(()) [2024-01-25T01:34:41Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #0 [2024-01-25T01:34:41Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:41Z TRACE eframe::native::run] winit event: NewEvents(WaitCancelled { start: Instant { tv_sec: 2399, tv_nsec: 105751893 }, requested_resume: None }) [2024-01-25T01:34:41Z TRACE eframe::native::run] event_result: Wait [2024-01-25T01:34:41Z TRACE eframe::native::run] winit event: WindowEvent { window_id: WindowId(WindowId(94160355568848)), event: CloseRequested } [2024-01-25T01:34:41Z DEBUG eframe::native::glow_integration] Received WindowEvent::CloseRequested for viewport Some("0000") [2024-01-25T01:34:41Z TRACE eframe::native::glow_integration] request_repaint_callback: RequestRepaintInfo { viewport_id: "0000", delay: 0ns, current_frame_nr: 114 } [2024-01-25T01:34:41Z TRACE eframe::native::run] event_result: RepaintNext(WindowId(WindowId(94160355568848))) [2024-01-25T01:34:41Z TRACE eframe::native::run] RepaintNext of WindowId(WindowId(94160355568848)) caused by WindowEvent::CloseRequested [2024-01-25T01:34:41Z TRACE eframe::native::run] request_redraw for WindowId(WindowId(94160355568848)) [2024-01-25T01:34:41Z TRACE eframe::native::run] winit event: WindowEvent { window_id: WindowId(WindowId(94160355568848)), event: RedrawRequested } [2024-01-25T01:34:41Z TRACE eframe::native::glow_integration] request_repaint_callback: RequestRepaintInfo { viewport_id: "0000", delay: 0ns, current_frame_nr: 114 } [2024-01-25T01:34:41Z DEBUG eframe::native::epi_integration] Closing root viewport (ViewportCommand::CancelClose was not sent) [2024-01-25T01:34:41Z DEBUG eframe::native::run] Asking to exit event loop… [2024-01-25T01:34:41Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #1 [2024-01-25T01:34:41Z TRACE calloop::sources] [calloop] Processing events for source type calloop_wayland_source::WaylandSource [2024-01-25T01:34:41Z DEBUG smithay_clipboard::worker] dispatch_resp: Ok(()) [2024-01-25T01:34:41Z TRACE arboard::platform::linux::x11] Clipboard server window is being destroyed x_x [2024-01-25T01:34:41Z TRACE calloop::loop_logic] [calloop] Dispatching events for source #0 [2024-01-25T01:34:41Z TRACE calloop::sources] [calloop] Processing events for source type calloop::sources::channel::Channel [2024-01-25T01:34:41Z DEBUG smithay_clipboard::worker] exit [2024-01-25T01:34:41Z DEBUG smithay_clipboard::worker] dispatch_resp: Ok(()) [2024-01-25T01:34:41Z DEBUG smithay_clipboard::worker] smithay-clipboard worker thread exited [2024-01-25T01:34:41Z TRACE eframe::native::run] winit event: AboutToWait [2024-01-25T01:34:41Z TRACE eframe::native::run] winit event: LoopExiting [2024-01-25T01:34:41Z DEBUG eframe::native::run] Received Event::LoopExiting - saving app state… [2024-01-25T01:34:41Z DEBUG eframe::native::run] eframe window closed ```
XertroV commented 9 months ago

I found a workaround: you can run it as x11 and not wayland by explicitly including x11 and disabling default features for eframe:

eframe = { version = "0.26.1", features = ["wgpu", "x11"], default-features = false }