neovide: neovide crashes on start-up (installed with snap on Fedora 34 & 35)

Describe the bug neovide crashes during start-up when installed using snap on Fedora 34 and 35.

To Reproduce Steps to reproduce the behavior:

  1. Use Fedora 34 or 35.
  2. In a terminal, run “snap install neovide”. (You will be prompted for admin password.) Or run “sudo snap install neovide” - same result.
  3. Run “neovide” and observe crash:
thread 'main' panicked at 'Library libwayland-egl.so could not be loaded.', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/wayland-sys-0.28.6/src/egl.rs:48:37
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace 
  1. Run “RUST_BACKTRACE=1 neovide” and observe crash with backtrace:
thread 'main' panicked at 'Library libwayland-egl.so could not be loaded.', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/wayland-sys-0.28.6/src/egl.rs:48:37
stack backtrace:
   0: rust_begin_unwind
             at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:515:5
   1: core::panicking::panic_fmt
             at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/panicking.rs:92:14
   2: core::option::expect_failed
             at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/option.rs:1578:5
   3: core::option::Option<T>::expect
             at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/option.rs:685:21
   4: <wayland_sys::egl::WAYLAND_EGL_HANDLE as core::ops::deref::Deref>::deref::__static_ref_initialize
             at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/wayland-sys-0.28.6/src/egl.rs:48:9
   5: core::ops::function::FnOnce::call_once
             at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/ops/function.rs:227:5
   6: lazy_static::lazy::Lazy<T>::get::{{closure}}
             at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/lazy_static-1.4.0/src/inline_lazy.rs:31:29
   7: std::sync::once::Once::call_once::{{closure}}
             at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sync/once.rs:261:41
   8: std::sync::once::Once::call_inner
             at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sync/once.rs:418:21
   9: std::sync::once::Once::call_once
             at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sync/once.rs:261:9
  10: lazy_static::lazy::Lazy<T>::get
             at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/lazy_static-1.4.0/src/inline_lazy.rs:30:9
  11: <wayland_sys::egl::WAYLAND_EGL_HANDLE as core::ops::deref::Deref>::deref::__stability
             at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/lazy_static-1.4.0/src/lib.rs:142:21
  12: <wayland_sys::egl::WAYLAND_EGL_HANDLE as core::ops::deref::Deref>::deref
             at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/lazy_static-1.4.0/src/lib.rs:144:17
  13: wayland_egl::WlEglSurface::new_from_raw
             at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/wayland-egl-0.28.6/src/lib.rs:49:19
  14: glutin::platform_impl::platform_impl::wayland::Context::new_raw_context
             at /root/.cargo/git/checkouts/glutin-28a8ef01504023c4/cf50967/glutin/src/platform_impl/unix/wayland.rs:119:13
  15: glutin::platform_impl::platform_impl::wayland::Context::new
             at /root/.cargo/git/checkouts/glutin-28a8ef01504023c4/cf50967/glutin/src/platform_impl/unix/wayland.rs:105:23
  16: glutin::platform_impl::platform_impl::Context::new_windowed
             at /root/.cargo/git/checkouts/glutin-28a8ef01504023c4/cf50967/glutin/src/platform_impl/unix/mod.rs:113:20
  17: glutin::windowed::<impl glutin::ContextBuilder<T>>::build_windowed
             at /root/.cargo/git/checkouts/glutin-28a8ef01504023c4/cf50967/glutin/src/windowed.rs:341:9
  18: neovide::window::window_wrapper::create_window
             at /root/parts/neovide/build/src/window/window_wrapper/mod.rs:274:28
  19: neovide::main
             at /root/parts/neovide/build/src/main.rs:171:5
  20: core::ops::function::FnOnce::call_once
             at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
^C
  1. Run “RUST_BACKTRACE=full neovide” and observe full backtrace:
thread 'main' panicked at 'Library libwayland-egl.so could not be loaded.', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/wayland-sys-0.28.6/src/egl.rs:48:37
stack backtrace:
   0:     0x55ab8d254cc0 - std::backtrace_rs::backtrace::libunwind::trace::ha0ad43e8a952bfe7
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
   1:     0x55ab8d254cc0 - std::backtrace_rs::backtrace::trace_unsynchronized::h6830419c0c4130dc
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x55ab8d254cc0 - std::sys_common::backtrace::_print_fmt::h8f3516631ffa1ef5
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x55ab8d254cc0 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::he1640d5f0d93f618
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:46:22
   4:     0x55ab8d196fbc - core::fmt::write::h88012e1f01caeebf
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/fmt/mod.rs:1115:17
   5:     0x55ab8d253294 - std::io::Write::write_fmt::h360fa85b30182555
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/io/mod.rs:1665:15
   6:     0x55ab8d253ebb - std::sys_common::backtrace::_print::ha1f00492f406a015
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:49:5
   7:     0x55ab8d253ebb - std::sys_common::backtrace::print::hd54561b13feb6af3
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:36:9
   8:     0x55ab8d253ebb - std::panicking::default_hook::{{closure}}::h84fe124cd0864662
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:208:50
   9:     0x55ab8d252e99 - std::panicking::default_hook::h5a8e74a76ce290a7
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:225:9
  10:     0x55ab8d252e99 - std::panicking::rust_panic_with_hook::h67c812a4fe9d4c91
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:622:17
  11:     0x55ab8d26cea8 - std::panicking::begin_panic_handler::{{closure}}::h33f9c1b96af300d7
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:519:13
  12:     0x55ab8d26ce1c - std::sys_common::backtrace::__rust_end_short_backtrace::h51bae64be5921f0e
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:141:18
  13:     0x55ab8d26cdcd - rust_begin_unwind
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:515:5
  14:     0x55ab8d041900 - core::panicking::panic_fmt::h12a3a3c256485fca
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/panicking.rs:92:14
  15:     0x55ab8d041ba2 - core::option::expect_failed::h7db74b1e3f5289b2
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/option.rs:1578:5
  16:     0x55ab8d2f838e - core::option::Option<T>::expect::h8168b96039ad7069
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/option.rs:685:21
  17:     0x55ab8d2f838e - <wayland_sys::egl::WAYLAND_EGL_HANDLE as core::ops::deref::Deref>::deref::__static_ref_initialize::h9d96f045ca5f88c1
                               at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/wayland-sys-0.28.6/src/egl.rs:48:9
  18:     0x55ab8d2f838e - core::ops::function::FnOnce::call_once::hf995503ae06d7fd7
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/ops/function.rs:227:5
  19:     0x55ab8d2f838e - lazy_static::lazy::Lazy<T>::get::{{closure}}::h7a20a6da07f7e341
                               at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/lazy_static-1.4.0/src/inline_lazy.rs:31:29
  20:     0x55ab8d2f838e - std::sync::once::Once::call_once::{{closure}}::h3eb256b0af521dc7
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sync/once.rs:261:41
  21:     0x55ab8d04e418 - std::sync::once::Once::call_inner::hde8ba9bafe28b43e
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sync/once.rs:418:21
  22:     0x55ab8d0ee9e0 - std::sync::once::Once::call_once::h72be678fed11efac
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sync/once.rs:261:9
  23:     0x55ab8d0ee9e0 - lazy_static::lazy::Lazy<T>::get::h879e5d81eba0c829
                               at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/lazy_static-1.4.0/src/inline_lazy.rs:30:9
  24:     0x55ab8d0ee9e0 - <wayland_sys::egl::WAYLAND_EGL_HANDLE as core::ops::deref::Deref>::deref::__stability::hd274b06eb6b43738
                               at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/lazy_static-1.4.0/src/lib.rs:142:21
  25:     0x55ab8d0ee9e0 - <wayland_sys::egl::WAYLAND_EGL_HANDLE as core::ops::deref::Deref>::deref::ha60e04f63af24397
                               at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/lazy_static-1.4.0/src/lib.rs:144:17
  26:     0x55ab8d0ee9e0 - wayland_egl::WlEglSurface::new_from_raw::h6a83a8e67857c833
                               at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/wayland-egl-0.28.6/src/lib.rs:49:19
  27:     0x55ab8d0ee9e0 - glutin::platform_impl::platform_impl::wayland::Context::new_raw_context::hbe18970c13079446
                               at /root/.cargo/git/checkouts/glutin-28a8ef01504023c4/cf50967/glutin/src/platform_impl/unix/wayland.rs:119:13
  28:     0x55ab8d0ee9e0 - glutin::platform_impl::platform_impl::wayland::Context::new::h90fb0d43a6f19c32
                               at /root/.cargo/git/checkouts/glutin-28a8ef01504023c4/cf50967/glutin/src/platform_impl/unix/wayland.rs:105:23
  29:     0x55ab8d0ee9e0 - glutin::platform_impl::platform_impl::Context::new_windowed::hea4b1b703091c0a9
                               at /root/.cargo/git/checkouts/glutin-28a8ef01504023c4/cf50967/glutin/src/platform_impl/unix/mod.rs:113:20
  30:     0x55ab8d0ee9e0 - glutin::windowed::<impl glutin::ContextBuilder<T>>::build_windowed::hddf56c0dedfddfc7
                               at /root/.cargo/git/checkouts/glutin-28a8ef01504023c4/cf50967/glutin/src/windowed.rs:341:9
  31:     0x55ab8d14383b - neovide::window::window_wrapper::create_window::hcf20f9fb48510576
                               at /root/parts/neovide/build/src/window/window_wrapper/mod.rs:274:28
  32:     0x55ab8d0d735d - neovide::main::h6e70023db0b1cd0a
                               at /root/parts/neovide/build/src/main.rs:171:5
  33:     0x55ab8d0e83b3 - core::ops::function::FnOnce::call_once::hf6a1d5d6f2a812dd
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/ops/function.rs:227:5
  34:     0x55ab8d0e83b3 - std::sys_common::backtrace::__rust_begin_short_backtrace::h29430f71efff7f85
                               at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:125:18
  35:     0x55ab8d0d1e84 - main
  36:     0x7fdf8b9ee0b3 - __libc_start_main
  37:     0x55ab8d054d1e - _start
  38:                0x0 - <unknown>
^C

Expected behavior neovide should start up without crashing.

Desktop (please complete the following information):

  • OS: Fedora 34 and Fedora 35
  • Neovide Version 0.8.0
  • Neovim Version 0.5.1

Please run neovide --log and paste the contents of the .log file here: TRACE [neovide] Neovide version: 0.8.0 INFO [neovide::bridge] Starting neovim with: Command { std: “/snap/neovide/120/usr/bin/nvim” “–embed”, kill_on_drop: false } INFO [neovide::bridge] Close watcher started DEBUG [neovide::bridge::events] Ignored client type property: “methods” DEBUG [neovide::bridge::events] Ignored client type property: “attributes” INFO [neovide::bridge] Neovide registered to nvim with channel id 1 INFO [neovide::bridge] Neovim process attached

Additional context It seems to work as expected when running “neovide” as the root user.

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 2
  • Comments: 29 (10 by maintainers)

Most upvoted comments

Neovide 0.11.0 fully supports wayland. But please use the AppImage or another installation method. We have big problems with the Snap packages and will likely drop the support for that completely.

There’s some problem with the credentials on the CI for uploading. But you can download the produced snap directly from here https://github.com/neovide/neovide/actions/runs/5272491031

Note: you might be able to work around the problems by installing the snap in devmode snap install --devmode https://forum.snapcraft.io/t/snap-confinement/6233. If you do that it should output a debug output, with all unspecified interfaces, so, please post that log here.

Sadly I don’t have much knowledge about snap, but hopefully someone else can look into it, so it would be nice to reopen this issue (that is as long as maintainers agree that this is indeed an issue)

BTW, WINIT_UNIX_BACKEND=x11 neovide is the proper less hacky way to force X11 in winit based apps without removing Wayland env variable.

and after that neovide starts up without crashing!

– Closing since its resolved now

… and after that neovide starts up without crashing!

The problem is solved? Close the issue…

I googled the error message and some pages mentioned $WAYLAND_DISPLAY. I noticed my “normal” user had a value for this:

$ echo $WAYLAND_DISPLAY
wayland-0

… whereas my root user didn’t. So therefore I tried:

$ unset WAYLAND_DISPLAY

… and after that neovide starts up without crashing!