Bug 472471 - [Wayland] Screen sharing breaks on Teams after a few minutes
Summary: [Wayland] Screen sharing breaks on Teams after a few minutes
Status: RESOLVED DOWNSTREAM
Alias: None
Product: kde
Classification: I don't know
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-07-21 16:43 UTC by Andrea Ippolito
Modified: 2023-08-04 19:38 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrea Ippolito 2023-07-21 16:43:04 UTC
SUMMARY
Only on Wayland (doesn't happen on X11), when I start a screen or window share session via Teams for linux, the "canvas" of the shared content freezes at some point, and is not refreshed anymore.
The mouse cursor though keeps being transmitted to the other person in the call/meeting, making things very confusing, as they see my cursor moving over a canvas which is NOT the one I am seeing at that moment (for example, they may be seeing an app I'm no longer in, or a browser tab I've previously visited before moving to another one).

I haven't seen any recovery from this. Once the issue happens, it stays like that for the rest of the call, until someone tells you, then you can unshare and share again (until it happens again a few minutes later).


STEPS TO REPRODUCE
1. Setup a teams meeting between two accounts of yours (the other one can be anything, not necessarily Microsoft - you will be able to join with a meeting ID + PIN)
2. start the meeting from a Wayland KDE session using the teams for linux app (flatpak) or the official (CRAPPY!) progressive web app provided by MS (i.e. teams.microsoft.com). Bear in mind that you have to use chromium or edge for best results (yeah I know, don't even get me started)
3. join the meeting with any device of your liking, this is to simulate the "passive" guest of the meeting, that has to see what the active/presenter has to share. Mobile device is fine as well (e.g. Teams for Android)
4. once both parties have joined, share your screen or a window from KDE Wayland
5. check on the receiving device that you see the screen being shared, and keep an eye on it as you switch apps/tabs on the presenter device

OBSERVED RESULT
Eventually, the receiver device will see the mouse cursor moving over a canvas/window which is NOT the one you are on in the presenter device. Unsharing and re-sharing on the presenter device is the only (ephemeral) workaround for this, short of killing the call entirely.

EXPECTED RESULT
The receiver device should keep seeing the presenter mouse cursor movements AND the canvas/window over which it is moving

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20230718
KDE Plasma Version: 5.27.6
KDE Frameworks Version: 5.108.0
Qt Version: 5.15.10
Kernel Version: 6.4.3-1-default (64-bit)
Graphics Platform: X11 (or Wayland)
Processors: 8 × 11th Gen Intel® Core™ i7-1165G7 @ 2.80GHz
Memory: 15.3 GiB of RAM
Graphics Processor: Mesa Intel® Xe Graphics
Manufacturer: Dell Inc.
Product Name: XPS 13 9305

ADDITIONAL INFORMATION
I suspect this is related to kwin/wayland. I use pipewire on my setup, but if the problem came from there, I think the display manager should not play any role. Whereas X11 works fine.

Please let me know if I can attach any logs.

I have written this whole bug report during a call on Teams with myself (microsoft to gmail account), with screen sharing enabled from the Teams for Linux app running in an X11 session. Took me 10-15' to write all this, and the receiving device is still seeing exactly the same contents as the presenter device. Under Wayland the canvas would have frozen long ago.

I'm trying to get rid of my employer-provided MacBook Pro in favor of Linux/KDE, but this is a bit of a bummer. Will revert to X11 meanwhile.

Thanks! :)
Comment 1 Andrea Ippolito 2023-07-26 09:38:09 UTC
This is also reproducible on a Fedora live gnome session (with Wayland).
Could you guys be so kind to report it upstream to the Wayland project, or let me know how to do it?

Thanks
Comment 2 Nate Graham 2023-08-04 19:38:24 UTC
Believe it or not, there actually *is* no upstream Wayland project; Wayland is simply a protocol that window managers and apps implement. This means that if both KDE's KWin and GNOME's Mutter window managers exhibit the same bug, then there are only two options:
1. Both compositors have exactly the same bug
2. The app has a bug

It might seem like there's a third option of "the Wayland protocol itself is incorrect" but there is no such thing as an incorrect protocol, only a protocol that support has been implemented for incorrectly. So, that would again point us in the direction of 1 or 2.

The first seems very unlikely, so my best guess is that this is actually an issue in MS Teams itself. Given that you or yout employer presumably paid for this software from Microsoft, you're entitled to support from them. I'd recommend you contact them about it.