wez / wezterm

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

WebGPU not working on latest MESA v24.1.5 #5915

Open ashleysommer opened 1 month ago

ashleysommer commented 1 month ago

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

Linux Wayland

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

Plasma 6.1 on Wayland

WezTerm version

nightly 20240730

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

After updating MESA drivers from v24.1.3 to v24.1.5 wezterm WebGpu driver no longer works.

Now attempting to launch wezterm with WebGPU driver results in error: "running message loop: Io error: Broken pipe (os error 32)"

To Reproduce

I ran a system update this morning, the only packages that updated were MESA, it was on v24.1.3 and new version is v24.1.5. After rebooting my PC, attempting to open "wezterm" gives the error above. Switching from WebGpu to OpenGL in the config resolves the error.

Configuration

local wezterm = require 'wezterm'  
local config = {}

-- Use this default_prog because wezterm likes to use a login shell by default.
config.default_prog = { '/usr/bin/zsh' }

config.front_end = "WebGpu"

config.enable_wayland = true
config.font = wezterm.font 'FantasqueSansM Nerd Font'
config.font_size = 14
config.color_scheme = 'Monokai Dark (Gogh)'
config.bold_brightens_ansi_colors = "BrightOnly"
config.use_fancy_tab_bar = false
config.hide_tab_bar_if_only_one_tab = false

config.enable_scroll_bar = true

config.inactive_pane_hsb = {
  saturation = 0.9,
  brightness = 0.8,
}
config.window_background_opacity = 0.82
config.window_decorations = "INTEGRATED_BUTTONS|RESIZE"

return config

Expected Behavior

No response

Logs

> cat /run/user/558965/wezterm/wezterm-gui-log-37201.txt

18:40:12.448 ERROR wezterm_gui > running message loop: Io error: Broken pipe (os error 32); terminating

Anything else?

No response

ashleysommer commented 1 month ago

Update: I tried with enable_wayland=false and WebGpu works. So this is an issue with WebGPU on Wayland, which was working great before the MESA update.

Also note, this is not related to issue #5790 because I see the same results whether I enable or disable the opacity.

zierf commented 1 month ago

See also WezTerm Issue #5990 as well as NixOS/nixpkgs Issue #336069 and NixOS/nixpkgs Issue #334650.

Also related to WezTerm Issue #3917 and WezTerm Issue #3425