Wayland + Electron + GNOME: missed window frame or worse

I’m trying to launch Obsidian app with in Wayland compatible mode since I use fractional-scaling enabled
But when launch flags --enable-features=UseOzonePlatform --ozone-platform=wayland added, app didn’t have any interface (nothing appears after launch). But alt-tab menu and GNOME Dock have icon as active.

So I launch ELECTRON_ENABLE_LOGGING=1 obsidian --enable-features=UseOzonePlatform --ozone-platform=wayland

Terminal output

Only wayland error:

[4975:1118/214400.768918:WARNING:wayland_drm.cc(68)] Failed to get drm magic
[4975:1118/214400.924789:WARNING:wayland_surface.cc(63)] Server doesn't support zwp_linux_explicit_synchronization_v1.
[4975:1118/214400.925224:ERROR:cursor_loader.cc(107)] Failed to load a platform cursor of type kNull

[5015:1118/214401.044891:ERROR:egl_util.cc(74)] Failed to load GLES library: libGLESv2.so.2: libGLESv2.so.2: cannot open shared object file: No such file or directory
[5015:1118/214401.047755:ERROR:viz_main_impl.cc(160)] Exiting GPU process due to errors during initialization
[5050:1118/214401.171960:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is swiftshader

[5022:1118/214401.187888:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1
[5022:1118/214401.188026:ERROR:command_buffer_proxy_impl.cc(123)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer.

Full output:

$ ELECTRON_ENABLE_LOGGING=1 obsidian
2021-11-18 18:42:28 Loading main app package /nix/store/7l3wbb6zd489pqrllg0q8d2bi5jf7vzs-obsidian-0.12.19/share/obsidian/obsidian.asar
/nix/store/wv35g5lff84rray15zlzarcqi9fxzz84-bash-4.4-p23/bin/sh: /nix/store/jsp3h3wpzc842j0rz61m5ly71ak6qgdn-glibc-2.32-54/lib/libc.so.6: version `GLIBC_2.33' not found (required by /nix/store/7yh9gq12hvn3l8zp2crlp6ciyf2ads9d-libX11-1.7.2/lib/libX11.so.6)
/nix/store/wv35g5lff84rray15zlzarcqi9fxzz84-bash-4.4-p23/bin/sh: /nix/store/jsp3h3wpzc842j0rz61m5ly71ak6qgdn-glibc-2.32-54/lib/libc.so.6: version `GLIBC_2.33' not found (required by /nix/store/xp66h22xs9aicdjkn93n9xs43gkkczvg-libXau-1.0.9/lib/libXau.so.6)
[4691:1118/214228.518126:WARNING:accelerator_util.cc(63)]  doesn't contain a valid key
[4691:1118/214228.518197:WARNING:accelerator_util.cc(63)]  doesn't contain a valid key
[4691:1118/214228.518263:WARNING:accelerator_util.cc(63)]  doesn't contain a valid key
[4691:1118/214228.518608:WARNING:accelerator_util.cc(63)]  doesn't contain a valid key
2021-11-18 18:42:28 Checking for update using Github
2021-11-18 18:42:28 Success.
2021-11-18 18:42:28 Latest version is 0.12.19
2021-11-18 18:42:28 App is up to date.
[4726:1118/214228.690887:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
^C

$ ELECTRON_ENABLE_LOGGING=1 obsidian --enable-features=UseOzonePlatform --ozone-platform=wayland
2021-11-18 18:44:00 Loading main app package /nix/store/7l3wbb6zd489pqrllg0q8d2bi5jf7vzs-obsidian-0.12.19/share/obsidian/obsidian.asar
/nix/store/wv35g5lff84rray15zlzarcqi9fxzz84-bash-4.4-p23/bin/sh: /nix/store/jsp3h3wpzc842j0rz61m5ly71ak6qgdn-glibc-2.32-54/lib/libc.so.6: version `GLIBC_2.33' not found (required by /nix/store/7yh9gq12hvn3l8zp2crlp6ciyf2ads9d-libX11-1.7.2/lib/libX11.so.6)
/nix/store/wv35g5lff84rray15zlzarcqi9fxzz84-bash-4.4-p23/bin/sh: /nix/store/jsp3h3wpzc842j0rz61m5ly71ak6qgdn-glibc-2.32-54/lib/libc.so.6: version `GLIBC_2.33' not found (required by /nix/store/xp66h22xs9aicdjkn93n9xs43gkkczvg-libXau-1.0.9/lib/libXau.so.6)
[4975:1118/214400.768918:WARNING:wayland_drm.cc(68)] Failed to get drm magic
[4975:1118/214400.924789:WARNING:wayland_surface.cc(63)] Server doesn't support zwp_linux_explicit_synchronization_v1.
[4975:1118/214400.925224:ERROR:cursor_loader.cc(107)] Failed to load a platform cursor of type kNull
[4975:1118/214400.928866:WARNING:accelerator_util.cc(63)]  doesn't contain a valid key
[4975:1118/214400.928899:WARNING:accelerator_util.cc(63)]  doesn't contain a valid key
[4975:1118/214400.928938:WARNING:accelerator_util.cc(63)]  doesn't contain a valid key
[4975:1118/214400.928955:WARNING:accelerator_util.cc(63)]  doesn't contain a valid key
2021-11-18 18:44:00 Checking for update using Github
2021-11-18 18:44:01 Success.
2021-11-18 18:44:01 Latest version is 0.12.19
2021-11-18 18:44:01 App is up to date.
[5015:1118/214401.044891:ERROR:egl_util.cc(74)] Failed to load GLES library: libGLESv2.so.2: libGLESv2.so.2: cannot open shared object file: No such file or directory
[5015:1118/214401.047755:ERROR:viz_main_impl.cc(160)] Exiting GPU process due to errors during initialization
[5050:1118/214401.171960:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is swiftshader
[5050:1118/214401.179207:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[5022:1118/214401.187888:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1
[5022:1118/214401.188026:ERROR:command_buffer_proxy_impl.cc(123)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer.
^C

Trying to find the problem, I’ve launch only electron and find out that in Wayland mode it haven’t any window frame as it’s seen on next two images (hidden under spoiler thing)
Also there are terminal output after images

All next output launched with nix-shell -p electron --run "$command" where $command is spoiler name

Images:

(Alt+PrintScreen)

electron

electron --enable-features=UseOzonePlatform --ozone-platform=wayland

Terminal output

ELECTRON_ENABLE_LOGGING=1 electron
$ nix-shell -p electron --run "ELECTRON_ENABLE_LOGGING=1 electron"

Electron 12.2.2 - Build cross platform desktop apps with JavaScript, HTML, and CSS
Usage: electron [options] [path]

A path to an Electron app may be specified. It must be one of the following:
  - index.js file.
  - Folder containing a package.json file.
  - Folder containing an index.js file.
  - .html/.htm file.
  - http://, https://, or file:// URL.

Options:
  -i, --interactive     Open a REPL to the main process.
  -r, --require         Module to preload (option can be repeated).
  -v, --version         Print the version.
  -a, --abi             Print the Node ABI version.
[5345:1118/215017.971998:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.

ELECTRON_ENABLE_LOGGING=1 electron --enable-features=UseOzonePlatform --ozone-platform=wayland
$ nix-shell -p electron --run "ELECTRON_ENABLE_LOGGING=1 electron --enable-features=UseOzonePlatform --ozone-platform=wayland"

Electron 12.2.2 - Build cross platform desktop apps with JavaScript, HTML, and CSS
Usage: electron [options] [path]

A path to an Electron app may be specified. It must be one of the following:
  - index.js file.
  - Folder containing a package.json file.
  - Folder containing an index.js file.
  - .html/.htm file.
  - http://, https://, or file:// URL.

Options:
  -i, --interactive     Open a REPL to the main process.
  -r, --require         Module to preload (option can be repeated).
  -v, --version         Print the version.
  -a, --abi             Print the Node ABI version.
[5565:1118/215451.177491:WARNING:wayland_drm.cc(68)] Failed to get drm magic
[5565:1118/215451.323063:ERROR:wayland_surface.cc(59)] Server doesn't support zwp_linux_explicit_synchronization_v1.
[5599:1118/215451.437847:ERROR:egl_util.cc(70)] Failed to load GLES library: libGLESv2.so.2: libGLESv2.so.2: cannot open shared object file: No such file or directory
[5599:1118/215451.439751:ERROR:viz_main_impl.cc(150)] Exiting GPU process due to errors during initialization
[5633:1118/215451.554225:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.

ELECTRON_ENABLE_LOGGING=1 WAYLAND_DEBUG=1 electron --enable-features=UseOzonePlatform --ozone-platform=wayland
$ nix-shell -p electron --run "ELECTRON_ENABLE_LOGGING=1 WAYLAND_DEBUG=1 electron --enable-features=UseOzonePlatform --ozone-platform=wayland"

Electron 12.2.2 - Build cross platform desktop apps with JavaScript, HTML, and CSS
Usage: electron [options] [path]

A path to an Electron app may be specified. It must be one of the following:
  - index.js file.
  - Folder containing a package.json file.
  - Folder containing an index.js file.
  - .html/.htm file.
  - http://, https://, or file:// URL.

Options:
  -i, --interactive     Open a REPL to the main process.
  -r, --require         Module to preload (option can be repeated).
  -v, --version         Print the version.
  -a, --abi             Print the Node ABI version.
[3065377.979]  -> wl_display@1.get_registry(new id wl_registry@2)
[3065378.001]  -> wl_display@1.sync(new id wl_callback@3)
[3065378.197] wl_display@1.delete_id(3)
[3065378.212] wl_registry@2.global(1, "wl_drm", 2)
[3065378.232]  -> wl_registry@2.bind(1, "wl_drm", 2, new id [unknown]@4)
[3065378.253]  -> wl_display@1.sync(new id wl_callback@5)
[3065378.266] wl_registry@2.global(2, "wl_compositor", 4)
[3065378.290]  -> wl_registry@2.bind(2, "wl_compositor", 4, new id [unknown]@6)
[3065378.312] wl_registry@2.global(3, "wl_shm", 1)
[3065378.324]  -> wl_registry@2.bind(3, "wl_shm", 1, new id [unknown]@7)
[3065378.339] wl_registry@2.global(4, "wl_output", 2)
[3065378.354]  -> wl_registry@2.bind(4, "wl_output", 2, new id [unknown]@8)
[3065378.383] wl_registry@2.global(5, "zxdg_output_manager_v1", 3)
[3065378.401] wl_registry@2.global(6, "wl_data_device_manager", 3)
[3065378.428]  -> wl_registry@2.bind(6, "wl_data_device_manager", 3, new id [unknown]@9)
[3065378.461] wl_registry@2.global(7, "zwp_primary_selection_device_manager_v1", 1)
[3065378.488]  -> wl_registry@2.bind(7, "zwp_primary_selection_device_manager_v1", 1, new id [unknown]@10)
[3065378.518] wl_registry@2.global(8, "gtk_primary_selection_device_manager", 1)
[3065378.544]  -> wl_registry@2.bind(8, "gtk_primary_selection_device_manager", 1, new id [unknown]@11)
[3065378.579] wl_registry@2.global(9, "wl_subcompositor", 1)
[3065378.608]  -> wl_registry@2.bind(9, "wl_subcompositor", 1, new id [unknown]@12)
[3065378.653] wl_registry@2.global(10, "xdg_wm_base", 3)
[3065378.679]  -> wl_registry@2.bind(10, "xdg_wm_base", 1, new id [unknown]@13)
[3065378.710] wl_registry@2.global(11, "zxdg_shell_v6", 1)
[3065378.739]  -> wl_registry@2.bind(11, "zxdg_shell_v6", 1, new id [unknown]@14)
[3065378.772] wl_registry@2.global(12, "wl_shell", 1)
[3065378.797] wl_registry@2.global(13, "gtk_shell1", 4)
[3065378.823] wl_registry@2.global(14, "wp_viewporter", 1)
[3065378.848]  -> wl_registry@2.bind(14, "wp_viewporter", 1, new id [unknown]@15)
[3065378.881] wl_registry@2.global(15, "zwp_pointer_gestures_v1", 1)
[3065378.903] wl_registry@2.global(16, "zwp_tablet_manager_v2", 1)
[3065378.927] wl_registry@2.global(17, "wl_seat", 5)
[3065378.953]  -> wl_registry@2.bind(17, "wl_seat", 5, new id [unknown]@16)
[3065378.988]  -> wl_data_device_manager@9.get_data_device(new id wl_data_device@17, wl_seat@16)
[3065379.012] wl_registry@2.global(18, "zwp_relative_pointer_manager_v1", 1)
[3065379.034] wl_registry@2.global(19, "zwp_pointer_constraints_v1", 1)
[3065379.057] wl_registry@2.global(20, "zxdg_exporter_v1", 1)
[3065379.084]  -> wl_registry@2.bind(20, "zxdg_exporter_v1", 1, new id [unknown]@18)
[3065379.117] wl_registry@2.global(21, "zxdg_importer_v1", 1)
[3065379.140] wl_registry@2.global(22, "zwp_linux_dmabuf_v1", 3)
[3065379.167]  -> wl_registry@2.bind(22, "zwp_linux_dmabuf_v1", 3, new id [unknown]@19)
[3065379.199]  -> wl_display@1.sync(new id wl_callback@20)
[3065379.214] wl_registry@2.global(23, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[3065379.238] wl_registry@2.global(24, "zwp_text_input_manager_v3", 1)
[3065379.260] wl_registry@2.global(25, "gtk_text_input_manager", 1)
[3065379.285] wl_registry@2.global(26, "wp_presentation", 1)
[3065379.310]  -> wl_registry@2.bind(26, "wp_presentation", 1, new id [unknown]@21)
[3065379.343] wl_callback@3.done(7156)
[3065379.545] wl_display@1.delete_id(5)
[3065379.556] wl_display@1.delete_id(20)
[3065379.567] wl_drm@4.device("/dev/dri/renderD128")
[5771:1118/215618.484008:WARNING:wayland_drm.cc(68)] Failed to get drm magic
[3065379.697] wl_callback@5.done(7156)
[3065379.716] wl_output@8.geometry(0, 0, 290, 170, 0, "AUO", "0x102d", 0)
[3065379.767] wl_output@8.mode(3, 1920, 1080, 60049)
[3065379.797] wl_output@8.scale(2)
[3065379.809] wl_output@8.done()
[3065379.817] wl_seat@16.capabilities(7)
[3065379.831]  -> wl_seat@16.get_pointer(new id wl_pointer@5)
[3065379.849]  -> wl_compositor@6.create_surface(new id wl_surface@3)
[3065379.863]  -> wl_seat@16.get_keyboard(new id wl_keyboard@22)
[3065379.886]  -> wl_seat@16.get_touch(new id wl_touch@23)
[3065379.902] wl_seat@16.name("seat0")
[3065379.914] zwp_linux_dmabuf_v1@19.format(875713089)
[3065379.927] zwp_linux_dmabuf_v1@19.modifier(875713089, 16777215, 4294967295)
[3065379.950] zwp_linux_dmabuf_v1@19.format(875713112)
[3065379.961] zwp_linux_dmabuf_v1@19.modifier(875713112, 16777215, 4294967295)
[3065379.985] zwp_linux_dmabuf_v1@19.format(808669761)
[3065379.997] zwp_linux_dmabuf_v1@19.modifier(808669761, 16777215, 4294967295)
[3065380.019] zwp_linux_dmabuf_v1@19.format(808665665)
[3065380.043] zwp_linux_dmabuf_v1@19.modifier(808665665, 16777215, 4294967295)
[3065380.065] zwp_linux_dmabuf_v1@19.format(808669784)
[3065380.075] zwp_linux_dmabuf_v1@19.modifier(808669784, 16777215, 4294967295)
[3065380.097] zwp_linux_dmabuf_v1@19.format(909199186)
[3065380.110] zwp_linux_dmabuf_v1@19.modifier(909199186, 16777215, 4294967295)
[3065380.131] zwp_linux_dmabuf_v1@19.format(1211384385)
[3065380.143] zwp_linux_dmabuf_v1@19.modifier(1211384385, 16777215, 4294967295)
[3065380.168] zwp_linux_dmabuf_v1@19.format(1211384408)
[3065380.180] zwp_linux_dmabuf_v1@19.modifier(1211384408, 16777215, 4294967295)
[3065380.201] zwp_linux_dmabuf_v1@19.format(1211388504)
[3065380.211] zwp_linux_dmabuf_v1@19.modifier(1211388504, 16777215, 4294967295)
[3065380.233] zwp_linux_dmabuf_v1@19.format(1211388481)
[3065380.245] zwp_linux_dmabuf_v1@19.modifier(1211388481, 16777215, 4294967295)
[3065380.267] wl_callback@20.done(7156)
[3065383.598]  -> wl_display@1.get_registry(new id wl_registry@2)
[3065383.639]  -> wl_display@1.sync(new id wl_callback@3)
[3065383.794] wl_display@1.delete_id(3)
[3065383.814] wl_registry@2.global(1, "wl_drm", 2)
[3065383.834] wl_registry@2.global(2, "wl_compositor", 4)
[3065383.859]  -> wl_registry@2.bind(2, "wl_compositor", 3, new id [unknown]@4)
[3065383.887] wl_registry@2.global(3, "wl_shm", 1)
[3065383.908]  -> wl_registry@2.bind(3, "wl_shm", 1, new id [unknown]@5)
[3065383.992]  -> wl_shm@5.create_pool(new id wl_shm_pool@6, fd 49, 2304)
[3065384.314]  -> wl_shm_pool@6.resize(6912)
[3065384.440]  -> wl_shm_pool@6.resize(16128)
[3065384.674]  -> wl_shm_pool@6.resize(34560)
[3065386.398]  -> wl_shm_pool@6.resize(71424)
[3065386.459]  -> wl_shm_pool@6.resize(145152)
[3065386.553]  -> wl_shm_pool@6.resize(292608)
[3065388.577]  -> wl_shm_pool@6.resize(587520)
[3065392.468]  -> wl_shm_pool@6.resize(1177344)
[3065399.374] wl_registry@2.global(4, "wl_output", 2)
[3065399.400]  -> wl_registry@2.bind(4, "wl_output", 2, new id [unknown]@7)
[3065399.470]  -> wl_display@1.sync(new id wl_callback@8)
[3065399.485] wl_registry@2.global(5, "zxdg_output_manager_v1", 3)
[3065399.508]  -> wl_registry@2.bind(5, "zxdg_output_manager_v1", 3, new id [unknown]@9)
[3065399.534]  -> zxdg_output_manager_v1@9.get_xdg_output(new id zxdg_output_v1@10, wl_output@7)
[3065399.547]  -> wl_display@1.sync(new id wl_callback@11)
[3065399.559] wl_registry@2.global(6, "wl_data_device_manager", 3)
[3065399.576]  -> wl_registry@2.bind(6, "wl_data_device_manager", 3, new id [unknown]@12)
[3065399.602] wl_registry@2.global(7, "zwp_primary_selection_device_manager_v1", 1)
[3065399.630]  -> wl_registry@2.bind(7, "zwp_primary_selection_device_manager_v1", 1, new id [unknown]@13)
[3065399.657] wl_registry@2.global(8, "gtk_primary_selection_device_manager", 1)
[3065399.675]  -> wl_registry@2.bind(8, "gtk_primary_selection_device_manager", 1, new id [unknown]@14)
[3065399.703] wl_registry@2.global(9, "wl_subcompositor", 1)
[3065399.720]  -> wl_registry@2.bind(9, "wl_subcompositor", 1, new id [unknown]@15)
[3065399.746] wl_registry@2.global(10, "xdg_wm_base", 3)
[3065399.764] wl_registry@2.global(11, "zxdg_shell_v6", 1)
[3065399.782] wl_registry@2.global(12, "wl_shell", 1)
[3065399.801] wl_registry@2.global(13, "gtk_shell1", 4)
[3065399.820]  -> wl_registry@2.bind(13, "gtk_shell1", 4, new id [unknown]@16)
[3065399.844] wl_registry@2.global(14, "wp_viewporter", 1)
[3065399.861] wl_registry@2.global(15, "zwp_pointer_gestures_v1", 1)
[3065399.877]  -> wl_registry@2.bind(15, "zwp_pointer_gestures_v1", 1, new id [unknown]@17)
[3065399.897] wl_registry@2.global(16, "zwp_tablet_manager_v2", 1)
[3065399.915]  -> wl_registry@2.bind(16, "zwp_tablet_manager_v2", 1, new id [unknown]@18)
[3065399.940] wl_registry@2.global(17, "wl_seat", 5)
[3065399.960]  -> wl_registry@2.bind(17, "wl_seat", 5, new id [unknown]@19)
[3065403.351]  -> wl_compositor@4.create_surface(new id wl_surface@20)
[3065403.408]  -> zwp_primary_selection_device_manager_v1@13.get_device(new id zwp_primary_selection_device_v1@21, wl_seat@19)
[3065403.427]  -> wl_data_device_manager@12.get_data_device(new id wl_data_device@22, wl_seat@19)
[3065403.595]  -> wl_compositor@4.create_surface(new id wl_surface@23)
[3065403.609]  -> zwp_tablet_manager_v2@18.get_tablet_seat(new id zwp_tablet_seat_v2@24, wl_seat@19)
[3065403.634]  -> wl_display@1.sync(new id wl_callback@25)
[3065403.647] wl_registry@2.global(18, "zwp_relative_pointer_manager_v1", 1)
[3065403.668] wl_registry@2.global(19, "zwp_pointer_constraints_v1", 1)
[3065403.683] wl_registry@2.global(20, "zxdg_exporter_v1", 1)
[3065403.711]  -> wl_registry@2.bind(20, "zxdg_exporter_v1", 1, new id [unknown]@26)
[3065403.736] wl_registry@2.global(21, "zxdg_importer_v1", 1)
[3065403.753]  -> wl_registry@2.bind(21, "zxdg_importer_v1", 1, new id [unknown]@27)
[3065403.778] wl_registry@2.global(22, "zwp_linux_dmabuf_v1", 3)
[3065403.795] wl_registry@2.global(23, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[3065403.813]  -> wl_registry@2.bind(23, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1, new id [unknown]@28)
[3065403.845] wl_registry@2.global(24, "zwp_text_input_manager_v3", 1)
[3065403.865] wl_registry@2.global(25, "gtk_text_input_manager", 1)
[3065403.883] wl_registry@2.global(26, "wp_presentation", 1)
[3065403.899] wl_callback@3.done(7156)
[3065404.534] wl_display@1.delete_id(8)
[3065404.554] wl_display@1.delete_id(11)
[3065404.566] wl_display@1.delete_id(25)
[3065404.574] wl_shm@5.format(0)
[3065404.583] wl_shm@5.format(1)
[3065404.591] wl_shm@5.format(909199186)
[3065404.600] wl_shm@5.format(808669761)
[3065404.609] wl_shm@5.format(808669784)
[3065404.632] wl_shm@5.format(808665665)
[3065404.640] wl_shm@5.format(808665688)
[3065404.648] wl_shm@5.format(1211388481)
[3065404.657] wl_shm@5.format(1211388504)
[3065404.665] wl_shm@5.format(1211384385)
[3065404.673] wl_shm@5.format(1211384408)
[3065404.682] wl_output@7.geometry(0, 0, 290, 170, 0, "AUO", "0x102d", 0)
[3065404.729] wl_output@7.mode(3, 1920, 1080, 60049)
[3065404.752] wl_output@7.scale(2)
[3065404.762] wl_output@7.done()
[3065404.782] wl_callback@8.done(7156)
[3065404.792] zxdg_output_v1@10.logical_position(0, 0)
[3065404.806] zxdg_output_v1@10.logical_size(1536, 864)
[3065404.817] zxdg_output_v1@10.name("eDP-1")
[3065404.825] zxdg_output_v1@10.description("Built-in display")
[3065404.834] wl_output@7.done()
[3065404.848] wl_callback@11.done(7156)
[3065404.857] gtk_shell1@16.capabilities(0)
[3065404.914] wl_seat@19.capabilities(7)
[3065404.927]  -> wl_seat@19.get_pointer(new id wl_pointer@11)
[3065404.964]  -> zwp_pointer_gestures_v1@17.get_swipe_gesture(new id zwp_pointer_gesture_swipe_v1@8, wl_pointer@11)
[3065404.982]  -> zwp_pointer_gestures_v1@17.get_pinch_gesture(new id zwp_pointer_gesture_pinch_v1@3, wl_pointer@11)
[3065404.999]  -> wl_seat@19.get_keyboard(new id wl_keyboard@29)
[3065405.022]  -> wl_seat@19.get_touch(new id wl_touch@30)
[3065405.052] wl_seat@19.name("seat0")
[3065405.062] wl_callback@25.done(7156)
[3065405.073]  -> wl_registry@2.bind(10, "xdg_wm_base", 1, new id [unknown]@25)
[3065515.513]  -> wl_compositor@4.create_surface(new id wl_surface@31)
[3065532.758]  -> wl_compositor@6.create_surface(new id wl_surface@20)
[3065532.789]  -> wp_viewporter@15.get_viewport(new id wp_viewport@24, wl_surface@20)
[5771:1118/215618.637198:ERROR:wayland_surface.cc(59)] Server doesn't support zwp_linux_explicit_synchronization_v1.
[3065532.873]  -> wl_surface@20.set_buffer_scale(2)
[3065532.886]  -> wl_compositor@6.create_region(new id wl_region@25)
[3065532.896]  -> wl_region@25.add(0, 0, 960, 620)
[3065532.913]  -> wl_surface@20.set_opaque_region(wl_region@25)
[3065532.921]  -> wl_region@25.destroy()
[3065533.246]  -> wl_compositor@6.create_region(new id wl_region@26)
[3065533.317]  -> wl_region@26.add(0, 0, 960, 620)
[3065533.341]  -> wl_surface@20.set_opaque_region(wl_region@26)
[3065533.351]  -> wl_region@26.destroy()
[3065533.360]  -> wl_compositor@6.create_region(new id wl_region@27)
[3065533.374]  -> wl_region@27.add(0, 0, 960, 620)
[3065533.399]  -> wl_surface@20.set_input_region(wl_region@27)
[3065533.412]  -> wl_region@27.destroy()
[3065533.549]  -> wl_compositor@6.create_region(new id wl_region@28)
[3065533.568]  -> wl_region@28.add(480, 230, 960, 620)
[3065533.612]  -> wl_surface@20.set_opaque_region(wl_region@28)
[3065533.634]  -> wl_region@28.destroy()
[3065533.641]  -> wl_compositor@6.create_region(new id wl_region@29)
[3065533.653]  -> wl_region@29.add(480, 230, 960, 620)
[3065533.675]  -> wl_surface@20.set_input_region(wl_region@29)
[3065533.685]  -> wl_region@29.destroy()
[3065574.582] wl_keyboard@22.keymap(1, fd 91, 54148)
[3065578.781] wl_keyboard@22.repeat_info(33, 500)
[3065585.818] wl_keyboard@29.keymap(1, fd 91, 54148)
[3065591.852] wl_keyboard@29.repeat_info(33, 500)
[5805:1118/215618.779713:ERROR:egl_util.cc(70)] Failed to load GLES library: libGLESv2.so.2: libGLESv2.so.2: cannot open shared object file: No such file or directory
[5805:1118/215618.781487:ERROR:viz_main_impl.cc(150)] Exiting GPU process due to errors during initialization
[3065681.571]  -> wl_surface@20.attach(nil, 0, 0)
[3065681.609]  -> wl_surface@20.commit()
[5839:1118/215618.884135:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[3065788.649]  -> wl_shm@7.create_pool(new id wl_shm_pool@30, fd 68, 9523200)
[3065788.685]  -> wl_shm_pool@30.create_buffer(new id wl_buffer@31, 0, 1920, 1240, 7680, 0)
[3065788.724]  -> wl_shm_pool@30.destroy()
[3065850.401]  -> xdg_wm_base@13.get_xdg_surface(new id xdg_surface@32, wl_surface@20)
[3065850.450]  -> xdg_surface@32.get_toplevel(new id xdg_toplevel@33)
[3065850.466]  -> wl_surface@20.commit()
[3065850.474]  -> xdg_toplevel@33.set_app_id("Electron")
[3065850.483]  -> xdg_toplevel@33.set_title("Electron")
[3065850.495]  -> xdg_toplevel@33.unset_maximized()
[3065850.530]  -> wl_compositor@6.create_region(new id wl_region@34)
[3065850.546]  -> wl_region@34.add(480, 230, 960, 620)
[3065850.586]  -> wl_surface@20.set_opaque_region(wl_region@34)
[3065850.602]  -> wl_region@34.destroy()
[3065850.612]  -> wl_compositor@6.create_region(new id wl_region@35)
[3065850.631]  -> wl_region@35.add(480, 230, 960, 620)
[3065850.656]  -> wl_surface@20.set_input_region(wl_region@35)
[3065850.668]  -> wl_region@35.destroy()
[3065875.907] wl_display@1.delete_id(25)
[3065875.943] wl_display@1.delete_id(26)
[3065875.963] wl_display@1.delete_id(27)
[3065875.977] wl_display@1.delete_id(28)
[3065875.988] wl_display@1.delete_id(29)
[3065875.998] wl_display@1.delete_id(30)
[3065876.015] wl_display@1.delete_id(34)
[3065876.029] wl_display@1.delete_id(35)
[3065876.048] xdg_toplevel@33.configure(0, 0, array)
[3065876.086]  -> wl_compositor@6.create_region(new id wl_region@35)
[3065876.113]  -> wl_region@35.add(0, 0, 960, 620)
[3065876.146]  -> wl_surface@20.set_opaque_region(wl_region@35)
[3065876.158]  -> wl_region@35.destroy()
[3065876.175]  -> wl_compositor@6.create_region(new id wl_region@34)
[3065876.190]  -> wl_region@34.add(0, 0, 960, 620)
[3065876.225]  -> wl_surface@20.set_input_region(wl_region@34)
[3065876.247]  -> wl_region@34.destroy()
[3065876.355]  -> xdg_surface@32.set_window_geometry(0, 0, 960, 620)
[3065876.391] xdg_surface@32.configure(316)
[3065876.404]  -> xdg_surface@32.ack_configure(316)
[3065876.416]  -> wl_surface@20.attach(wl_buffer@31, 0, 0)
[3065876.437]  -> wl_surface@20.damage_buffer(0, 0, 1920, 1240)
[3065876.464]  -> wl_surface@20.frame(new id wl_callback@30)
[3065876.482]  -> wp_presentation@21.feedback(wl_surface@20, new id wp_presentation_feedback@29)
[3065876.500]  -> wl_surface@20.commit()
[3065893.267]  -> wl_shm@7.create_pool(new id wl_shm_pool@28, fd 68, 9523200)
[3065893.304]  -> wl_shm_pool@28.create_buffer(new id wl_buffer@27, 0, 1920, 1240, 7680, 0)
[3065893.330]  -> wl_shm_pool@28.destroy()
[3065919.644] wl_display@1.delete_id(35)
[3065919.676] wl_display@1.delete_id(34)
[3065919.686] wl_display@1.delete_id(28)
[3065919.695] wl_buffer@31.release()
[3065935.560] wl_display@1.delete_id(30)
[3065935.689] xdg_toplevel@33.configure(960, 620, array)
[3065935.756]  -> xdg_surface@32.set_window_geometry(0, 0, 960, 620)
[3065936.172] xdg_surface@32.configure(318)
[3065936.217]  -> xdg_surface@32.ack_configure(318)
[3065936.719] wl_keyboard@22.modifiers(7158, 0, 0, 0, 0)
[3065936.810] wl_keyboard@22.enter(7158, wl_surface@20, array)
[3065936.844] wl_data_device@17.data_offer(new id wl_data_offer@947322624)
[3065936.874] wl_data_offer@4278190080.offer("text/plain")
[3065936.893] wl_data_offer@4278190080.offer("text/plain;charset=utf-8")
[3065936.908] wl_data_offer@4278190080.offer("STRING")
[3065936.922] wl_data_offer@4278190080.offer("TEXT")
[3065936.938] wl_data_offer@4278190080.offer("COMPOUND_TEXT")
[3065936.951] wl_data_offer@4278190080.offer("UTF8_STRING")
[3065936.968] wl_data_offer@4278190080.offer("application/x-gtk-text-buffer-rich-text")
[3065936.984] wl_data_offer@4278190080.offer("GTK_TEXT_BUFFER_CONTENTS")
[3065937.011] wl_data_device@17.selection(wl_data_offer@4278190080)
[3065937.040] wl_surface@20.enter(wl_output@8)
[3065937.078] wl_callback@30.done(2442114)
[3065937.102]  -> wl_surface@20.attach(wl_buffer@27, 0, 0)
[3065937.160]  -> wl_surface@20.damage_buffer(0, 0, 1920, 1240)
[3065937.201]  -> wl_surface@20.frame(new id wl_callback@30)
[3065937.228]  -> wp_presentation@21.feedback(wl_surface@20, new id wp_presentation_feedback@28)
[3065937.258]  -> wl_surface@20.commit()
[3065952.253] wl_buffer@27.release()
[3065954.824] wl_display@1.delete_id(29)
[3065954.863] wp_presentation_feedback@29.sync_output(wl_output@8)
[3065954.876] wp_presentation_feedback@29.presented(0, 2442, 134120000, 16652937, 0, 1, 7)
[3065964.848] wl_display@1.delete_id(30)
[3065964.909] wl_callback@30.done(2442143)
[3065972.329] wl_display@1.delete_id(28)
[3065972.358] wp_presentation_feedback@28.sync_output(wl_output@8)
[3065972.371] wp_presentation_feedback@28.presented(0, 2442, 150775000, 16652937, 0, 2, 7)
[3066000.237] wl_pointer@5.enter(7160, wl_surface@20, 73.753906, 118.390625)
[3066001.821]  -> wl_shm@7.create_pool(new id wl_shm_pool@28, fd 68, 10000)
[3066001.911]  -> wl_shm_pool@28.create_buffer(new id wl_buffer@30, 0, 50, 50, 200, 0)
[3066001.984]  -> wl_shm_pool@28.destroy()
[3066002.200]  -> wl_surface@3.set_buffer_scale(2)
[3066002.242]  -> wl_pointer@5.set_cursor(0, wl_surface@3, 4, 4)
[3066002.309]  -> wl_surface@3.damage(0, 0, 50, 50)
[3066002.389]  -> wl_surface@3.attach(wl_buffer@30, 0, 0)
[3066002.414]  -> wl_surface@3.commit()
[3066002.864] wl_pointer@5.frame()
[3066005.133] wl_display@1.delete_id(28)
[3066005.314]  -> wl_shm@7.create_pool(new id wl_shm_pool@28, fd 68, 10000)
[3066005.343]  -> wl_shm_pool@28.create_buffer(new id wl_buffer@29, 0, 50, 50, 200, 0)
[3066005.384]  -> wl_shm_pool@28.destroy()
[3066005.437]  -> wl_surface@3.set_buffer_scale(2)
[3066005.479]  -> wl_pointer@5.set_cursor(0, wl_surface@3, 4, 4)
[3066005.501]  -> wl_surface@3.damage(0, 0, 50, 50)
[3066005.520]  -> wl_surface@3.attach(wl_buffer@29, 0, 0)
[3066005.538]  -> wl_surface@3.commit()
[3066006.879] wl_display@1.delete_id(28)
[3066006.910] wl_buffer@30.release()
[3066006.936]  -> wl_buffer@30.destroy()
[3067263.090] wl_display@1.delete_id(30)
[3067263.185] wl_keyboard@22.key(7161, 2443441, 56, 1)
[3067263.972] wl_keyboard@22.modifiers(7162, 262152, 0, 0, 0)
[3067512.933] xdg_toplevel@33.close()
[3067519.393]  -> xdg_toplevel@33.destroy()
[3067519.523]  -> xdg_surface@32.destroy()
[3067519.591]  -> wp_viewport@24.destroy()
[3067519.651]  -> wl_surface@20.destroy()
[3067521.358] xdg_wm_base@13.ping(2443690)
[3067521.431]  -> xdg_wm_base@13.pong(2443690)
[3067521.826]  -> wl_buffer@27.destroy()
[3067521.903]  -> wl_buffer@31.destroy()

What have I tried to solve problem:

Add to config hardware.opengl.enable=true
Add to packages libglvnd (as output for nix-locate -w1 lib/libGLESv2.so.2)

All with nixos-rebuild boot and reboot

My config

`nix-info -m`
$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.13.13-zen1, NixOS, 21.05.4116.46251a79f75 (Okapi)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.16`
 - channels(root): `"nixos-21.05.4116.46251a79f75, nixos-unstable-21.11pre331460.931ab058daa"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

My configuration.nix https://github.com/psydvl/nixos/blob/7638bc9fe6cec1379ae85536eed8955bc7494aab/configuration.nix
Only packages https://github.com/psydvl/nixos/blob/7638bc9fe6cec1379ae85536eed8955bc7494aab/packages.nix

2 Likes

I also encountered this problem when I was packaging EEZ studio but I gave up at that time.

I am using Sway instead of GNOME but the behaviour is the same; there is no window (swaymsg -t get_tree doesn’t show the app).

eez-studio (doesn’t work on Wayland)

ELECTRON_ENABLE_LOGGING=1
[1174553:1119/004429.513515:WARNING:wayland_drm.cc(68)] Failed to get drm magic
[1174553:1119/004429.639007:ERROR:wayland_surface.cc(59)] Server doesn't support zwp_linux_explicit_synchronization_v1.
[1174585:1119/004429.660919:ERROR:egl_util.cc(70)] Failed to load GLES library: libGLESv2.so.2: libGLESv2.so.2: cannot open shared object file: No such file or directory
[1174585:1119/004429.662678:ERROR:viz_main_impl.cc(150)] Exiting GPU process due to errors during initialization
[1174553:1119/004429.722693:ERROR:wayland_surface.cc(59)] Server doesn't support zwp_linux_explicit_synchronization_v1.
[1174607:1119/004429.795635:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[1174553:1119/004431.254053:INFO:CONSOLE(1)] "Launching yarn: /nix/store/wrls7fyk1p2x6ab881h00yjldkih72ys-electron-12.1.0/lib/electron/.electron-wrapped /nix/store/4l2sy01qjxihkn0mqfrdp8p0v6rjjyjw-eezstudio-unstable-2021-09-28/lib/eezstudio/resources/app.asar/libs/yarn-1.22.10.js install --no-emoji --no-lockfile --cache-folder /home/ilkecan/.config/eezstudio/extensions/cache", source: /nix/store/4l2sy01qjxihkn0mqfrdp8p0v6rjjyjw-eezstudio-unstable-2021-09-28/lib/eezstudio/resources/app.asar/build/eez-studio-shared/extensions/extensions.js (1)
[1174553:1119/004431.264801:INFO:CONSOLE(1)] "Failed to get node module folders.", source: /nix/store/4l2sy01qjxihkn0mqfrdp8p0v6rjjyjw-eezstudio-unstable-2021-09-28/lib/eezstudio/resources/app.asar/build/eez-studio-shared/extensions/extensions.js (1)
event.sender.id 2
tabs [{"id":"workbench","active":false}]
event.sender.id 2
tabs [{"id":"workbench","active":false},{"id":"settings","active":false}]
event.sender.id 2
tabs [{"id":"workbench","active":false},{"id":"settings","active":true}]
[1174553:1119/004431.683843:INFO:CONSOLE(1)] "yarn yarn install v1.22.10
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.05s.
", source: /nix/store/4l2sy01qjxihkn0mqfrdp8p0v6rjjyjw-eezstudio-unstable-2021-09-28/lib/eezstudio/resources/app.asar/build/eez-studio-shared/extensions/extensions.js (1)
ELECTRON_ENABLE_LOGGING=1 WAYLAND_DEBUG=1

gist:89832a7a3fc2c0dd996d12726aaf8c86 · GitHub


One Electron app that I know works on Wayland is element-desktop so I tried ELECTRON_ENABLE_LOGGING=1 and WAYLAND_DEBUG=1 with it.

element-desktop (works on Wayland)

ELECTRON_ENABLE_LOGGING=1
/home/ilkecan/.config/Element exists: yes
/home/ilkecan/.config/Riot exists: no
/nix/store/wv35g5lff84rray15zlzarcqi9fxzz84-bash-4.4-p23/bin/sh: /nix/store/jsp3h3wpzc842j0rz61m5ly71ak6qgdn-glibc-2.32-54/lib/libc.so.6: version `GLIBC_2.33' not found (required by /nix/store/3drz007zp3w7bksw73rnv1xry1pa1js1-libX11-1.7.2/lib/libX11.so.6)
/nix/store/wv35g5lff84rray15zlzarcqi9fxzz84-bash-4.4-p23/bin/sh: /nix/store/jsp3h3wpzc842j0rz61m5ly71ak6qgdn-glibc-2.32-54/lib/libc.so.6: version `GLIBC_2.33' not found (required by /nix/store/4p406k7zwrxzip761mpcchc39v9hjkgy-libXau-1.0.9/lib/libXau.so.6)
[1174876:1119/004747.322921:WARNING:wayland_drm.cc(68)] Failed to get drm magic
No update_base_url is defined: auto update is disabled
[1174876:1119/004747.421545:WARNING:wayland_surface.cc(63)] Server doesn't support zwp_linux_explicit_synchronization_v1.
Fetching translation json for locale: en_EN
Changing application language to en-us
Fetching translation json for locale: en-us
Resetting the UI components after locale change
Resetting the UI components after locale change
[1174911:1119/004747.500387:ERROR:egl_util.cc(74)] Failed to load GLES library: libGLESv2.so.2: libGLESv2.so.2: cannot open shared object file: No such file or directory
[1174911:1119/004747.501856:ERROR:viz_main_impl.cc(160)] Exiting GPU process due to errors during initialization
[1174955:1119/004747.607379:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is swiftshader
[1174955:1119/004747.614339:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[1174876:1119/004748.011334:INFO:CONSOLE(2)] "Initialised rageshake.", source: vector://vector/webapp/bundles/e645af8f1eb390131f94/vendors~init.js (2)
[1174876:1119/004748.011397:INFO:CONSOLE(2)] "To fix line numbers in Chrome: Meatball menu → Settings → Ignore list → Add /rageshake\.js$", source: vector://vector/webapp/bundles/e645af8f1eb390131f94/vendors~init.js (2)
[1174876:1119/004748.015842:INFO:CONSOLE(2)] "Using Electron platform", source: vector://vector/webapp/bundles/e645af8f1eb390131f94/vendors~init.js (2)
Changing application language to en-us
Fetching translation json for locale: en-us
Resetting the UI components after locale change
ELECTRON_ENABLE_LOGGING=1 WAYLAND_DEBUG=1

gist:8861f0fb4ba3cea904df387e12428d09 · GitHub

It seems to be producing similar error messages, at least for the ELECTRON_ENABLE_LOGGING=1 case.

Interesting note: with electron 14 & 15 from unstable, I at least see window, but it’s blank with and without Wayland flags.

Possible related electron issue and pull-request:
https://github.com/electron/electron/issues/27522
https://github.com/electron/electron/pull/29618

GNOME related WONTFIX issues: