NVIDIA / egl-wayland

The EGLStream-based Wayland external platform
MIT License
293 stars 47 forks source link

Zoom crashing on Wayland #63

Closed oranmehavi closed 2 years ago

oranmehavi commented 2 years ago

Hello,

I am hitting an issue regarding Zoom crashing when running on Wayland (using QT_QPA_PLATFORM=wayland because Xwayland just shows a blank window), it seems the issue is happening when a window is closed as you can see in the video. I had a similar issue with OBS which was fixed by https://github.com/NVIDIA/egl-wayland/commit/aaf860870ae92ae9a4cb32e458f06ca3f466d288

https://user-images.githubusercontent.com/41841264/181827086-c4e8f204-a04b-41bf-a7bf-a61599b73656.mp4

I am also attaching the nvidia-bug-report log that was created with egl-wayland built with this https://github.com/NVIDIA/egl-wayland/commit/aaf860870ae92ae9a4cb32e458f06ca3f466d288

nvidia-bug-report.log.gz

My specs: CPU: Ryzen 5 2600 GPU: 1070Ti with driver version 515.57 OS: Fedora 36

Edit: I have tried running Zoom on my laptop. With running on the iGPU (intel HD 530) the app works fine but when running it on the NV gpu (GTX 960M with the same driver version) the app shows the same behavior like in the video.

erik-kz commented 2 years ago

Alright, it seems that Zoom ships their own copies of the Qt libraries version 5.12.10. The freeze you're observing is due to a bug in Qt, which was fixed by https://code.qt.io/cgit/qt/qtwayland.git/commit/?id=4bd13402f0293e85b8dfdf92254e250ac28094c7 but it doesn't look like that was back-ported to the 5.12 branch.

I was going to suggest using X11 / Xwayland as a work-around, but unfortunately that doesn't appear to work either. That is because Zoom uses QtWebEngine, which is based on Chromium. Chromium also had a bug which prevented it from working with our drivers with Xwayland. That bug was fixed by https://chromium.googlesource.com/chromium/src/+/8e4102b24c2a4db4269f92e07536666034be0687 but that fix was merged in 2021, thus the version of QtWebEngine Zoom ships presumably wouldn't include it.

So sadly there's not a whole lot we can do here. If Zoom wants their client to work with our drivers on Wayland they would need to use a more recent version of Qt.

oranmehavi commented 2 years ago

Thanks for the response.

So in both cases (Xwayland and Wayland) it should be working correctly with egl-wayland + driver but it is up to Zoom to add those fixes to their client?

erik-kz commented 2 years ago

Correct, that's why this issue is specific to Zoom and doesn't affect other Qt applications. I guess the only option in the meantime would be to use the browser interface.

oranmehavi commented 2 years ago

Thanks, I think I will close the issue (hopefully for good) because it is indeed specific to Zoom.