wezterm icon indicating copy to clipboard operation
wezterm copied to clipboard

random artifacts when using opengl with intel iris xe graphics on windows

Open andysbolton opened this issue 1 year ago • 6 comments

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

Windows

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

No response

WezTerm version

20240203-110809-5046fc22

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

No, and I'll explain why below

Describe the bug

When WezTerm is in a small window, I see a lot of flickering, particularly when typing, clicking, and resizing. I haven't tested this on nightly, but it is happening on the current and two previous stable releases. This issue doesn't seem to happen at all when the window is docked or maximized.

wezterm

To Reproduce

Unfortunately, I'm not sure of the best way to reproduce this. I haven't seen it happen on my previous computer, only on a new Lenovo ThinkPad.

winfetch

Configuration

No config

Expected Behavior

No response

Logs

No logs were outputted during the flickering.

Anything else?

No response

andysbolton avatar Feb 10 '24 20:02 andysbolton

Could you please retest on nightly?

Disclaimer: I know nothing about windows and stumbled over this issue by accident.

This looks like a TTY issue to me. Do you use any OSC escape sequences by any chance?
If so try disabling them by setting WEZTERM_SHELL_SKIP_ALL=1.

Maybe related to https://github.com/microsoft/terminal/issues/12336.

vvvvv avatar Feb 11 '24 09:02 vvvvv

I was having trouble testing nightly because of org security settings but was able to get it working via Scoop, unfortunately the issue seems to persist: wezterm2

I'm not using any OSC escape sequences at the moment, and FWIW setting WEZTERM_SHELL_SKIP_ALL=1 doesn't seem to have an effect.

andysbolton avatar Feb 11 '24 14:02 andysbolton

Those artifacts look like junk data in a texture that is mapped into the GPU I've never seen that happen in wezterm before, so I'm suspicious of this being related to the OpenGL or other graphics drivers on that system. Perhaps a buffer is being presented before it is ready? Or perhaps there is some kind of (honestly very scary!) memory corruption issue?

I'd suggest looking at changing the front_end and see if things improve: https://wezfurlong.org/wezterm/config/lua/config/front_end.html

You can see which is in use by pressing CTRL-SHIFT-L to get into the debug overlay (please share that before you make any config changes).

If you're on OpenGL try switching to webgpu. If you're on webpu try switching to OpenGL, and/or experimenting with other webgpu adapater choices: https://wezfurlong.org/wezterm/config/lua/config/webgpu_preferred_adapter.html

wez avatar Feb 11 '24 16:02 wez

Thank you @wez, setting it to WebGpu resolves it, will leave it on that. webgpu FYI with no config or explicitly set to OpenGL or Software it looks like the artifacts appear, here it is with no config: default

andysbolton avatar Feb 11 '24 17:02 andysbolton

I'm leaning towards calling this a bug in the intel iris/xe opengl implementation on that system

wez avatar Feb 11 '24 18:02 wez

Adding this to confirm it's not an isolated case.

I also experienced a similar issue in Windows 11. I have a Intel(R) Iris(R) Xe Graphics (8086:A7A1) iGPU, and config.front_end was also set to OpenGL.

Since changing to WebGpu, my issue is also resolved. Thanks wez!

danct9a avatar Feb 15 '24 23:02 danct9a