UI scaling + missing font = `Protocol error 2 on object wl_surface@23` crash
What Operating System(s) are you seeing this problem on?
Linux Wayland
Which Wayland compositor or X11 Window manager(s) are you using?
Gnome/GDM
WezTerm version
"nightly" built from source at b6e75fd7c8f9c9ad5af4efbba1d28df0969f6b17 (2025-10-24)
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
With UI scaling set to 200% in Gnome's "Display" settings, when wezterm.font or wezterm.font_with_fallback encounters a non-existent font, it crashes, even if there's a valid font later in the fallback list.
With UI scaling set to 100%, wezterm launches successfully.
To Reproduce
With the given config, wezterm crashes instead of starting:
$ wezterm
16:55:11.808 ERROR mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
16:55:11.834 ERROR mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
16:55:11.910 ERROR mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
16:55:12.055 ERROR mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
wl_surface#23: error 2: Buffer size (820x557) must be an integer multiple of the buffer_scale (2).
Protocol error 2 on object wl_surface@23:
16:55:12.144 ERROR wezterm_gui > running message loop: Protocol error 2 on object wl_surface@23: ; terminating
With WAYLAND_DEBUG=1, wezterm crashes with a different error message:
16:55:55.313 ERROR wezterm_gui > running message loop: Io error: Broken pipe (os error 32); terminating
Full logs with WAYLAND_DEBUG=1 (416 lines)
[3249277.238] -> wl_display#1.get_registry(new id wl_registry#2)
[3249277.300] -> wl_display#1.sync(new id wl_callback#3)
[3249277.408] {Display Queue} wl_display#1.delete_id(3)
[3249277.420] wl_registry#2.global(1, "wl_compositor", 6)
[3249277.436] wl_registry#2.global(2, "wl_shm", 2)
[3249277.440] wl_registry#2.global(3, "wl_output", 4)
[3249277.443] wl_registry#2.global(4, "zxdg_output_manager_v1", 3)
[3249277.447] wl_registry#2.global(5, "wl_data_device_manager", 3)
[3249277.450] wl_registry#2.global(6, "xdg_toplevel_drag_manager_v1", 1)
[3249277.453] wl_registry#2.global(7, "zwp_primary_selection_device_manager_v1", 1)
[3249277.457] wl_registry#2.global(8, "wl_subcompositor", 1)
[3249277.460] wl_registry#2.global(9, "xdg_wm_base", 6)
[3249277.463] wl_registry#2.global(10, "gtk_shell1", 6)
[3249277.466] wl_registry#2.global(11, "wp_viewporter", 1)
[3249277.469] wl_registry#2.global(12, "wp_fractional_scale_manager_v1", 1)
[3249277.472] wl_registry#2.global(13, "zwp_pointer_gestures_v1", 3)
[3249277.476] wl_registry#2.global(14, "zwp_tablet_manager_v2", 1)
[3249277.479] wl_registry#2.global(15, "wl_seat", 8)
[3249277.482] wl_registry#2.global(16, "zwp_relative_pointer_manager_v1", 1)
[3249277.485] wl_registry#2.global(17, "zwp_pointer_constraints_v1", 1)
[3249277.490] wl_registry#2.global(18, "zxdg_exporter_v2", 1)
[3249277.494] wl_registry#2.global(19, "zxdg_importer_v2", 1)
[3249277.497] wl_registry#2.global(20, "zxdg_exporter_v1", 1)
[3249277.500] wl_registry#2.global(21, "zxdg_importer_v1", 1)
[3249277.503] wl_registry#2.global(22, "zwp_linux_dmabuf_v1", 5)
[3249277.506] wl_registry#2.global(23, "wp_single_pixel_buffer_manager_v1", 1)
[3249277.510] wl_registry#2.global(24, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[3249277.513] wl_registry#2.global(25, "zwp_text_input_manager_v3", 1)
[3249277.515] wl_registry#2.global(26, "wp_presentation", 2)
[3249277.519] wl_registry#2.global(27, "xdg_activation_v1", 1)
[3249277.522] wl_registry#2.global(28, "zwp_idle_inhibit_manager_v1", 1)
[3249277.525] wl_registry#2.global(29, "wp_linux_drm_syncobj_manager_v1", 1)
[3249277.528] wl_registry#2.global(30, "xdg_wm_dialog_v1", 1)
[3249277.532] wl_registry#2.global(31, "wp_color_manager_v1", 1)
[3249277.535] wl_registry#2.global(32, "xdg_system_bell_v1", 1)
[3249277.538] wl_registry#2.global(33, "wp_drm_lease_device_v1", 1)
[3249277.542] wl_registry#2.global(34, "wp_drm_lease_device_v1", 1)
[3249277.544] wl_registry#2.global(35, "wp_commit_timing_manager_v1", 1)
[3249277.547] wl_registry#2.global(36, "wp_fifo_manager_v1", 1)
[3249277.550] wl_registry#2.global(37, "wp_cursor_shape_manager_v1", 2)
[3249277.553] wl_callback#3.done(17160)
[3249277.565] -> wl_registry#2.bind(2, "wl_shm", 1, new id [unknown]#3)
[3249277.597] -> wl_shm#3.create_pool(new id wl_shm_pool#4, fd 11, 1)
[3249277.618] -> wl_registry#2.bind(1, "wl_compositor", 6, new id [unknown]#5)
[3249277.626] -> wl_registry#2.bind(8, "wl_subcompositor", 1, new id [unknown]#6)
[3249277.638] -> wl_registry#2.bind(3, "wl_output", 4, new id [unknown]#7)
[3249277.644] -> wl_registry#2.bind(4, "zxdg_output_manager_v1", 3, new id [unknown]#8)
[3249277.651] -> zxdg_output_manager_v1#8.get_xdg_output(new id zxdg_output_v1#9, wl_output#7)
[3249277.657] -> wl_registry#2.bind(25, "zwp_text_input_manager_v3", 1, new id [unknown]#10)
[3249277.667] -> wl_registry#2.bind(15, "wl_seat", 7, new id [unknown]#11)
[3249277.673] -> wl_registry#2.bind(9, "xdg_wm_base", 6, new id [unknown]#12)
[3249277.679] -> wl_registry#2.bind(5, "wl_data_device_manager", 3, new id [unknown]#13)
[3249277.684] -> wl_registry#2.bind(7, "zwp_primary_selection_device_manager_v1", 1, new id [unknown]#14)
16:55:54.898 ERROR mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
[3249298.864] wl_shm#3.format(0)
[3249298.897] wl_shm#3.format(1)
[3249298.910] wl_shm#3.format(875708993)
[3249298.913] wl_shm#3.format(875709016)
[3249298.915] wl_shm#3.format(909199186)
[3249298.918] wl_shm#3.format(808669761)
[3249298.920] wl_shm#3.format(808669784)
[3249298.922] wl_shm#3.format(808665665)
[3249298.925] wl_shm#3.format(808665688)
[3249298.928] wl_shm#3.format(1211388481)
[3249298.930] wl_shm#3.format(1211388504)
[3249298.933] wl_shm#3.format(1211384385)
[3249298.935] wl_shm#3.format(1211384408)
[3249298.938] wl_shm#3.format(1448695129)
[3249298.940] wl_shm#3.format(842094158)
[3249298.942] wl_shm#3.format(808530000)
[3249298.945] wl_shm#3.format(842093913)
[3249298.952] wl_output#7.geometry(0, 0, 380, 210, 0, "BOE", "0x08de", 0)
[3249298.958] wl_output#7.mode(3, 3840, 2160, 60002)
[3249298.963] wl_output#7.scale(2)
[3249298.966] wl_output#7.name("eDP-1")
[3249298.969] wl_output#7.description("Built-in display")
[3249298.972] wl_output#7.done()
[3249298.975] zxdg_output_v1#9.logical_position(0, 0)
[3249298.979] zxdg_output_v1#9.logical_size(3840, 2160)
[3249298.981] zxdg_output_v1#9.name("eDP-1")
[3249298.984] zxdg_output_v1#9.description("Built-in display")
[3249298.987] wl_output#7.done()
[3249298.989] wl_seat#11.name("seat0")
[3249298.994] wl_seat#11.capabilities(3)
[3249299.182] -> wl_seat#11.get_keyboard(new id wl_keyboard#15)
[3249299.199] -> zwp_text_input_manager_v3#10.get_text_input(new id zwp_text_input_v3#16, wl_seat#11)
[3249299.209] -> wl_data_device_manager#13.get_data_device(new id wl_data_device#17, wl_seat#11)
[3249299.216] -> zwp_primary_selection_device_manager_v1#14.get_device(new id zwp_primary_selection_device_v1#18, wl_seat#11)
[3249299.222] -> wl_compositor#5.create_surface(new id wl_surface#19)
[3249299.227] -> wl_seat#11.get_pointer(new id wl_pointer#20)
[3249299.234] -> wl_registry#2.bind(37, "wp_cursor_shape_manager_v1", 1, new id [unknown]#21)
[3249299.241] -> wp_cursor_shape_manager_v1#21.get_pointer(new id wp_cursor_shape_device_v1#22, wl_pointer#20)
16:55:54.906 ERROR mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
[3249357.530] -> wl_compositor#5.create_surface(new id wl_surface#23)
[3249357.588] -> xdg_wm_base#12.get_xdg_surface(new id xdg_surface#24, wl_surface#23)
[3249357.598] -> xdg_surface#24.get_toplevel(new id xdg_toplevel#25)
[3249357.605] -> xdg_toplevel#25.set_app_id("org.wezfurlong.wezterm")
[3249357.609] -> xdg_toplevel#25.set_title("wezterm")
[3249357.632] -> wl_shm#3.create_pool(new id wl_shm_pool#26, fd 26, 1)
[3249357.650] -> wl_compositor#5.create_surface(new id wl_surface#27)
[3249357.657] -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#28, wl_surface#27, wl_surface#23)
[3249357.664] -> wl_subsurface#28.set_sync()
[3249357.668] -> wl_compositor#5.create_surface(new id wl_surface#29)
[3249357.672] -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#30, wl_surface#29, wl_surface#23)
[3249357.676] -> wl_subsurface#30.set_sync()
[3249357.680] -> wl_compositor#5.create_surface(new id wl_surface#31)
[3249357.684] -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#32, wl_surface#31, wl_surface#23)
[3249357.687] -> wl_subsurface#32.set_sync()
[3249357.690] -> wl_compositor#5.create_surface(new id wl_surface#33)
[3249357.694] -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#34, wl_surface#33, wl_surface#23)
[3249357.697] -> wl_subsurface#34.set_sync()
[3249357.700] -> wl_compositor#5.create_surface(new id wl_surface#35)
[3249357.704] -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#36, wl_surface#35, wl_surface#23)
[3249357.708] -> wl_subsurface#36.set_sync()
[3249357.711] -> wl_subsurface#28.destroy()
[3249357.717] -> wl_surface#27.destroy()
[3249357.721] -> wl_subsurface#30.destroy()
[3249357.724] -> wl_surface#29.destroy()
[3249357.727] -> wl_subsurface#32.destroy()
[3249357.729] -> wl_surface#31.destroy()
[3249359.841] -> wl_subsurface#34.destroy()
[3249359.864] -> wl_surface#33.destroy()
[3249359.867] -> wl_subsurface#36.destroy()
[3249359.871] -> wl_surface#35.destroy()
[3249359.878] -> xdg_toplevel#25.set_min_size(32, 32)
[3249359.884] -> xdg_surface#24.set_window_geometry(0, 0, 820, 557)
[3249359.889] -> wl_surface#23.commit()
[3249362.715] wl_keyboard#15.keymap(1, fd 26, 68845)
[3249362.760] wl_keyboard#15.repeat_info(33, 500)
[3249399.055] discarded [unknown]#27.[event 2](0 fd, 12 byte)
[3249399.094] discarded [unknown]#29.[event 2](0 fd, 12 byte)
[3249399.097] discarded [unknown]#31.[event 2](0 fd, 12 byte)
[3249399.099] discarded [unknown]#33.[event 2](0 fd, 12 byte)
[3249399.101] discarded [unknown]#35.[event 2](0 fd, 12 byte)
[3249399.133] {Display Queue} wl_display#1.delete_id(28)
[3249399.143] {Display Queue} wl_display#1.delete_id(27)
[3249399.146] {Display Queue} wl_display#1.delete_id(30)
[3249399.149] {Display Queue} wl_display#1.delete_id(29)
[3249399.152] {Display Queue} wl_display#1.delete_id(32)
[3249399.154] {Display Queue} wl_display#1.delete_id(31)
[3249399.157] {Display Queue} wl_display#1.delete_id(34)
[3249399.159] {Display Queue} wl_display#1.delete_id(33)
[3249399.161] {Display Queue} wl_display#1.delete_id(36)
[3249399.164] {Display Queue} wl_display#1.delete_id(35)
[3249399.166] wl_surface#23.preferred_buffer_scale(2)
[3249399.172] xdg_toplevel#25.configure_bounds(1920, 1048)
[3249399.176] xdg_toplevel#25.wm_capabilities(array[16])
[3249399.179] xdg_toplevel#25.configure(0, 0, array[0])
[3249399.183] xdg_surface#24.configure(623)
[3249399.388] -> xdg_surface#24.ack_configure(623)
16:55:55.009 ERROR mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
[3249462.735] -> wl_compositor#5.create_surface(new id wl_surface#35)
[3249462.793] -> xdg_wm_base#12.get_xdg_surface(new id xdg_surface#36, wl_surface#35)
[3249462.802] -> xdg_surface#36.get_toplevel(new id xdg_toplevel#33)
[3249462.810] -> xdg_toplevel#33.set_app_id("org.wezfurlong.wezterm")
[3249462.815] -> xdg_toplevel#33.set_title("wezterm")
[3249462.840] -> wl_shm#3.create_pool(new id wl_shm_pool#34, fd 30, 1)
[3249462.864] -> wl_compositor#5.create_surface(new id wl_surface#31)
[3249462.872] -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#32, wl_surface#31, wl_surface#35)
[3249462.879] -> wl_subsurface#32.set_sync()
[3249462.883] -> wl_compositor#5.create_surface(new id wl_surface#29)
[3249462.887] -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#30, wl_surface#29, wl_surface#35)
[3249462.891] -> wl_subsurface#30.set_sync()
[3249462.895] -> wl_compositor#5.create_surface(new id wl_surface#27)
[3249462.898] -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#28, wl_surface#27, wl_surface#35)
[3249462.902] -> wl_subsurface#28.set_sync()
[3249462.906] -> wl_compositor#5.create_surface(new id wl_surface#37)
[3249462.910] -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#38, wl_surface#37, wl_surface#35)
[3249462.914] -> wl_subsurface#38.set_sync()
[3249462.918] -> wl_compositor#5.create_surface(new id wl_surface#39)
[3249462.921] -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#40, wl_surface#39, wl_surface#35)
[3249462.925] -> wl_subsurface#40.set_sync()
[3249462.929] -> wl_subsurface#32.destroy()
[3249462.935] -> wl_surface#31.destroy()
[3249462.940] -> wl_subsurface#30.destroy()
[3249462.942] -> wl_surface#29.destroy()
[3249462.945] -> wl_subsurface#28.destroy()
[3249462.948] -> wl_surface#27.destroy()
[3249462.951] -> wl_subsurface#38.destroy()
[3249462.954] -> wl_surface#37.destroy()
[3249462.957] -> wl_subsurface#40.destroy()
[3249462.959] -> wl_surface#39.destroy()
[3249462.964] -> xdg_toplevel#33.set_min_size(32, 32)
[3249462.968] -> xdg_surface#36.set_window_geometry(0, 0, 820, 557)
[3249462.980] -> wl_surface#35.commit()
[3249493.986] {mesa egl display queue} -> wl_display#1.get_registry(new id wl_registry#41)
[3249494.028] {mesa egl display queue} -> wl_display#1.sync(new id wl_callback#42)
[3249494.066] discarded [unknown]#31.[event 2](0 fd, 12 byte)
[3249494.071] discarded [unknown]#29.[event 2](0 fd, 12 byte)
[3249494.072] discarded [unknown]#27.[event 2](0 fd, 12 byte)
[3249494.074] discarded [unknown]#37.[event 2](0 fd, 12 byte)
[3249494.076] discarded [unknown]#39.[event 2](0 fd, 12 byte)
[3249494.086] {Display Queue} wl_display#1.delete_id(32)
[3249494.093] {Display Queue} wl_display#1.delete_id(31)
[3249494.096] {Display Queue} wl_display#1.delete_id(30)
[3249494.099] {Display Queue} wl_display#1.delete_id(29)
[3249494.102] {Display Queue} wl_display#1.delete_id(28)
[3249494.104] {Display Queue} wl_display#1.delete_id(27)
[3249494.107] {Display Queue} wl_display#1.delete_id(38)
[3249494.110] {Display Queue} wl_display#1.delete_id(37)
[3249494.112] {Display Queue} wl_display#1.delete_id(40)
[3249494.114] {Display Queue} wl_display#1.delete_id(39)
[3249494.246] {Display Queue} wl_display#1.delete_id(42)
[3249494.255] {mesa egl display queue} wl_registry#41.global(1, "wl_compositor", 6)
[3249494.260] {mesa egl display queue} wl_registry#41.global(2, "wl_shm", 2)
[3249494.263] {mesa egl display queue} wl_registry#41.global(3, "wl_output", 4)
[3249494.266] {mesa egl display queue} wl_registry#41.global(4, "zxdg_output_manager_v1", 3)
[3249494.269] {mesa egl display queue} wl_registry#41.global(5, "wl_data_device_manager", 3)
[3249494.272] {mesa egl display queue} wl_registry#41.global(6, "xdg_toplevel_drag_manager_v1", 1)
[3249494.275] {mesa egl display queue} wl_registry#41.global(7, "zwp_primary_selection_device_manager_v1", 1)
[3249494.277] {mesa egl display queue} wl_registry#41.global(8, "wl_subcompositor", 1)
[3249494.280] {mesa egl display queue} wl_registry#41.global(9, "xdg_wm_base", 6)
[3249494.283] {mesa egl display queue} wl_registry#41.global(10, "gtk_shell1", 6)
[3249494.286] {mesa egl display queue} wl_registry#41.global(11, "wp_viewporter", 1)
[3249494.289] {mesa egl display queue} wl_registry#41.global(12, "wp_fractional_scale_manager_v1", 1)
[3249494.292] {mesa egl display queue} wl_registry#41.global(13, "zwp_pointer_gestures_v1", 3)
[3249494.295] {mesa egl display queue} wl_registry#41.global(14, "zwp_tablet_manager_v2", 1)
[3249494.298] {mesa egl display queue} wl_registry#41.global(15, "wl_seat", 8)
[3249494.301] {mesa egl display queue} wl_registry#41.global(16, "zwp_relative_pointer_manager_v1", 1)
[3249494.304] {mesa egl display queue} wl_registry#41.global(17, "zwp_pointer_constraints_v1", 1)
[3249494.307] {mesa egl display queue} wl_registry#41.global(18, "zxdg_exporter_v2", 1)
[3249494.310] {mesa egl display queue} wl_registry#41.global(19, "zxdg_importer_v2", 1)
[3249494.313] {mesa egl display queue} wl_registry#41.global(20, "zxdg_exporter_v1", 1)
[3249494.316] {mesa egl display queue} wl_registry#41.global(21, "zxdg_importer_v1", 1)
[3249494.319] {mesa egl display queue} wl_registry#41.global(22, "zwp_linux_dmabuf_v1", 5)
[3249494.323] {mesa egl display queue} -> wl_registry#41.bind(22, "zwp_linux_dmabuf_v1", 4, new id [unknown]#39)
[3249494.327] {mesa egl display queue} wl_registry#41.global(23, "wp_single_pixel_buffer_manager_v1", 1)
[3249494.330] {mesa egl display queue} wl_registry#41.global(24, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[3249494.333] {mesa egl display queue} wl_registry#41.global(25, "zwp_text_input_manager_v3", 1)
[3249494.336] {mesa egl display queue} wl_registry#41.global(26, "wp_presentation", 2)
[3249494.340] {mesa egl display queue} -> wl_registry#41.bind(26, "wp_presentation", 1, new id [unknown]#40)
[3249494.344] {mesa egl display queue} wl_registry#41.global(27, "xdg_activation_v1", 1)
[3249494.347] {mesa egl display queue} wl_registry#41.global(28, "zwp_idle_inhibit_manager_v1", 1)
[3249494.350] {mesa egl display queue} wl_registry#41.global(29, "wp_linux_drm_syncobj_manager_v1", 1)
[3249494.353] {mesa egl display queue} wl_registry#41.global(30, "xdg_wm_dialog_v1", 1)
[3249494.365] {mesa egl display queue} wl_registry#41.global(31, "wp_color_manager_v1", 1)
[3249494.368] {mesa egl display queue} wl_registry#41.global(32, "xdg_system_bell_v1", 1)
[3249494.371] {mesa egl display queue} wl_registry#41.global(33, "wp_drm_lease_device_v1", 1)
[3249494.374] {mesa egl display queue} wl_registry#41.global(34, "wp_drm_lease_device_v1", 1)
[3249494.377] {mesa egl display queue} wl_registry#41.global(35, "wp_commit_timing_manager_v1", 1)
[3249494.380] {mesa egl display queue} wl_registry#41.global(36, "wp_fifo_manager_v1", 1)
[3249494.384] {mesa egl display queue} wl_registry#41.global(37, "wp_cursor_shape_manager_v1", 2)
[3249494.387] {mesa egl display queue} wl_callback#42.done(17161)
[3249494.391] {mesa egl display queue} -> zwp_linux_dmabuf_v1#39.get_default_feedback(new id zwp_linux_dmabuf_feedback_v1#42)
[3249494.396] {mesa egl display queue} -> wl_display#1.sync(new id wl_callback#37)
[3249494.490] {Display Queue} wl_display#1.delete_id(37)
[3249494.498] {mesa egl display queue} wp_presentation#40.clock_id(1)
[3249494.500] {mesa egl display queue} zwp_linux_dmabuf_feedback_v1#42.format_table(fd 30, 1360)
[3249494.516] {mesa egl display queue} zwp_linux_dmabuf_feedback_v1#42.main_device(array[8])
[3249494.945] {mesa egl display queue} zwp_linux_dmabuf_feedback_v1#42.tranche_target_device(array[8])
[3249494.959] {mesa egl display queue} zwp_linux_dmabuf_feedback_v1#42.tranche_flags(0)
[3249494.962] {mesa egl display queue} zwp_linux_dmabuf_feedback_v1#42.tranche_formats(array[170])
[3249494.971] {mesa egl display queue} zwp_linux_dmabuf_feedback_v1#42.tranche_done()
[3249494.974] {mesa egl display queue} zwp_linux_dmabuf_feedback_v1#42.done()
[3249494.977] {mesa egl display queue} wl_callback#37.done(17161)
[3249494.981] {mesa egl display queue} -> zwp_linux_dmabuf_feedback_v1#42.destroy()
[3249504.152] {mesa egl surface queue} -> zwp_linux_dmabuf_v1#39.get_surface_feedback(new id zwp_linux_dmabuf_feedback_v1#37, wl_surface#23)
[3249504.210] {mesa egl display queue} -> wl_display#1.sync(new id wl_callback#38)
[3249506.803] {Display Queue} wl_display#1.delete_id(42)
[3249506.833] {Display Queue} wl_display#1.delete_id(38)
[3249506.837] {mesa egl display queue} wl_callback#38.done(17161)
[3249509.641] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#37.format_table(fd 34, 1360)
[3249509.686] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#37.main_device(array[8])
[3249509.692] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#37.tranche_target_device(array[8])
[3249509.695] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#37.tranche_flags(0)
[3249509.699] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#37.tranche_formats(array[170])
[3249509.705] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#37.tranche_done()
[3249509.710] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#37.done()
[3249514.389] wl_surface#35.preferred_buffer_scale(2)
[3249514.427] xdg_toplevel#33.configure_bounds(1920, 1048)
[3249514.433] xdg_toplevel#33.wm_capabilities(array[16])
[3249514.437] xdg_toplevel#33.configure(0, 0, array[0])
[3249514.440] xdg_surface#36.configure(624)
[3249514.461] -> xdg_surface#36.ack_configure(624)
[3249527.788] -> wl_surface#23.frame(new id wl_callback#38)
[3249532.207] {mesa egl surface queue} -> wl_surface#23.frame(new id wl_callback#42)
[3249532.251] {mesa egl display queue} -> zwp_linux_dmabuf_v1#39.create_params(new id zwp_linux_buffer_params_v1#27)
[3249532.278] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#27.add(fd 35, 0, 0, 3584, 16777216, 8)
[3249532.287] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#27.add(fd 36, 1, 2064384, 448, 16777216, 8)
[3249532.293] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#27.add(fd 37, 2, 2072576, 64, 16777216, 8)
[3249532.298] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#27.create_immed(new id wl_buffer#28, 820, 557, 875713089, 0)
[3249532.305] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#27.destroy()
[3249532.319] {mesa egl surface queue} -> wl_surface#23.attach(wl_buffer#28, 0, 0)
[3249532.324] {mesa egl surface queue} -> wl_surface#23.damage_buffer(0, 0, 2147483647, 2147483647)
[3249532.329] {mesa egl surface queue} -> wl_surface#23.commit()
[3249534.400] {mesa egl surface queue} -> zwp_linux_dmabuf_v1#39.get_surface_feedback(new id zwp_linux_dmabuf_feedback_v1#29, wl_surface#35)
[3249534.431] {mesa egl display queue} -> wl_display#1.sync(new id wl_callback#30)
[3249534.768] {Display Queue} wl_display#1.delete_id(27)
[3249534.785] {Display Queue} wl_display#1.delete_id(30)
[3249534.789] {mesa egl display queue} wl_callback#30.done(17161)
[3249538.883] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#29.format_table(fd 35, 1360)
[3249538.922] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#29.main_device(array[8])
[3249538.929] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#29.tranche_target_device(array[8])
[3249538.932] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#29.tranche_flags(0)
[3249538.935] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#29.tranche_formats(array[170])
[3249538.941] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#29.tranche_done()
[3249538.945] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#29.done()
[3249553.184] {Display Queue} wl_display#1.delete_id(38)
[3249553.243] {Display Queue} wl_display#1.delete_id(42)
[3249553.249] wl_keyboard#15.enter(17163, wl_surface#23, array[0])
[3249553.259] wl_keyboard#15.modifiers(17163, 0, 0, 0, 0)
[3249553.266] wl_data_device#17.data_offer(new id wl_data_offer#4278190080)
[3249553.275] wl_data_offer#4278190080.offer("UTF8_STRING")
[3249553.281] wl_data_offer#4278190080.offer("STRING")
[3249553.284] wl_data_offer#4278190080.offer("TEXT")
[3249553.286] wl_data_offer#4278190080.offer("text/plain;charset=utf-8")
[3249553.289] wl_data_offer#4278190080.offer("text/plain")
[3249553.292] wl_data_offer#4278190080.offer("text/plain")
[3249553.295] wl_data_device#17.selection(wl_data_offer#4278190080)
[3249553.299] zwp_primary_selection_device_v1#18.data_offer(new id zwp_primary_selection_offer_v1#4278190081)
[3249553.306] zwp_primary_selection_offer_v1#4278190081.offer("text/plain")
[3249553.309] zwp_primary_selection_offer_v1#4278190081.offer("text/plain;charset=utf-8")
[3249553.313] zwp_primary_selection_offer_v1#4278190081.offer("STRING")
[3249553.316] zwp_primary_selection_offer_v1#4278190081.offer("text/plain")
[3249553.320] zwp_primary_selection_offer_v1#4278190081.offer("TEXT")
[3249553.322] zwp_primary_selection_offer_v1#4278190081.offer("COMPOUND_TEXT")
[3249553.325] zwp_primary_selection_offer_v1#4278190081.offer("UTF8_STRING")
[3249553.329] zwp_primary_selection_offer_v1#4278190081.offer("text/plain;charset=utf-8")
[3249553.331] zwp_primary_selection_device_v1#18.selection(zwp_primary_selection_offer_v1#4278190081)
[3249553.334] zwp_text_input_v3#16.enter(wl_surface#23)
[3249553.340] xdg_toplevel#25.configure_bounds(1920, 1048)
[3249553.345] xdg_toplevel#25.configure(820, 557, array[4])
[3249553.351] xdg_surface#24.configure(626)
[3249553.355] wl_surface#23.enter(wl_output#7)
[3249553.361] wl_callback#38.done(3153952)
[3249553.395] -> wl_surface#35.frame(new id wl_callback#38)
[3249567.472] {mesa egl surface queue} -> wl_surface#35.frame(new id wl_callback#30)
[3249567.561] {mesa egl display queue} -> zwp_linux_dmabuf_v1#39.create_params(new id zwp_linux_buffer_params_v1#27)
[3249567.599] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#27.add(fd 36, 0, 0, 3584, 16777216, 8)
[3249567.608] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#27.add(fd 37, 1, 2064384, 448, 16777216, 8)
[3249567.613] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#27.add(fd 38, 2, 2072576, 64, 16777216, 8)
[3249567.617] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#27.create_immed(new id wl_buffer#31, 820, 557, 875713089, 0)
[3249567.622] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#27.destroy()
[3249567.629] {mesa egl surface queue} -> wl_surface#35.attach(wl_buffer#31, 0, 0)
[3249567.649] {mesa egl surface queue} -> wl_surface#35.damage_buffer(0, 0, 2147483647, 2147483647)
[3249567.654] {mesa egl surface queue} -> wl_surface#35.commit()
[3249567.727] -> zwp_text_input_v3#16.enable()
[3249567.733] -> zwp_text_input_v3#16.commit()
[3249568.320] -> xdg_surface#24.ack_configure(626)
[3249568.488] -> xdg_toplevel#25.set_title("fish")
[3249568.513] -> xdg_surface#24.set_window_geometry(0, 0, 820, 557)
16:55:55.174 ERROR mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
[3249624.543] {mesa egl surface queue} wl_callback#42.done(3153952)
[3249628.668] -> wl_shm_pool#4.resize(64)
[3249628.728] -> wl_shm_pool#4.create_buffer(new id wl_buffer#42, 0, 2, 2, 8, 0)
[3249628.745] -> wl_surface#23.attach(wl_buffer#42, 0, 0)
[3249628.751] -> wl_surface#23.set_buffer_scale(2)
[3249628.755] -> wl_surface#23.commit()
[3249628.760] -> wl_buffer#42.destroy()
[3249628.806] {Display Queue} wl_display#1.delete_id(27)
[3249628.817] {Display Queue} wl_display#1.delete_id(38)
[3249628.820] {Display Queue} wl_display#1.delete_id(30)
[3249628.822] zwp_text_input_v3#16.done(1)
[3249628.826] wl_keyboard#15.leave(17164, wl_surface#23)
[3249628.831] wl_keyboard#15.enter(17165, wl_surface#35, array[0])
[3249628.835] wl_keyboard#15.modifiers(17165, 0, 0, 0, 0)
[3249628.838] zwp_text_input_v3#16.leave(wl_surface#23)
[3249628.841] zwp_text_input_v3#16.enter(wl_surface#35)
[3249628.843] xdg_toplevel#25.configure_bounds(1920, 1048)
[3249628.847] xdg_toplevel#25.configure(820, 557, array[0])
[3249628.850] xdg_surface#24.configure(627)
[3249628.854] xdg_toplevel#33.configure_bounds(1920, 1048)
[3249628.857] xdg_toplevel#33.configure(820, 557, array[4])
[3249628.860] xdg_surface#36.configure(628)
[3249628.862] wl_surface#35.enter(wl_output#7)
[3249628.866] wl_pointer#20.enter(17167, wl_surface#23, 602.34375000, 313.14843750)
[3249628.869] wl_pointer#20.frame()
[3249628.872] wl_callback#38.done(3153982)
[3249628.886] -> wl_surface#23.frame(new id wl_callback#38)
[3249629.018] -> zwp_text_input_v3#16.disable()
[3249629.022] -> zwp_text_input_v3#16.commit()
[3249629.126] -> zwp_text_input_v3#16.enable()
[3249629.130] -> zwp_text_input_v3#16.commit()
[3249629.248] -> xdg_surface#24.ack_configure(627)
[3249629.255] -> xdg_surface#36.ack_configure(628)
[3249629.318] discarded [unknown]#42.[event 0](0 fd, 8 byte)
[3249629.323] {Display Queue} wl_display#1.delete_id(42)
[3249629.349] -> xdg_surface#24.set_window_geometry(0, 0, 779, 545)
[3249630.959] {mesa egl display queue} -> zwp_linux_dmabuf_v1#39.create_params(new id zwp_linux_buffer_params_v1#42)
[3249631.011] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#42.add(fd 35, 0, 0, 3584, 16777216, 8)
[3249631.021] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#42.add(fd 36, 1, 2064384, 448, 16777216, 8)
[3249631.027] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#42.add(fd 37, 2, 2072576, 64, 16777216, 8)
[3249631.031] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#42.create_immed(new id wl_buffer#27, 820, 557, 875713089, 0)
[3249631.036] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#42.destroy()
[3249631.041] {mesa egl surface queue} -> wl_surface#23.attach(wl_buffer#27, 0, 0)
[3249631.045] {mesa egl surface queue} -> wl_surface#23.damage_buffer(0, 0, 2147483647, 2147483647)
[3249631.050] {mesa egl surface queue} -> wl_surface#23.commit()
[3249631.054] {mesa egl surface queue} -> wl_display#1.sync(new id wl_callback#32)
[3249631.097] zwp_text_input_v3#16.done(3)
[3249631.378] -> xdg_toplevel#33.set_title("wezterm Configuration Error")
[3249631.423] -> xdg_surface#36.set_window_geometry(0, 0, 820, 557)
16:55:55.239 ERROR mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
[3249689.212] {mesa egl surface queue} wl_callback#30.done(3153982)
[3249693.051] -> wl_shm_pool#4.create_buffer(new id wl_buffer#30, 0, 2, 2, 8, 0)
[3249693.131] -> wl_surface#35.attach(wl_buffer#30, 0, 0)
[3249693.139] -> wl_surface#35.set_buffer_scale(2)
[3249693.143] -> wl_surface#35.commit()
[3249693.148] -> wl_buffer#30.destroy()
Io error: Broken pipe (os error 32)
[3249693.861] {mesa egl surface queue} wl_buffer#28.release()
[3249693.906] {mesa egl surface queue} -> wl_buffer#28.destroy()
[3249697.978] -> xdg_toplevel#25.destroy()
[3249698.067] -> xdg_surface#24.destroy()
[3249698.085] -> wl_surface#23.destroy()
[3249698.097] -> wl_shm_pool#26.destroy()
[3249698.302] {mesa egl surface queue} -> wl_buffer#27.destroy()
[3249698.314] {mesa egl surface queue} -> zwp_linux_dmabuf_feedback_v1#37.destroy()
[3249699.698] -> xdg_toplevel#33.destroy()
[3249699.744] -> xdg_surface#36.destroy()
[3249699.754] -> wl_surface#35.destroy()
[3249699.759] -> wl_shm_pool#34.destroy()
[3249699.836] {mesa egl surface queue} -> wl_buffer#31.destroy()
[3249699.844] {mesa egl surface queue} -> zwp_linux_dmabuf_feedback_v1#29.destroy()
16:55:55.313 ERROR wezterm_gui > running message loop: Io error: Broken pipe (os error 32); terminating
[3249712.666] {mesa egl display queue} -> wp_presentation#40.destroy()
[3249713.948] {mesa egl display queue} -> zwp_linux_dmabuf_v1#39.destroy()
Configuration
return {
font = require("wezterm").font_with_fallback({
"lkajsglkj",
"Adwaita Mono",
}),
}
Expected Behavior
It doesn't crash.
Logs
(See above.)
Anything else?
No response
I am getting the same error, under similar conditions, except that there are no font problems, and not on startup but rather
OS
Fedora 43 (stock Gnome)
Wezterm version
- wezterm 20251111_071056_118802c2
To reproduce
Choose scaling != 100% in Gnome settings, start wezterm, press "Shift-Control-n", observe crash with message
> wezterm
wl_surface#28: error 2: Buffer size (820x583) must be an integer multiple of the buffer_scale (3).
Protocol error 2 on object wl_surface@28:
13:24:29.034 ERROR wezterm_gui > running message loop: Protocol error 2 on object wl_surface@28: ; terminating