New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AMD iGPU + WebGpu + Wayland renders only when mouse move over the window #3126
Comments
Please share the the |
|
I'm seeing the same, even when the debug overlay says its using WebGPU+Vulkan:
I'm on NixOS, but I've patched the wezterm derivation to include vulkan-loader and I don't see any obvious errors. |
Can confirm here as well. |
No; sounds like a driver+wayland issue? I rarely have time to troubleshoot wayland (X11 just works so much better in many ways). |
Hi @wez, I try the latest tip build every week or two. I've also done some work on OpenGL/Vulkan NixOS stuffs so I have a rough idea about some parts at least.I'm willing to sink a bit of time into debugging it. Can you give me some hints on what I can track down? |
There are two possible paths to follow:
For the former, it's possible that wezterm is not invalidating/paintain in all the right places, depending on the wayland compositor that is in use. I would suggest trying a couple of different compositors from different families to see if things work better. It can be useful to set WAYLAND_DEBUG=1 in the environment when starting wezterm to see what is happening with the wayland protocol to see how the behavior differs and see if anything leaps out. I don't have a ton of wisdom to share on this. For the latter: not super sure how to proceed; An obvious thing would be to try connecting a different GPU and see if that works better. Another option would be to reach out to the folks that maintain the AMD drivers and see what they have to suggest for troubleshooting. It's important to note that wezterm doesn't change its behavior based on the driver; the only differences in wezterm are whether you are using EGL directly, or are using the WebGPU layer. Below that point, the actual heavy lifting is done by the drivers installed on the system. |
@Guara92 Is your issue same as
If so, it'd be nice to update the issue accordingly. |
@wez I think this issue is GNOME specific since it happens on Intel cards as well. Any idea where could this be fixable from the code? |
This is happening for me in sway(wlroots) and COSMIC(smithay), and on both AMD and Intel GPUs, so not GNOME-specific
|
A few other cases with the same symptoms. Common elements seem to be Wayland and webgpu. The following is with a polaris10 GPU using amdvlk under Gnome Wayland, sway, or hyprland.
Same issue with nvidia GTX970 using proprietary drivers (sway run with
|
Confirming the issue for NVIDIA RTX 3080 in GNOME 44.0 on openSUSE Tumbleweed 20230405:
|
Okay, I finally took a look at the source code I instrumented this
But, I short-circuited it so that it always sets After some more instrumentation, I think the problem is that this part of I removed the check at the top of |
With direction from @wez , this seems to have fixed it, at least for me under sway(wlroots): But, I'm not sure if this breaks anything else, and I'm not sure if doing this is a no-no according to the wayland specification, etc
The long-term fix might not look like this at all, too |
Okay, with more direction, and without bypassing those frame checks, trying wayland with the different wezterm/wezterm-gui/src/termwindow/webgpu.rs Line 323 in 56ae2fe
|
Okay, new patch up: jokeyrhyme@2574933 I tried both with WebGPU and without, focused and not focused, switching to different workspaces and back, seems like the suggested patch has fixed it |
For whatever reason, it appears as though the wayland frame event stuff is unreliable when used with webgpu, so we simply avoid using it. refs: #3126
I've raised a PR: #3467 |
Haha, I'll drop the PR :P |
Thanks for working through this @jokeyrhyme ! |
This should be resolved now in It typically takes about an hour before commits are available as nightly builds for all platforms. Linux builds are the fastest to build and are often available within about 20 minutes. Windows and macOS builds take a bit longer. Please take a few moments to try out the fix and let me know how that works out. You can find the nightly downloads for your system in the wezterm installation docs. If you prefer to use packages provided by your distribution or package manager of choice and don't want to replace that with a nightly download, keep in mind that you can download portable packages (eg: a If you are eager and can build from source then you may be able to try this out more quickly. |
This does fix the issue, thanks! I think that needs its own issue though |
Thanks, fixed for me too! |
Wezterm has finally taken its throne as my daily driver under Sway with webgpu! Thanks @wez and @jokeyrhyme! |
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further. |
What Operating System(s) are you seeing this problem on?
Linux Wayland
Which Wayland compositor or X11 Window manager(s) are you using?
Mutter
WezTerm version
wezterm 20230217-120342-3b39aa55
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
I'm trying the
WebGpu
front end and is unusable on my system with wayland enabled, with wayland disabled runs really smooth.To Reproduce
No response
Configuration
Expected Behavior
No response
Logs
No response
Anything else?
No response
The text was updated successfully, but these errors were encountered: