Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for wayland is not implemented #36

Closed
szbergeron opened this issue Jan 6, 2020 · 21 comments
Closed

Support for wayland is not implemented #36

szbergeron opened this issue Jan 6, 2020 · 21 comments
Labels
help wanted Extra attention is needed

Comments

@szbergeron
Copy link

Originally reported as neovide/neovide#33,

thread 'main' panicked at 'internal error: entered unreachable code', /home/sawyer/.cargo/registry/src/github.com-1ecc6299db9ec823/skulpin-0.5.0/src/renderer/window_support.rs:45:14
stack backtrace:
   0:     0x555ec12408f4 - backtrace::backtrace::libunwind::trace::h65597d255cb1398b
                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/libunwind.rs:88
   1:     0x555ec12408f4 - backtrace::backtrace::trace_unsynchronized::hd4f479d7150ec4a0
                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/mod.rs:66
   2:     0x555ec12408f4 - std::sys_common::backtrace::_print_fmt::h015072984a2b172c
                               at src/libstd/sys_common/backtrace.rs:77
   3:     0x555ec12408f4 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6df05d3335f32194
                               at src/libstd/sys_common/backtrace.rs:61
   4:     0x555ec1266d6c - core::fmt::write::h1f444f4312eb6c27
                               at src/libcore/fmt/mod.rs:1028
   5:     0x555ec123da37 - std::io::Write::write_fmt::h8d147888220078ef
                               at src/libstd/io/mod.rs:1412
   6:     0x555ec1242e4e - std::sys_common::backtrace::_print::h8a6df0fa81d6af62
                               at src/libstd/sys_common/backtrace.rs:65
   7:     0x555ec1242e4e - std::sys_common::backtrace::print::h6f05b4733407e509
                               at src/libstd/sys_common/backtrace.rs:50
   8:     0x555ec1242e4e - std::panicking::default_hook::{{closure}}::h0d0a23bd02315dd8
                               at src/libstd/panicking.rs:188
   9:     0x555ec1242b41 - std::panicking::default_hook::h8d15a9aecb4efac6
                               at src/libstd/panicking.rs:205
  10:     0x555ec124354b - std::panicking::rust_panic_with_hook::hbe174577402a475d
                               at src/libstd/panicking.rs:464
  11:     0x555ec11c0783 - std::panicking::begin_panic::hfc51a6f59961fcca
                               at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14/src/libstd/panicking.rs:400
  12:     0x555ec09e7efa - skulpin::renderer::window_support::create_surface::hdafadb24e11b4148
                               at /home/sawyer/.cargo/registry/src/github.com-1ecc6299db9ec823/skulpin-0.5.0/src/renderer/window_support.rs:45
  13:     0x555ec09c2055 - skulpin::renderer::device::VkDevice::new::hb87b290a8f6fd6cc
                               at /home/sawyer/.cargo/registry/src/github.com-1ecc6299db9ec823/skulpin-0.5.0/src/renderer/device.rs:50
  14:     0x555ec09b91c1 - skulpin::renderer::renderer::Renderer::new::hc5d4e7bf2204550e
                               at /home/sawyer/.cargo/registry/src/github.com-1ecc6299db9ec823/skulpin-0.5.0/src/renderer/renderer.rs:249
  15:     0x555ec09b8d7a - skulpin::renderer::renderer::RendererBuilder::build::h4991be65e14a1fbf
                               at /home/sawyer/.cargo/registry/src/github.com-1ecc6299db9ec823/skulpin-0.5.0/src/renderer/renderer.rs:163
  16:     0x555ec07eda5b - neovide::window::ui_loop::hdcad53034d51e52c
                               at src/window.rs:42
  17:     0x555ec08519f9 - neovide::main::hcc0d95a0303618df
                               at src/main.rs:91
  18:     0x555ec084e520 - std::rt::lang_start::{{closure}}::hfbadcd0574f266cc
                               at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14/src/libstd/rt.rs:61
  19:     0x555ec1242f73 - std::rt::lang_start_internal::{{closure}}::h6ea535ec5c50fc3e
                               at src/libstd/rt.rs:48
  20:     0x555ec1242f73 - std::panicking::try::do_call::h631c6408dfccc6f5
                               at src/libstd/panicking.rs:287
  21:     0x555ec124b2ca - __rust_maybe_catch_panic
                               at src/libpanic_unwind/lib.rs:78
  22:     0x555ec1243a2d - std::panicking::try::hab539b2d1255d635
                               at src/libstd/panicking.rs:265
  23:     0x555ec1243a2d - std::panic::catch_unwind::hd5e0a26424bd7f34
                               at src/libstd/panic.rs:396
  24:     0x555ec1243a2d - std::rt::lang_start_internal::h3bdc4c7d98181bf9
                               at src/libstd/rt.rs:47
  25:     0x555ec084e4f9 - std::rt::lang_start::h1cd89b6af8d283da
                               at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14/src/libstd/rt.rs:61
  26:     0x555ec0851a7a - main
  27:     0x7fb37ef6c153 - __libc_start_main
  28:     0x555ec0794e9e - _start
  29:                0x0 - <unknown>

Panic comes from https://github.com/aclysma/skulpin/blob/master/src/renderer/window_support.rs#L45

@aclysma aclysma changed the title Unreachable code is reachable Support for wayland is not implemented Jan 7, 2020
@aclysma
Copy link
Owner

aclysma commented Jan 7, 2020

This seems very fixable. Ash has bindings for this. I don’t have a good way of testing but I could probably get something to compile, and hopefully it will be close enough that someone could help if it doesn’t work.

@aclysma
Copy link
Owner

aclysma commented Jan 7, 2020

I pushed a commit that should implement support for Wayland and xcb. If you have a chance to give it a try please let me know how it goes!

@szbergeron
Copy link
Author

Cool, just tried it. Doesn't panic anymore but does seem to freeze. I'll see if I can get more info.

@Kethku
Copy link
Contributor

Kethku commented Jan 7, 2020

Out of curiosity, does a window pop? Does anything draw? What does freeze mean?

@szbergeron
Copy link
Author

@Kethku nothing draws, no window. It doesn't freeze so much as just doesn't do anything, the event loop stops going but it still responds to sigint

@aclysma
Copy link
Owner

aclysma commented Jan 15, 2020

Unfortunately I don't have a machine using Wayland or time to build one right now. I'm happy to look at the log if you post it in case something obvious sticks out, but this one might need outside assistance.

@aclysma aclysma added the help wanted Extra attention is needed label Jan 15, 2020
@szbergeron
Copy link
Author

Looks like the call to winit::window::Window::request_redraw is where things hang (neovide::editor::mod.rs line 90), will try to dig further into that

@szbergeron
Copy link
Author

With wayland debug output:

Redraw event is Flush
line 96 file src/editor/mod.rs
[170773.006]  -> wl_shm_pool@32.create_buffer(new id wl_buffer@59, 0, 793, 30, 3172, 0)
[170773.069]  -> wl_subsurface@23.set_position(0, -30)
[170773.103]  -> wl_surface@22.attach(wl_buffer@59, 0, 0)
[170773.137]  -> wl_surface@22.damage_buffer(0, 0, 793, 30)
[170773.153]  -> wl_surface@22.commit()
[170773.165]  -> wl_shm_pool@32.create_buffer(new id wl_buffer@60, 95160, 817, 12, 3268, 0)
[170773.223]  -> wl_subsurface@25.set_position(-12, -42)
[170773.234]  -> wl_surface@24.attach(wl_buffer@60, 0, 0)
[170773.267]  -> wl_surface@24.damage_buffer(0, 0, 817, 12)
[170773.304]  -> wl_surface@24.commit()
[170773.311]  -> wl_shm_pool@32.create_buffer(new id wl_buffer@61, 95160, 817, 12, 3268, 0)
[170773.332]  -> wl_subsurface@27.set_position(-12, 924)
[170773.341]  -> wl_surface@26.attach(wl_buffer@61, 0, 0)
[170773.355]  -> wl_surface@26.damage_buffer(0, 0, 817, 12)
[170773.370]  -> wl_surface@26.commit()
[170773.375]  -> wl_shm_pool@32.create_buffer(new id wl_buffer@62, 95160, 12, 954, 48, 0)
[170773.400]  -> wl_subsurface@29.set_position(-12, -30)
[170773.409]  -> wl_surface@28.attach(wl_buffer@62, 0, 0)
[170773.421]  -> wl_surface@28.damage_buffer(0, 0, 12, 954)
[170773.438]  -> wl_surface@28.commit()
[170773.444]  -> wl_shm_pool@32.create_buffer(new id wl_buffer@63, 95160, 12, 954, 48, 0)
[170773.466]  -> wl_subsurface@31.set_position(793, -30)
[170773.474]  -> wl_surface@30.attach(wl_buffer@63, 0, 0)
[170773.488]  -> wl_surface@30.damage_buffer(0, 0, 12, 954)
[170773.504]  -> wl_surface@30.commit()

@szbergeron
Copy link
Author

Running this under kwin-wayland does show a window with a colored background, but hits the same point and freezes

@aclysma
Copy link
Owner

aclysma commented Jan 19, 2020

I'm not sure if it's related, but it's probably worth watching this bug: rust-windowing/winit#1388

@szbergeron
Copy link
Author

New bug, not super sure what changed in the meantime. Instead of just freezing it panics now. Output with WAYLAND_DEBUG enabled is:

     Running `target/debug/neovide`
[3908269.804]  -> wl_display@1.get_registry(new id wl_registry@2)
[3908269.857]  -> wl_display@1.sync(new id wl_callback@3)
[3908270.054] wl_display@1.delete_id(3)
[3908270.088] wl_registry@2.global(1, "wl_data_device_manager", 3)
[3908270.116] wl_registry@2.global(2, "zwlr_data_control_manager_v1", 2)
[3908270.129] wl_registry@2.global(3, "wl_shm", 1)
[3908270.159]  -> wl_registry@2.bind(3, "wl_shm", 1, new id [unknown]@4)
[3908270.223] wl_registry@2.global(4, "zwp_linux_dmabuf_v1", 3)
[3908270.238] wl_registry@2.global(5, "wl_drm", 2)
[3908270.267] wl_registry@2.global(6, "zwlr_output_manager_v1", 1)
[3908270.305] wl_registry@2.global(7, "wl_compositor", 4)
[3908270.323]  -> wl_registry@2.bind(7, "wl_compositor", 4, new id [unknown]@5)
[3908270.485]  -> wl_shm@4.create_pool(new id wl_shm_pool@6, fd 15, 1024)
[3908270.600]  -> wl_shm_pool@6.resize(4352)
[3908270.638]  -> wl_shm_pool@6.resize(11008)
[3908270.719]  -> wl_shm_pool@6.resize(24320)
[3908270.862]  -> wl_shm_pool@6.resize(50944)
[3908271.135]  -> wl_shm_pool@6.resize(104192)
[3908272.390]  -> wl_shm_pool@6.resize(210688)
[3908273.429]  -> wl_shm_pool@6.resize(423680)
[3908275.268]  -> wl_shm_pool@6.resize(849664)
[3908278.559]  -> wl_shm_pool@6.resize(1701632)
[3908287.477] wl_registry@2.global(8, "wl_subcompositor", 1)
[3908287.506] wl_registry@2.global(9, "xdg_wm_base", 2)
[3908287.518] wl_registry@2.global(10, "zxdg_shell_v6", 1)
[3908287.555] wl_registry@2.global(11, "zwlr_layer_shell_v1", 2)
[3908287.565] wl_registry@2.global(12, "zwp_tablet_manager_v2", 1)
[3908287.574] wl_registry@2.global(13, "wl_seat", 7)
[3908287.640]  -> wl_registry@2.bind(13, "wl_seat", 5, new id [unknown]@7)
[3908287.669] wl_registry@2.global(14, "zwlr_screencopy_manager_v1", 2)
[3908287.679] wl_registry@2.global(15, "zwlr_gamma_control_manager_v1", 1)
[3908287.714] wl_registry@2.global(16, "zwp_linux_dmabuf_v1", 3)
[3908287.727] wl_registry@2.global(17, "zwlr_export_dmabuf_manager_v1", 1)
[3908287.741] wl_registry@2.global(18, "zxdg_output_manager_v1", 3)
[3908287.753] wl_registry@2.global(19, "zwlr_input_inhibit_manager_v1", 1)
[3908287.766] wl_registry@2.global(20, "org_kde_kwin_server_decoration_manager", 1)
[3908287.780] wl_registry@2.global(21, "zwp_virtual_keyboard_manager_v1", 1)
[3908287.794] wl_registry@2.global(22, "zwlr_virtual_pointer_manager_v1", 1)
[3908287.808] wl_registry@2.global(23, "org_kde_kwin_idle", 1)
[3908287.823] wl_registry@2.global(24, "zwp_idle_inhibit_manager_v1", 1)
[3908287.838] wl_registry@2.global(25, "zwlr_foreign_toplevel_manager_v1", 2)
[3908287.852] wl_registry@2.global(26, "zwp_pointer_gestures_v1", 1)
[3908287.866] wl_registry@2.global(27, "zwp_relative_pointer_manager_v1", 1)
[3908287.884]  -> wl_registry@2.bind(27, "zwp_relative_pointer_manager_v1", 1, new id [unknown]@8)
[3908287.908] wl_registry@2.global(28, "zwp_pointer_constraints_v1", 1)
[3908287.924]  -> wl_registry@2.bind(28, "zwp_pointer_constraints_v1", 1, new id [unknown]@9)
[3908287.948] wl_registry@2.global(29, "zwf_shell_manager_v2", 1)
[3908287.961] wl_registry@2.global(30, "gtk_shell1", 1)
[3908287.974] wl_registry@2.global(31, "wl_output", 3)
[3908288.000]  -> wl_registry@2.bind(31, "wl_output", 3, new id [unknown]@10)
[3908288.029] wl_callback@3.done(19923)
[3908288.039]  -> wl_display@1.sync(new id wl_callback@3)
[3908288.223] wl_display@1.delete_id(3)
[3908288.235] wl_shm@4.format(0)
[3908288.246] wl_shm@4.format(1)
[3908288.251] wl_shm@4.format(875708993)
[3908288.257] wl_shm@4.format(875709016)
[3908288.264] wl_seat@7.name("default")
[3908288.278] wl_seat@7.capabilities(7)
[3908288.292]  -> wl_seat@7.get_pointer(new id wl_pointer@11)
[3908288.311]  -> wl_compositor@5.create_surface(new id wl_surface@12)
[3908288.335]  -> zwp_relative_pointer_manager_v1@8.get_relative_pointer(new id zwp_relative_pointer_v1@13, wl_pointer@11)
[3908292.997]  -> wl_seat@7.get_keyboard(new id wl_keyboard@14)
[3908293.022]  -> wl_seat@7.get_touch(new id wl_touch@15)
[3908293.034] wl_output@10.geometry(0, 0, 350, 190, 0, "Sharp Corporation", "0x143E", 0)
[3908293.099] wl_output@10.mode(1, 3840, 2160, 59997)
[3908293.113] wl_output@10.scale(1)
[3908293.149] wl_output@10.done()
[3908293.196] wl_callback@3.done(19923)
[3908293.238]  -> wl_registry@2.bind(7, "wl_compositor", 4, new id [unknown]@3)
[3908293.270]  -> wl_registry@2.bind(8, "wl_subcompositor", 1, new id [unknown]@16)
[3908293.301]  -> wl_registry@2.bind(3, "wl_shm", 1, new id [unknown]@17)
[3908293.354]  -> wl_registry@2.bind(1, "wl_data_device_manager", 3, new id [unknown]@18)
[3908293.395]  -> wl_registry@2.bind(9, "xdg_wm_base", 1, new id [unknown]@19)
[3908293.451]  -> wl_display@1.sync(new id wl_callback@20)
[3908296.419] wl_display@1.delete_id(20)
[3908296.479] wl_keyboard@14.keymap(1, fd 15, 47217)
[3908299.563] wl_keyboard@14.repeat_info(40, 400)
[3908299.601] wl_shm@17.format(0)
[3908299.632] wl_shm@17.format(1)
[3908299.643] wl_shm@17.format(875708993)
[3908299.651] wl_shm@17.format(875709016)
[3908299.658] wl_callback@20.done(19923)
[3908338.624]  -> wl_compositor@3.create_surface(new id wl_surface@20)
[3908338.673]  -> wl_compositor@3.create_surface(new id wl_surface@21)
[3908338.694]  -> wl_subcompositor@16.get_subsurface(new id wl_subsurface@22, wl_surface@21, wl_surface@20)
[3908338.724]  -> wl_compositor@3.create_surface(new id wl_surface@23)
[3908338.740]  -> wl_subcompositor@16.get_subsurface(new id wl_subsurface@24, wl_surface@23, wl_surface@20)
[3908338.764]  -> wl_compositor@3.create_surface(new id wl_surface@25)
[3908338.782]  -> wl_subcompositor@16.get_subsurface(new id wl_subsurface@26, wl_surface@25, wl_surface@20)
[3908338.806]  -> wl_compositor@3.create_surface(new id wl_surface@27)
[3908338.820]  -> wl_subcompositor@16.get_subsurface(new id wl_subsurface@28, wl_surface@27, wl_surface@20)
[3908338.843]  -> wl_compositor@3.create_surface(new id wl_surface@29)
[3908338.859]  -> wl_subcompositor@16.get_subsurface(new id wl_subsurface@30, wl_surface@29, wl_surface@20)
[3908338.908]  -> wl_shm@17.create_pool(new id wl_shm_pool@31, fd 16, 128)
[3908338.960]  -> wl_shm@17.create_pool(new id wl_shm_pool@32, fd 18, 128)
[3908339.007]  -> wl_shm@17.create_pool(new id wl_shm_pool@33, fd 20, 1024)
[3908339.130]  -> wl_shm_pool@33.resize(4352)
[3908339.179]  -> wl_shm_pool@33.resize(11008)
[3908339.273]  -> wl_shm_pool@33.resize(24320)
[3908339.437]  -> wl_shm_pool@33.resize(50944)
[3908339.737]  -> wl_shm_pool@33.resize(104192)
[3908340.900]  -> wl_shm_pool@33.resize(210688)
[3908342.128]  -> wl_shm_pool@33.resize(423680)
[3908344.402]  -> wl_shm_pool@33.resize(849664)
[3908348.231]  -> wl_shm_pool@33.resize(1701632)
[3908358.219]  -> xdg_wm_base@19.get_xdg_surface(new id xdg_surface@34, wl_surface@20)
[3908358.260]  -> xdg_surface@34.get_toplevel(new id xdg_toplevel@35)
[3908358.276]  -> wl_surface@20.commit()
[3908358.288]  -> xdg_toplevel@35.set_min_size(2, 31)
[3908358.299]  -> xdg_surface@34.set_window_geometry(0, -30, 801, 984)
[3908358.336]  -> wl_compositor@3.create_surface(new id wl_surface@36)
[3908358.357]  -> wl_seat@7.get_pointer(new id wl_pointer@37)
[3908358.381]  -> xdg_toplevel@35.set_min_size(2, 31)
[3908358.391]  -> xdg_toplevel@35.set_max_size(0, 0)
[3908358.405]  -> xdg_toplevel@35.set_title("Neovide")
[3908358.415]  -> xdg_toplevel@35.set_min_size(2, 31)
[3908358.426]  -> xdg_toplevel@35.set_max_size(0, 0)
[3908358.479]  -> wl_display@1.sync(new id wl_callback@38)
[3908359.493] wl_display@1.delete_id(38)
[3908359.514] wl_callback@38.done(19924)
[3908359.522] xdg_toplevel@35.configure(0, 0, array)
[3908359.565] xdg_surface@34.configure(19924)
[3908359.579]  -> xdg_surface@34.ack_configure(19924)
thread 'main' panicked at 'internal error: entered unreachable code', /home/sawyer/.cargo/registry/src/github.com-1ecc6299db9ec823/skulpin-0.5.1/src/renderer/window_support.rs:45:14
stack backtrace:
   0:     0x5647b099b4c4 - backtrace::backtrace::libunwind::trace::h4429d846a965f730
                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/libunwind.rs:88
   1:     0x5647b099b4c4 - backtrace::backtrace::trace_unsynchronized::h64291ceeabe42132
                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/mod.rs:66
   2:     0x5647b099b4c4 - std::sys_common::backtrace::_print_fmt::h610d7607f8a3fb40
                               at src/libstd/sys_common/backtrace.rs:77
   3:     0x5647b099b4c4 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::he6c12d28be7a7b71
                               at src/libstd/sys_common/backtrace.rs:59
   4:     0x5647b09bfbcc - core::fmt::write::hcadeb61eade511b1
                               at src/libcore/fmt/mod.rs:1057
   5:     0x5647b0998347 - std::io::Write::write_fmt::h2dacf72e7a02535a
                               at src/libstd/io/mod.rs:1426
   6:     0x5647b099d65e - std::sys_common::backtrace::_print::hdedd02eb3439490f
                               at src/libstd/sys_common/backtrace.rs:62
   7:     0x5647b099d65e - std::sys_common::backtrace::print::hc4dd29eeb6bc5dce
                               at src/libstd/sys_common/backtrace.rs:49
   8:     0x5647b099d65e - std::panicking::default_hook::{{closure}}::hd86919cf75a5f4a3
                               at src/libstd/panicking.rs:195
   9:     0x5647b099d351 - std::panicking::default_hook::hed6f1ecdd828101a
                               at src/libstd/panicking.rs:215
  10:     0x5647b099dca3 - std::panicking::rust_panic_with_hook::hfe3dea1e12987f71
                               at src/libstd/panicking.rs:463
  11:     0x5647b018487b - std::panicking::begin_panic::hae8658c6f757c942
                               at /rustc/85976442558bf2d09cec3aa49c9c9ba86fb15c1f/src/libstd/panicking.rs:390
  12:     0x5647b016c24a - skulpin::renderer::window_support::create_surface::h95a8e1bf888eb650
                               at /home/sawyer/.cargo/registry/src/github.com-1ecc6299db9ec823/skulpin-0.5.1/src/renderer/window_support.rs:45
  13:     0x5647b0145d35 - skulpin::renderer::device::VkDevice::new::h393c30a6b7502755
                               at /home/sawyer/.cargo/registry/src/github.com-1ecc6299db9ec823/skulpin-0.5.1/src/renderer/device.rs:50
  14:     0x5647b0141031 - skulpin::renderer::renderer::Renderer::new::h93e27b14a556dd57
                               at /home/sawyer/.cargo/registry/src/github.com-1ecc6299db9ec823/skulpin-0.5.1/src/renderer/renderer.rs:249
  15:     0x5647b0140bea - skulpin::renderer::renderer::RendererBuilder::build::h1690dbfb2a03fab9
                               at /home/sawyer/.cargo/registry/src/github.com-1ecc6299db9ec823/skulpin-0.5.1/src/renderer/renderer.rs:163
  16:     0x5647afc8dbac - neovide::window::ui_loop::h6c6126a699dc401a
                               at src/window.rs:59
  17:     0x5647afd8a532 - neovide::main::hf20f668f9862ad13
                               at src/main.rs:23
  18:     0x5647afd3bac0 - std::rt::lang_start::{{closure}}::h71f72f5879ce6074
                               at /rustc/85976442558bf2d09cec3aa49c9c9ba86fb15c1f/src/libstd/rt.rs:67
  19:     0x5647b099d783 - std::rt::lang_start_internal::{{closure}}::hcc2592ec19581492
                               at src/libstd/rt.rs:52
  20:     0x5647b099d783 - std::panicking::try::do_call::h9a0c206593194ded
                               at src/libstd/panicking.rs:296
  21:     0x5647b09a5e4a - __rust_maybe_catch_panic
                               at src/libpanic_unwind/lib.rs:79
  22:     0x5647b099e1f0 - std::panicking::try::h5a3df1de2763d1fc
                               at src/libstd/panicking.rs:272
  23:     0x5647b099e1f0 - std::panic::catch_unwind::h222846c6df4c8f02
                               at src/libstd/panic.rs:394
  24:     0x5647b099e1f0 - std::rt::lang_start_internal::he3ccbdebb1770af8
                               at src/libstd/rt.rs:51
  25:     0x5647afd3ba99 - std::rt::lang_start::h655dca739eaaa8d1
                               at /rustc/85976442558bf2d09cec3aa49c9c9ba86fb15c1f/src/libstd/rt.rs:67
  26:     0x5647afd8a56a - main
  27:     0x7f7d91eb5153 - __libc_start_main
  28:     0x5647afc31e6e - _start
  29:                0x0 - <unknown>

@szbergeron
Copy link
Author

This may actually be resolved, bumping the version of skulpin that neovide tracks gets it working for me.

@Kethku
Copy link
Contributor

Kethku commented Jan 27, 2020

I will bump the version sometime today

Sent with GitHawk

@Kethku
Copy link
Contributor

Kethku commented Jan 27, 2020

Bumped.

@Kethku
Copy link
Contributor

Kethku commented Jan 27, 2020

This should probably be closed now.

@talbergs
Copy link

@Kethku sadly, the same error is still here.

[ 51637.073]  -> wl_display@1.get_registry(new id wl_registry@2)
[ 51637.195]  -> wl_display@1.sync(new id wl_callback@3)
[ 51637.556] wl_display@1.delete_id(3)
[ 51637.630] wl_registry@2.global(1, "wl_shm", 1)
[ 51637.746]  -> wl_registry@2.bind(1, "wl_shm", 1, new id [unknown]@4)
[ 51637.817] wl_registry@2.global(2, "zwp_linux_dmabuf_v1", 3)
[ 51637.870] wl_registry@2.global(3, "wl_drm", 2)
[ 51637.933] wl_registry@2.global(4, "wl_compositor", 4)
[ 51638.016]  -> wl_registry@2.bind(4, "wl_compositor", 4, new id [unknown]@5)
[ 51638.667]  -> wl_shm@4.create_pool(new id wl_shm_pool@6, fd 15, 1024)
[ 51639.179]  -> wl_shm_pool@6.resize(4352)
[ 51639.354]  -> wl_shm_pool@6.resize(11008)
[ 51642.779]  -> wl_shm_pool@6.resize(24320)
[ 51642.890]  -> wl_shm_pool@6.resize(50944)
[ 51642.987]  -> wl_shm_pool@6.resize(104192)
[ 51643.164]  -> wl_shm_pool@6.resize(210688)
[ 51646.081]  -> wl_shm_pool@6.resize(423680)
[ 51649.336]  -> wl_shm_pool@6.resize(849664)
[ 51656.462]  -> wl_shm_pool@6.resize(1701632)
[ 51668.916] wl_registry@2.global(5, "wl_subcompositor", 1)
[ 51668.945] wl_registry@2.global(6, "wl_data_device_manager", 3)
[ 51668.957] wl_registry@2.global(7, "zwlr_gamma_control_manager_v1", 1)
[ 51668.970] wl_registry@2.global(8, "gtk_primary_selection_device_manager", 1)
[ 51668.983] wl_registry@2.global(9, "zxdg_output_manager_v1", 3)
[ 51668.996] wl_registry@2.global(10, "org_kde_kwin_idle", 1)
[ 51669.006] wl_registry@2.global(11, "zwp_idle_inhibit_manager_v1", 1)
[ 51669.021] wl_registry@2.global(12, "zwlr_layer_shell_v1", 1)
[ 51669.035] wl_registry@2.global(13, "zxdg_shell_v6", 1)
[ 51669.051] wl_registry@2.global(14, "xdg_wm_base", 2)
[ 51669.066] wl_registry@2.global(15, "org_kde_kwin_server_decoration_manager", 1)
[ 51669.082] wl_registry@2.global(16, "zxdg_decoration_manager_v1", 1)
[ 51669.099] wl_registry@2.global(17, "zwp_relative_pointer_manager_v1", 1)
[ 51669.120]  -> wl_registry@2.bind(17, "zwp_relative_pointer_manager_v1", 1, new id [unknown]@7)
[ 51669.145] wl_registry@2.global(18, "zwp_pointer_constraints_v1", 1)
[ 51669.165]  -> wl_registry@2.bind(18, "zwp_pointer_constraints_v1", 1, new id [unknown]@8)
[ 51669.188] wl_registry@2.global(19, "wp_presentation", 1)
[ 51669.204] wl_registry@2.global(20, "zwlr_output_manager_v1", 1)
[ 51669.220] wl_registry@2.global(21, "zwlr_export_dmabuf_manager_v1", 1)
[ 51669.235] wl_registry@2.global(22, "zwlr_screencopy_manager_v1", 1)
[ 51669.256] wl_registry@2.global(23, "zwlr_data_control_manager_v1", 2)
[ 51669.273] wl_registry@2.global(24, "zwp_primary_selection_device_manager_v1", 1)
[ 51669.291] wl_registry@2.global(25, "zwp_virtual_keyboard_manager_v1", 1)
[ 51669.308] wl_registry@2.global(26, "zwlr_input_inhibit_manager_v1", 1)
[ 51669.324] wl_registry@2.global(27, "wl_seat", 7)
[ 51669.343]  -> wl_registry@2.bind(27, "wl_seat", 5, new id [unknown]@9)
[ 51669.368] wl_registry@2.global(28, "wl_output", 3)
[ 51669.393]  -> wl_registry@2.bind(28, "wl_output", 3, new id [unknown]@10)
[ 51669.419] wl_callback@3.done(26234)
[ 51669.429]  -> wl_display@1.sync(new id wl_callback@3)
[ 51669.579] wl_display@1.delete_id(3)
[ 51669.592] wl_shm@4.format(0)
[ 51669.601] wl_shm@4.format(1)
[ 51669.612] wl_shm@4.format(875708993)
[ 51669.625] wl_shm@4.format(875709016)
[ 51669.636] wl_seat@9.name("seat0")
[ 51669.650] wl_seat@9.capabilities(3)
[ 51669.660]  -> wl_seat@9.get_pointer(new id wl_pointer@11)
[ 51669.683]  -> wl_compositor@5.create_surface(new id wl_surface@12)
[ 51669.696]  -> zwp_relative_pointer_manager_v1@7.get_relative_pointer(new id zwp_relative_pointer_v1@13, wl_pointer@11)
[ 51675.697]  -> wl_seat@9.get_keyboard(new id wl_keyboard@14)
[ 51675.723] wl_output@10.geometry(0, 0, 310, 170, 0, "Unknown", "0x05EC", 0)
[ 51675.747] wl_output@10.mode(3, 1920, 1080, 60020)
[ 51675.763] wl_output@10.scale(1)
[ 51675.771] wl_output@10.done()
[ 51675.776] wl_callback@3.done(26234)
[ 51675.787]  -> wl_registry@2.bind(4, "wl_compositor", 4, new id [unknown]@3)
[ 51675.813]  -> wl_registry@2.bind(5, "wl_subcompositor", 1, new id [unknown]@15)
[ 51675.837]  -> wl_registry@2.bind(1, "wl_shm", 1, new id [unknown]@16)
[ 51675.862]  -> wl_registry@2.bind(6, "wl_data_device_manager", 3, new id [unknown]@17)
[ 51675.882]  -> wl_registry@2.bind(14, "xdg_wm_base", 1, new id [unknown]@18)
[ 51675.902]  -> wl_registry@2.bind(16, "zxdg_decoration_manager_v1", 1, new id [unknown]@19)
[ 51675.927]  -> wl_display@1.sync(new id wl_callback@20)
[ 51676.119] wl_display@1.delete_id(20)
[ 51676.134] wl_keyboard@14.keymap(1, fd 15, 47187)
[ 51677.808] wl_keyboard@14.repeat_info(50, 275)
[ 51677.822] wl_shm@16.format(0)
[ 51677.828] wl_shm@16.format(1)
[ 51677.833] wl_shm@16.format(875708993)
[ 51677.838] wl_shm@16.format(875709016)
[ 51677.842] wl_callback@20.done(26234)
[ 51689.061]  -> wl_compositor@3.create_surface(new id wl_surface@20)
[ 51689.084]  -> wl_compositor@3.create_surface(new id wl_surface@21)
[ 51689.093]  -> wl_subcompositor@15.get_subsurface(new id wl_subsurface@22, wl_surface@21, wl_surface@20)
[ 51689.104]  -> wl_compositor@3.create_surface(new id wl_surface@23)
[ 51689.110]  -> wl_subcompositor@15.get_subsurface(new id wl_subsurface@24, wl_surface@23, wl_surface@20)
[ 51689.125]  -> wl_compositor@3.create_surface(new id wl_surface@25)
[ 51689.132]  -> wl_subcompositor@15.get_subsurface(new id wl_subsurface@26, wl_surface@25, wl_surface@20)
[ 51689.145]  -> wl_compositor@3.create_surface(new id wl_surface@27)
[ 51689.154]  -> wl_subcompositor@15.get_subsurface(new id wl_subsurface@28, wl_surface@27, wl_surface@20)
[ 51689.170]  -> wl_compositor@3.create_surface(new id wl_surface@29)
[ 51689.180]  -> wl_subcompositor@15.get_subsurface(new id wl_subsurface@30, wl_surface@29, wl_surface@20)
[ 51689.212]  -> wl_shm@16.create_pool(new id wl_shm_pool@31, fd 16, 128)
[ 51689.242]  -> wl_shm@16.create_pool(new id wl_shm_pool@32, fd 18, 128)
[ 51689.285]  -> wl_shm@16.create_pool(new id wl_shm_pool@33, fd 20, 1024)
[ 51689.428]  -> wl_shm_pool@33.resize(4352)
[ 51689.476]  -> wl_shm_pool@33.resize(11008)
[ 51690.668]  -> wl_shm_pool@33.resize(24320)
[ 51690.696]  -> wl_shm_pool@33.resize(50944)
[ 51690.735]  -> wl_shm_pool@33.resize(104192)
[ 51690.792]  -> wl_shm_pool@33.resize(210688)
[ 51692.062]  -> wl_shm_pool@33.resize(423680)
[ 51693.843]  -> wl_shm_pool@33.resize(849664)
[ 51698.633]  -> wl_shm_pool@33.resize(1701632)
[ 51710.310]  -> xdg_wm_base@18.get_xdg_surface(new id xdg_surface@34, wl_surface@20)
[ 51710.333]  -> xdg_surface@34.get_toplevel(new id xdg_toplevel@35)
[ 51710.341]  -> wl_surface@20.commit()
[ 51710.346]  -> xdg_toplevel@35.set_min_size(2, 31)
[ 51710.353]  -> xdg_surface@34.set_window_geometry(0, -30, 843, 846)
[ 51710.376]  -> zxdg_decoration_manager_v1@19.get_toplevel_decoration(new id zxdg_toplevel_decoration_v1@36, xdg_toplevel@35)
[ 51710.387]  -> zxdg_toplevel_decoration_v1@36.set_mode(2)
[ 51710.396]  -> wl_compositor@3.create_surface(new id wl_surface@37)
[ 51710.405]  -> wl_seat@9.get_pointer(new id wl_pointer@38)
[ 51710.415]  -> xdg_toplevel@35.set_min_size(2, 31)
[ 51710.423]  -> xdg_toplevel@35.set_max_size(0, 0)
[ 51710.432]  -> zxdg_toplevel_decoration_v1@36.unset_mode()
[ 51710.438]  -> xdg_toplevel@35.set_title("Neovide")
[ 51710.445]  -> xdg_toplevel@35.set_min_size(2, 31)
[ 51710.456]  -> xdg_toplevel@35.set_max_size(0, 0)
[ 51710.472]  -> wl_display@1.sync(new id wl_callback@39)
[ 51710.655] wl_display@1.delete_id(39)
[ 51710.671] xdg_wm_base@18.ping(26236)
[ 51710.681]  -> xdg_wm_base@18.pong(26236)
[ 51710.690] wl_callback@39.done(26236)
[ 51710.698] xdg_toplevel@35.configure(0, 0, array)
[ 51710.715] zxdg_toplevel_decoration_v1@36.configure(2)
[ 51710.723] xdg_surface@34.configure(26235)
[ 51710.733]  -> xdg_surface@34.ack_configure(26235)
thread 'main' panicked at 'internal error: entered unreachable code', /home/ada/.cargo/registry/src/github.com-1ecc6299db9ec823/skulpin-0.5.1/src/renderer/window_support.rs:45:14
stack backtrace:
   0: backtrace::backtrace::libunwind::trace
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/libunwind.rs:88
   1: backtrace::backtrace::trace_unsynchronized
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/mod.rs:66
   2: std::sys_common::backtrace::_print_fmt
             at src/libstd/sys_common/backtrace.rs:77
   3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
             at src/libstd/sys_common/backtrace.rs:61
   4: core::fmt::write
             at src/libcore/fmt/mod.rs:1028
   5: std::io::Write::write_fmt
             at src/libstd/io/mod.rs:1412
   6: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:65
   7: std::sys_common::backtrace::print
             at src/libstd/sys_common/backtrace.rs:50
   8: std::panicking::default_hook::{{closure}}
             at src/libstd/panicking.rs:188
   9: std::panicking::default_hook
             at src/libstd/panicking.rs:205
  10: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:464
  11: std::panicking::begin_panic
             at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14/src/libstd/panicking.rs:400
  12: skulpin::renderer::window_support::create_surface
             at /home/ada/.cargo/registry/src/github.com-1ecc6299db9ec823/skulpin-0.5.1/src/renderer/window_support.rs:45
  13: skulpin::renderer::device::VkDevice::new
             at /home/ada/.cargo/registry/src/github.com-1ecc6299db9ec823/skulpin-0.5.1/src/renderer/device.rs:50
  14: skulpin::renderer::renderer::Renderer::new
             at /home/ada/.cargo/registry/src/github.com-1ecc6299db9ec823/skulpin-0.5.1/src/renderer/renderer.rs:249
  15: skulpin::renderer::renderer::RendererBuilder::build
             at /home/ada/.cargo/registry/src/github.com-1ecc6299db9ec823/skulpin-0.5.1/src/renderer/renderer.rs:163
  16: neovide::window::ui_loop
             at src/window.rs:58
  17: std::rt::lang_start::{{closure}}
             at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14/src/libstd/rt.rs:61
  18: std::rt::lang_start_internal::{{closure}}
             at src/libstd/rt.rs:48
  19: std::panicking::try::do_call
             at src/libstd/panicking.rs:287
  20: __rust_maybe_catch_panic
             at src/libpanic_unwind/lib.rs:78
  21: std::panicking::try
             at src/libstd/panicking.rs:265
  22: std::panic::catch_unwind
             at src/libstd/panic.rs:396
  23: std::rt::lang_start_internal
             at src/libstd/rt.rs:47
  24: main
  25: __libc_start_main
  26: _start
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[ 51850.467]  -> xdg_toplevel@35.destroy()
[ 51850.481]  -> xdg_surface@34.destroy()

@Kethku
Copy link
Contributor

Kethku commented Jan 27, 2020

@szbergeron did you just bump it to 0.5.1? Or did you swap to tracking github. The errors you guys got seem pretty similar. Did you install any other dependencies to get it working?

@Kethku
Copy link
Contributor

Kethku commented Jan 27, 2020

We might also consider moving this to the neovide repo to stop bothering aclysma

@szbergeron
Copy link
Author

@Kethku bumped to track master

@aclysma
Copy link
Owner

aclysma commented Jan 27, 2020

Going to reopen this to remind myself to push a 0.5.1 that includes the wayland changes. Glad it’s working!

@aclysma aclysma reopened this Jan 27, 2020
@aclysma
Copy link
Owner

aclysma commented Jan 28, 2020

0.5.2 is published and contains these changes

@aclysma aclysma closed this as completed Jan 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants