wez / wezterm

A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
https://wezfurlong.org/wezterm/
Other
18.12k stars 809 forks source link

window::os::wayland::connection > Unable to resolve appearance using xdg-desktop-portal #5879

Open alembiq opened 4 months ago

alembiq commented 4 months ago

What Operating System(s) are you seeing this problem on?

Linux Wayland

Which Wayland compositor or X11 Window manager(s) are you using?

Sway and Hyprland

WezTerm version

56a27e9

Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?

Yes, and I updated the version box above to show the version of the nightly that I tried

Describe the bug

unable to start wezterm

To Reproduce

No response

Configuration

local wezterm = require 'wezterm';

local wezterm = require 'wezterm';
local config = wezterm.config_builder()

config.enable_tab_bar = true
config.hide_tab_bar_if_only_one_tab = true
config.use_fancy_tab_bar = false
config.scrollback_lines = 5000
config.enable_scroll_bar = true
config.font = wezterm.font 'FiraCode Nerd Font Mono'
config.color_scheme = 'custom'
config.check_for_updates = false
config.warn_about_missing_glyphs=false
config.front_end = 'WebGpu'

config.keys = {
    { key = '[',     mods = 'CTRL|ALT',  action = wezterm.action.SplitVertical({ domain = 'CurrentPaneDomain' }), },
    { key = ']',     mods = 'CTRL|ALT',  action = wezterm.action.SplitHorizontal({ domain = 'CurrentPaneDomain' }), },
    { key = 'k',     mods = 'CTRL|ALT',  action = wezterm.action.ActivatePaneDirection('Up') },
    { key = 'j',     mods = 'CTRL|ALT',  action = wezterm.action.ActivatePaneDirection('Down') },
    { key = 'h',     mods = 'CTRL|ALT',  action = wezterm.action.ActivatePaneDirection('Left') },
    { key = 'l',     mods = 'CTRL|ALT',  action = wezterm.action.ActivatePaneDirection('Right') },
}

return config

Expected Behavior

No response

Logs

WAYLAND_DEBUG=1 wezterm
[ 913869.703]  -> wl_display@1.get_registry(new id wl_registry@2)
[ 913869.777]  -> wl_display@1.sync(new id wl_callback@3)
[ 913870.172] wl_display@1.delete_id(3)
[ 913870.212] wl_registry@2.global(1, "wl_seat", 9)
[ 913870.250] wl_registry@2.global(2, "wl_data_device_manager", 3)
[ 913870.270] wl_registry@2.global(3, "wl_compositor", 6)
[ 913870.289] wl_registry@2.global(4, "wl_subcompositor", 1)
[ 913870.308] wl_registry@2.global(5, "wl_shm", 1)
[ 913870.331] wl_registry@2.global(6, "wp_viewporter", 1)
[ 913870.350] wl_registry@2.global(7, "wp_tearing_control_manager_v1", 1)
[ 913870.368] wl_registry@2.global(8, "wp_fractional_scale_manager_v1", 1)
[ 913870.387] wl_registry@2.global(9, "zxdg_output_manager_v1", 3)
[ 913870.410] wl_registry@2.global(10, "wp_cursor_shape_manager_v1", 1)
[ 913870.429] wl_registry@2.global(11, "zwp_idle_inhibit_manager_v1", 1)
[ 913870.448] wl_registry@2.global(12, "zwp_relative_pointer_manager_v1", 1)
[ 913870.469] wl_registry@2.global(13, "zxdg_decoration_manager_v1", 1)
[ 913870.488] wl_registry@2.global(14, "wp_alpha_modifier_v1", 1)
[ 913870.507] wl_registry@2.global(15, "zwlr_gamma_control_manager_v1", 1)
[ 913870.526] wl_registry@2.global(16, "ext_foreign_toplevel_list_v1", 1)
[ 913870.587] wl_registry@2.global(17, "zwp_pointer_gestures_v1", 3)
[ 913870.617] wl_registry@2.global(18, "zwlr_foreign_toplevel_manager_v1", 3)
[ 913870.662] wl_registry@2.global(19, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[ 913870.677] wl_registry@2.global(20, "zwp_text_input_manager_v3", 1)
[ 913870.695] wl_registry@2.global(21, "zwp_pointer_constraints_v1", 1)
[ 913870.708] wl_registry@2.global(22, "zwlr_output_power_manager_v1", 1)
[ 913870.720] wl_registry@2.global(23, "xdg_activation_v1", 1)
[ 913870.733] wl_registry@2.global(24, "ext_idle_notifier_v1", 1)
[ 913870.747] wl_registry@2.global(25, "ext_session_lock_manager_v1", 1)
[ 913870.760] wl_registry@2.global(26, "zwp_input_method_manager_v2", 1)
[ 913870.773] wl_registry@2.global(27, "zwp_virtual_keyboard_manager_v1", 1)
[ 913870.786] wl_registry@2.global(28, "zwlr_virtual_pointer_manager_v1", 2)
[ 913870.803] wl_registry@2.global(29, "zwlr_output_manager_v1", 4)
[ 913870.823] wl_registry@2.global(30, "org_kde_kwin_server_decoration_manager", 1)
[ 913870.844] wl_registry@2.global(31, "hyprland_focus_grab_manager_v1", 1)
[ 913870.863] wl_registry@2.global(32, "zwp_tablet_manager_v2", 1)
[ 913870.884] wl_registry@2.global(33, "zwlr_layer_shell_v1", 5)
[ 913870.905] wl_registry@2.global(34, "wp_presentation", 1)
[ 913870.918] wl_registry@2.global(35, "xdg_wm_base", 6)
[ 913870.931] wl_registry@2.global(36, "zwlr_data_control_manager_v1", 2)
[ 913870.945] wl_registry@2.global(37, "zwp_primary_selection_device_manager_v1", 1)
[ 913870.958] wl_registry@2.global(38, "xwayland_shell_v1", 1)
[ 913870.972] wl_registry@2.global(39, "wl_drm", 2)
[ 913870.985] wl_registry@2.global(40, "zwp_linux_dmabuf_v1", 5)
[ 913871.002] wl_registry@2.global(41, "hyprland_toplevel_export_manager_v1", 2)
[ 913871.015] wl_registry@2.global(42, "zwp_text_input_manager_v1", 1)
[ 913871.029] wl_registry@2.global(43, "hyprland_global_shortcuts_manager_v1", 1)
[ 913871.042] wl_registry@2.global(44, "zwlr_screencopy_manager_v1", 3)
[ 913871.055] wl_registry@2.global(45, "wp_drm_lease_device_v1", 1)
[ 913871.068] wl_registry@2.global(47, "wl_output", 4)
[ 913871.081] wl_callback@3.done(4026)
[ 913871.136]  -> wl_registry@2.bind(5, "wl_shm", 1, new id [unknown]@3)
[ 913871.226]  -> wl_shm@3.create_pool(new id wl_shm_pool@4, fd 11, 1)
[ 913871.297]  -> wl_registry@2.bind(3, "wl_compositor", 6, new id [unknown]@5)
[ 913871.330]  -> wl_registry@2.bind(4, "wl_subcompositor", 1, new id [unknown]@6)
[ 913871.365]  -> wl_registry@2.bind(47, "wl_output", 4, new id [unknown]@7)
[ 913871.385]  -> wl_registry@2.bind(9, "zxdg_output_manager_v1", 3, new id [unknown]@8)
[ 913871.418]  -> zxdg_output_manager_v1@8.get_xdg_output(new id zxdg_output_v1@9, wl_output@7)
[ 913871.458]  -> wl_registry@2.bind(20, "zwp_text_input_manager_v3", 1, new id [unknown]@10)
[ 913871.480]  -> wl_registry@2.bind(1, "wl_seat", 7, new id [unknown]@11)
[ 913871.501]  -> wl_registry@2.bind(35, "xdg_wm_base", 6, new id [unknown]@12)
[ 913871.520]  -> wl_registry@2.bind(13, "zxdg_decoration_manager_v1", 1, new id [unknown]@13)
[ 913871.539]  -> wl_registry@2.bind(2, "wl_data_device_manager", 3, new id [unknown]@14)
[ 913871.589]  -> wl_registry@2.bind(37, "zwp_primary_selection_device_manager_v1", 1, new id [unknown]@15)
[ 914174.838] wl_shm@3.format(0)
[ 914174.885] wl_shm@3.format(1)
[ 914174.896] wl_shm@3.format(875709016)
[ 914174.913] wl_shm@3.format(875708993)
[ 914174.924] wl_shm@3.format(875710274)
[ 914174.933] wl_shm@3.format(842094674)
[ 914174.943] wl_shm@3.format(842088786)
[ 914174.951] wl_shm@3.format(892426322)
[ 914174.976] wl_shm@3.format(892420434)
[ 914174.998] wl_shm@3.format(909199186)
[ 914175.014] wl_shm@3.format(808665688)
[ 914175.031] wl_shm@3.format(808665665)
[ 914175.046] wl_shm@3.format(1211384408)
[ 914175.061] wl_shm@3.format(1211384385)
[ 914175.077] wl_shm@3.format(942948952)
[ 914175.091] wl_shm@3.format(942948929)
[ 914175.106] wl_output@7.geometry(0, 0, 700, 390, 0, "Lenovo Group Limited", "LEN T32h-20", 0)
[ 914175.156] wl_output@7.name("DP-5")
[ 914175.171] wl_output@7.description("Lenovo Group Limited LEN T32h-20 VNA5ZT78 (DP-5)")
[ 914175.184] wl_output@7.scale(1)
[ 914175.195] wl_output@7.mode(3, 2560, 1440, 59951)
[ 914175.209] wl_output@7.done()
[ 914175.221] zxdg_output_v1@9.name("DP-5")
[ 914175.239] zxdg_output_v1@9.description("Lenovo Group Limited LEN T32h-20 VNA5ZT78 (DP-5)")
[ 914175.256] zxdg_output_v1@9.logical_position(0, 0)
[ 914175.272] zxdg_output_v1@9.logical_size(2560, 1440)
[ 914175.287] wl_output@7.done()
[ 914175.302] wl_seat@11.name("Hyprland")
[ 914175.317] wl_seat@11.capabilities(7)
[ 914175.866]  -> wl_seat@11.get_keyboard(new id wl_keyboard@16)
[ 914175.932]  -> zwp_text_input_manager_v3@10.get_text_input(new id zwp_text_input_v3@17, wl_seat@11)
[ 914175.971]  -> wl_data_device_manager@14.get_data_device(new id wl_data_device@18, wl_seat@11)
[ 914176.000]  -> zwp_primary_selection_device_manager_v1@15.get_device(new id zwp_primary_selection_device_v1@19, wl_seat@11)
[ 914176.031]  -> wl_compositor@5.create_surface(new id wl_surface@20)
[ 914176.051]  -> wl_seat@11.get_pointer(new id wl_pointer@21)
[ 914176.075]  -> wl_registry@2.bind(10, "wp_cursor_shape_manager_v1", 1, new id [unknown]@22)
[ 914176.104]  -> wp_cursor_shape_manager_v1@22.get_pointer(new id wp_cursor_shape_device_v1@23, wl_pointer@21)
[ 914194.609]  -> wl_compositor@5.create_surface(new id wl_surface@24)
[ 914194.985]  -> xdg_wm_base@12.get_xdg_surface(new id xdg_surface@25, wl_surface@24)
[ 914195.015]  -> xdg_surface@25.get_toplevel(new id xdg_toplevel@26)
[ 914195.045]  -> zxdg_decoration_manager_v1@13.get_toplevel_decoration(new id zxdg_toplevel_decoration_v1@27, xdg_toplevel@26)
[ 914195.069]  -> zxdg_toplevel_decoration_v1@27.set_mode(2)
[ 914195.091]  -> xdg_toplevel@26.set_app_id("org.wezfurlong.wezterm")
[ 914195.111]  -> xdg_toplevel@26.set_title("wezterm")
[ 914195.129]  -> zxdg_toplevel_decoration_v1@27.set_mode(2)
[ 914195.197]  -> wl_shm@3.create_pool(new id wl_shm_pool@28, fd 23, 1)
[ 914195.267]  -> wl_compositor@5.create_surface(new id wl_surface@29)
[ 914195.293]  -> wl_subcompositor@6.get_subsurface(new id wl_subsurface@30, wl_surface@29, wl_surface@24)
[ 914195.325]  -> wl_subsurface@30.set_sync()
[ 914195.341]  -> wl_compositor@5.create_surface(new id wl_surface@31)
[ 914195.366]  -> wl_subcompositor@6.get_subsurface(new id wl_subsurface@32, wl_surface@31, wl_surface@24)
[ 914195.385]  -> wl_subsurface@32.set_sync()
[ 914195.403]  -> wl_compositor@5.create_surface(new id wl_surface@33)
[ 914195.423]  -> wl_subcompositor@6.get_subsurface(new id wl_subsurface@34, wl_surface@33, wl_surface@24)
[ 914195.446]  -> wl_subsurface@34.set_sync()
[ 914195.462]  -> wl_compositor@5.create_surface(new id wl_surface@35)
[ 914195.482]  -> wl_subcompositor@6.get_subsurface(new id wl_subsurface@36, wl_surface@35, wl_surface@24)
[ 914195.501]  -> wl_subsurface@36.set_sync()
[ 914195.523]  -> wl_compositor@5.create_surface(new id wl_surface@37)
[ 914195.539]  -> wl_subcompositor@6.get_subsurface(new id wl_subsurface@38, wl_surface@37, wl_surface@24)
[ 914195.577]  -> wl_subsurface@38.set_sync()
[ 914195.590]  -> wl_subsurface@30.destroy()
[ 914195.605]  -> wl_surface@29.destroy()
[ 914195.619]  -> wl_subsurface@32.destroy()
[ 914195.631]  -> wl_surface@31.destroy()
[ 914195.644]  -> wl_subsurface@34.destroy()
[ 914195.655]  -> wl_surface@33.destroy()
[ 914195.692]  -> wl_subsurface@36.destroy()
[ 914195.703]  -> wl_surface@35.destroy()
[ 914195.716]  -> wl_subsurface@38.destroy()
[ 914195.727]  -> wl_surface@37.destroy()
[ 914195.743]  -> xdg_toplevel@26.set_min_size(32, 32)
[ 914195.759]  -> xdg_surface@25.set_window_geometry(0, 0, 820, 500)
[ 914195.779]  -> wl_surface@24.commit()
09:40:48.914  WARN   window::os::wayland::connection > Unable to resolve appearance using xdg-desktop-portal: get_appearance.read_setting: Reading xdg-portal org.freedesktop.appearance color-scheme: org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop
[ 914199.701] wl_keyboard@16.keymap(1, fd 23, 70522)
[ 914199.788] wl_keyboard@16.repeat_info(25, 600)
[ 914258.771] wl_display@1.delete_id(30)
[ 914258.817] wl_display@1.delete_id(29)
[ 914258.827] wl_display@1.delete_id(32)
[ 914258.834] wl_display@1.delete_id(31)
[ 914258.842] wl_display@1.delete_id(34)
[ 914258.852] wl_display@1.delete_id(33)
[ 914258.860] wl_display@1.delete_id(36)
[ 914258.871] wl_display@1.delete_id(35)
[ 914258.879] wl_display@1.delete_id(38)
[ 914258.890] wl_display@1.delete_id(37)
[ 914258.905] xdg_toplevel@26.wm_capabilities(array[8])
[ 914258.929] zxdg_toplevel_decoration_v1@27.configure(2)
[ 914258.951] zxdg_toplevel_decoration_v1@27.configure(2)
[ 914258.963] zxdg_toplevel_decoration_v1@27.configure(2)
[ 914258.980] xdg_toplevel@26.configure(1280, 708, array[16])
[ 914258.997] xdg_surface@25.configure(4027)
[ 914259.098]  -> xdg_surface@25.ack_configure(4027)
[ 914259.927]  -> xdg_surface@25.set_window_geometry(0, 0, 1280, 708)
[ 914262.044]  -> wl_surface@24.commit()
[ 914262.105]  -> wl_surface@24.frame(new id wl_callback@37)
09:40:49.924  ERROR  env_bootstrap                   > panic at /build/cargo-vendor-dir/wgpu-hal-0.18.1/src/gles/egl.rs:798:88 - called `Option::unwrap()` on a `None` value
   0: env_bootstrap::register_panic_hook::{{closure}}
   1: std::panicking::rust_panic_with_hook
   2: std::panicking::begin_panic_handler::{{closure}}
   3: std::sys_common::backtrace::__rust_end_short_backtrace
   4: rust_begin_unwind
   5: core::panicking::panic_fmt
   6: core::panicking::panic
   7: core::option::unwrap_failed
   8: <wgpu_hal::gles::egl::Instance as wgpu_hal::Instance<wgpu_hal::gles::Api>>::init
   9: wgpu_core::instance::Instance::new
  10: wgpu::Instance::new
  11: wezterm_gui::termwindow::TermWindow::new_window::{{closure}}
  12: <async_task::runnable::Builder<M>::spawn_local::Checked<F> as core::future::future::Future>::poll
  13: async_task::raw::RawTask<F,T,S,M>::run
  14: window::spawn::SpawnQueue::run
  15: <window::os::wayland::connection::WaylandConnection as window::connection::ConnectionOps>::run_message_loop
  16: wezterm_gui::run_terminal_gui
  17: wezterm_gui::main
  18: std::sys_common::backtrace::__rust_begin_short_backtrace
  19: std::rt::lang_start::{{closure}}
  20: std::rt::lang_start_internal
  21: main
  22: __libc_start_call_main
  23: __libc_start_main@@GLIBC_2.34
  24: _start

thread 'main' panicked at /build/cargo-vendor-dir/wgpu-hal-0.18.1/src/gles/egl.rs:798:88:
called `Option::unwrap()` on a `None` value
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
panicked at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/thread/local.rs:262:26:
thread panicked while processing panic. aborting.
Aborted (core dumped)
RUST_BACKTRACE=1 wezterm
09:41:32.985  WARN   window::os::wayland::connection > Unable to resolve appearance using xdg-desktop-portal: get_appearance.read_setting: Reading xdg-portal org.freedesktop.appearance color-scheme: org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop
09:41:34.011  ERROR  env_bootstrap                   > panic at /build/cargo-vendor-dir/wgpu-hal-0.18.1/src/gles/egl.rs:798:88 - called `Option::unwrap()` on a `None` value
   0: env_bootstrap::register_panic_hook::{{closure}}
   1: std::panicking::rust_panic_with_hook
   2: std::panicking::begin_panic_handler::{{closure}}
   3: std::sys_common::backtrace::__rust_end_short_backtrace
   4: rust_begin_unwind
   5: core::panicking::panic_fmt
   6: core::panicking::panic
   7: core::option::unwrap_failed
   8: <wgpu_hal::gles::egl::Instance as wgpu_hal::Instance<wgpu_hal::gles::Api>>::init
   9: wgpu_core::instance::Instance::new
  10: wgpu::Instance::new
  11: wezterm_gui::termwindow::TermWindow::new_window::{{closure}}
  12: <async_task::runnable::Builder<M>::spawn_local::Checked<F> as core::future::future::Future>::poll
  13: async_task::raw::RawTask<F,T,S,M>::run
  14: window::spawn::SpawnQueue::run
  15: <window::os::wayland::connection::WaylandConnection as window::connection::ConnectionOps>::run_message_loop
  16: wezterm_gui::run_terminal_gui
  17: wezterm_gui::main
  18: std::sys_common::backtrace::__rust_begin_short_backtrace
  19: std::rt::lang_start::{{closure}}
  20: std::rt::lang_start_internal
  21: main
  22: __libc_start_call_main
  23: __libc_start_main@@GLIBC_2.34
  24: _start

thread 'main' panicked at /build/cargo-vendor-dir/wgpu-hal-0.18.1/src/gles/egl.rs:798:88:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: core::option::unwrap_failed
   4: <wgpu_hal::gles::egl::Instance as wgpu_hal::Instance<wgpu_hal::gles::Api>>::init
   5: wgpu_core::instance::Instance::new
   6: wgpu::Instance::new
   7: wezterm_gui::termwindow::TermWindow::new_window::{{closure}}
   8: <async_task::runnable::Builder<M>::spawn_local::Checked<F> as core::future::future::Future>::poll
   9: async_task::raw::RawTask<F,T,S,M>::run
  10: window::spawn::SpawnQueue::run
  11: <window::os::wayland::connection::WaylandConnection as window::connection::ConnectionOps>::run_message_loop
  12: wezterm_gui::run_terminal_gui
  13: wezterm_gui::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
panicked at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/thread/local.rs:262:26:
thread panicked while processing panic. aborting.
Aborted (core dumped)

Anything else?

thank you for this amazing terminal

Octelly commented 3 months ago

Same on just updated unstable NixOS Plasma

alembiq commented 3 months ago

possibly related to https://github.com/gfx-rs/wgpu/issues/6165