neovide: neovide doesn't launch on kwin_wayland

Describe the bug See To Reproduce

To Reproduce Steps to reproduce the behavior:

  1. Launch Neovide
  2. It returns to the shell instantly with no error (w/o --nofork), or, if it was launched from the desktop, closes itself after a few sec of loading animation.

Desktop

  • OS: Archlinux, KDE Plasma on wayland
  • Neovide Version [0.9.0.r13.g48dfe95-1 from aur neovide-git and 0.9.0-3 from the repo] (the issue was on 0.8.0.* too)
  • Neovim Version [0.7.2-3 from the repo] (the issue was on 0.7.0 too?)

The Logs

Click to expand

 remorin@archsys@pts/2 ~ $ neovide                                                                                     2:01PM | Sun, Jul 10
 remorin@archsys@pts/2 ~ $ neovide --log                                                                               2:01PM | Sun, Jul 10
 remorin@archsys@pts/2 ~ $ neovide --log --nofork                                                                      2:01PM | Sun, Jul 10
[wayland-client error] Attempted to dispatch unknown opcode 0 for wl_shm, aborting.
zsh: IOT instruction (core dumped)  neovide --log --nofork
 134 remorin@archsys@pts/2 ~ $ WAYLAND_DEBUG=1 neovide --log --nofork                                                  2:01PM | Sun, Jul 10
[1543190.218]  -> wl_display@1.get_registry(new id wl_registry@2)
[1543190.240]  -> wl_display@1.sync(new id wl_callback@3)
[1543196.215] wl_display@1.delete_id(3)
[1543196.235] wl_registry@2.global(1, "wl_compositor", 5)
[1543196.263]  -> wl_registry@2.bind(1, "wl_compositor", 5, new id [unknown]@4)
[1543196.273] wl_registry@2.global(2, "zwp_tablet_manager_v2", 1)
[1543196.280] wl_registry@2.global(3, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[1543196.286] wl_registry@2.global(5, "xdg_wm_base", 4)
[1543196.296] wl_registry@2.global(6, "zwlr_layer_shell_v1", 3)
[1543196.300] wl_registry@2.global(7, "zxdg_decoration_manager_v1", 1)
[1543196.305]  -> wl_registry@2.bind(7, "zxdg_decoration_manager_v1", 1, new id [unknown]@5)
[1543196.310] wl_registry@2.global(8, "wp_viewporter", 1)
[1543196.313] wl_registry@2.global(9, "wl_shm", 1)
[1543196.317]  -> wl_registry@2.bind(9, "wl_shm", 1, new id [unknown]@6)
[1543196.322] wl_registry@2.global(10, "wl_seat", 7)
[1543196.332]  -> wl_registry@2.bind(10, "wl_seat", 6, new id [unknown]@7)
[1543196.338] wl_registry@2.global(11, "zwp_pointer_gestures_v1", 3)
[1543196.341] wl_registry@2.global(12, "zwp_pointer_constraints_v1", 1)
[1543196.345]  -> wl_registry@2.bind(12, "zwp_pointer_constraints_v1", 1, new id [unknown]@8)
[1543196.350] wl_registry@2.global(13, "zwp_relative_pointer_manager_v1", 1)
[1543196.354]  -> wl_registry@2.bind(13, "zwp_relative_pointer_manager_v1", 1, new id [unknown]@9)
[1543196.359] wl_registry@2.global(14, "wl_data_device_manager", 3)
[1543196.362] wl_registry@2.global(15, "zwlr_data_control_manager_v1", 2)
[1543196.365] wl_registry@2.global(16, "zwp_primary_selection_device_manager_v1", 1)
[1543196.369] wl_registry@2.global(17, "org_kde_kwin_idle", 1)
[1543196.373] wl_registry@2.global(18, "zwp_idle_inhibit_manager_v1", 1)
[1543196.376] wl_registry@2.global(19, "org_kde_plasma_shell", 7)
[1543196.379] wl_registry@2.global(20, "org_kde_kwin_appmenu_manager", 1)
[1543196.383] wl_registry@2.global(21, "org_kde_kwin_server_decoration_palette_manager", 1)
[1543196.386] wl_registry@2.global(23, "org_kde_plasma_virtual_desktop_management", 2)
[1543196.390] wl_registry@2.global(25, "org_kde_kwin_shadow_manager", 2)
[1543196.393] wl_registry@2.global(26, "org_kde_kwin_dpms_manager", 1)
[1543196.397] wl_registry@2.global(27, "org_kde_kwin_server_decoration_manager", 1)
[1543196.400] wl_registry@2.global(28, "kde_output_management_v2", 2)
[1543196.403] wl_registry@2.global(29, "kde_primary_output_v1", 2)
[1543196.407] wl_registry@2.global(30, "zxdg_output_manager_v1", 3)
[1543196.410] wl_registry@2.global(31, "wl_subcompositor", 1)
[1543196.414]  -> wl_registry@2.bind(31, "wl_subcompositor", 1, new id [unknown]@10)
[1543196.418] wl_registry@2.global(32, "zxdg_exporter_v2", 1)
[1543196.422] wl_registry@2.global(33, "zxdg_importer_v2", 1)
[1543196.425] wl_registry@2.global(35, "xdg_activation_v1", 1)
[1543196.428] wl_registry@2.global(36, "wp_drm_lease_device_v1", 1)
[1543196.437] wl_registry@2.global(39, "wl_drm", 2)
[1543196.444] wl_registry@2.global(40, "zwp_linux_dmabuf_v1", 4)
[1543196.447] wl_registry@2.global(41, "kde_output_device_v2", 2)
[1543196.451] wl_registry@2.global(42, "wl_output", 3)
[1543196.455]  -> wl_registry@2.bind(42, "wl_output", 3, new id [unknown]@11)
[1543196.462] wl_registry@2.global(43, "kde_output_device_v2", 2)
[1543196.466] wl_registry@2.global(44, "wl_output", 3)
[1543196.470]  -> wl_registry@2.bind(44, "wl_output", 3, new id [unknown]@12)
[1543196.474] wl_registry@2.global(46, "zwp_text_input_manager_v2", 1)
[1543196.478] wl_registry@2.global(47, "zwp_text_input_manager_v3", 1)
[1543196.482]  -> wl_registry@2.bind(47, "zwp_text_input_manager_v3", 1, new id [unknown]@13)
[1543196.487] wl_registry@2.global(48, "org_kde_kwin_contrast_manager", 2)
[1543196.490] wl_registry@2.global(49, "org_kde_kwin_blur_manager", 1)
[1543196.494] wl_registry@2.global(50, "org_kde_kwin_slide_manager", 1)
[1543196.497] wl_callback@3.done(1240)
[1543196.503]  -> wl_display@1.sync(new id wl_callback@3)
[1543196.643] wl_display@1.delete_id(3)
[1543196.653] wl_shm@6.format(0)
[1543196.663] wl_shm@6.format(1)
[1543196.666] wl_shm@6.format(808669761)
[1543196.669] wl_shm@6.format(808669784)
[1543196.673] wl_shm@6.format(808665665)
[1543196.676] wl_shm@6.format(808665688)
[1543196.679] wl_shm@6.format(942948929)
[wayland-client error] Attempted to dispatch unknown opcode 0 for wl_shm, aborting.
zsh: IOT instruction (core dumped)  WAYLAND_DEBUG=1 neovide --log --nofork
 134 remorin@archsys@pts/2 ~ $ 

Additional context Actually, I’ve been having this issue for a few months now, I was just too lazy to report it here. The story is that one day neovide just stopped opening (maybe because I did smth or because of an update, idk), I tried switching from neovide to neovide-git package in aur, didn’t work. So, I switched to another frontend - Goneovim, it have been working fine (as well as terminal neovim), but I realized everything looks better in neovide, hence I really wanna use it.

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 9
  • Comments: 22 (6 by maintainers)

Most upvoted comments

…oh wow, I completely forgot about this, sorry. I’ll tackle this now.

I had the same issue, but I found a temporary workaround; by launching Neovide with env -u WAYLAND_DISPLAY before the executable, it started in Xwayland and worked as expected.

The issue with this is it just sets it as an X11 window since it can’t see the wayland display anymore.

You can achieve the same by doing:

WINIT_UNIX_BACKEND=x11 neovide <args>

I can only run neovide in wayland ( Hyprland ) with

alias xw='env -u WAYLAND_DISPLAY'
alias nv="xw neovide --multigrid"

I’d more guess Wayland has a protocol inconsistency that’s already fixed in upstream winit.