Open Ryushin opened 4 months ago
Thanks for reporting. The following line seems to indicate is something to do with wayland.
[10199:0706/065614.522921:ERROR:object_proxy.cc(576)] Failed to call method: org.freedesktop.ScreenSaver.GetActive: object_path= /org/freedesktop/ScreenSaver: org.freedesktop.DBus.Error.UnknownMethod: Unknown method GetActive or interface org.freedesktop.ScreenSaver
https://askubuntu.com/questions/1510794/chrome-124-hangs-doesnt-attach-to-wayland says using the ozone-platform=wayland
should work, so maybe try that config option.
https://github.com/IsmaelMartinez/teams-for-linux/tree/develop/app/config#electron-cli-flags
Looking at the logs, your config should be under /home/chris/.teams-for-linux_data/giant/config.json
. Add those lines and see if that works (hopefully it does).
If you need to try multiple options, enable the watchConfigFile
that will auto restart the app after each change.
In my case (which may or may not be the same; the symptoms are identical except that it only happens 50-60% of the time) this issue isn't likely to be wayland-related as my desktop environment is wmaker under X11, with wayland not installed.
I do also get that ScreenSaver error line. Explicitly setting ["ozone-platform","x11"]
in the config doesn't stop it, though I'll see if it makes any difference to screen sharing itself working.
Maybe the app is incorrectly thinking is wayland. You should be able to play with the same settings as chrome, that most are supported (I think)
Yea, I'm not running Wayland either but X11 and XFCE4. I'll do some testing with the links that you posted.
I am running the nVidia driver though. Not sure if that would cause a problem or not.
While I'm not on X and am using Wayland, since Devuan is based on Debian I assume it comes with the exact same packages as the current stable (Bookworm).
For Debian 12 stable running Sway on Wayland, I was able to get screensharing working after using a backported version of Pipewire since it seems the version packaged in Bookworm was too old.
Current stable Pipewire: 0.3.65 Backported Pipewire: 1.2.0
sudo apt -t bookworm-backports install --upgrade pipewire
Also compared to screensharing on windows, there doesn't seem to be a preview on what is being shared for the host while on screensharing on Linux. So to avoid wondering why screensharing is seemingly not working, you should send a meeting invite to yourself and open it via a browser to get a guest view of the screen being shared.
Extra notes:
While I'm not on X and am using Wayland, since Devuan is based on Debian I assume it comes with the exact same packages as the current stable (Bookworm).
For Debian 12 stable running Sway on Wayland, I was able to get screensharing working after using a backported version of Pipewire since it seems the version packaged in Bookworm was too old.
Current stable Pipewire: 0.3.65 Backported Pipewire: 1.2.0
sudo apt -t bookworm-backports install --upgrade pipewire
Yea, Devuan pretty much uses 98% of all the Debian packages. Though dbus is modified by the Devuan group:
dpkg -l "*dbus*" | grep ii | grep devuan | awk {'print $2," " , $3'}
dbus 1.14.10-1~deb12u1devuan1
dbus-bin 1.14.10-1~deb12u1devuan1
dbus-daemon 1.14.10-1~deb12u1devuan1
dbus-session-bus-common 1.14.10-1~deb12u1devuan1
dbus-system-bus-common 1.14.10-1~deb12u1devuan1
dbus-x11 1.14.10-1~deb12u1devuan1
libdbus-1-3:amd64 1.14.10-1~deb12u1devuan1
libdbus-1-3:i386 1.14.10-1~deb12u1devuan1
libdbus-1-dev:amd64 1.14.10-1~deb12u1devuan1
Upgrading pipewire didn't seem to fix anything. I have not had time to dig into those two links that IsmaelMartinez posted yet. I'm hoping to work on that today.
I'm on Ubuntu which uses Wayland by default. Teams is running in XWayland on my setup hence this is impossible to share screen, since XWayland windows cannot get the screen of Wayland.
In order for this to work the electron-app has to run in wayland. As already shared by Ismael ozone-platform=wayland
is the way to go. Then further we need https://github.com/flatpak/xdg-desktop-portal that is the standard way on wayland to share the screen.
I have no Idea how to implement this in this repo with snap/flatpak etc.
I was facing the same problem with screen sharing on Ubuntu 22.04.4 with wayland installing this app trough snap. I've uninstalled it and installed with apt repo and now my screen sharing is working.
I have no Idea how to implement this in this repo with snap/flatpak etc.
I'm not sure about Snaps, but Flatpak users can install Flatseal to make Teams run on Wayland.
Specifically, they would need to add ELECTRON_OZONE_PLATFORM_HINT=auto
to the Environment section in Flatseal.
I've attached images showing what Flatseal options I've enabled to force the Flatpak into Wayland mode.
Maybe this info could be added to the wiki/description since some other issues have noted problems with screensharing on the Flatpak version as well.
Also to verify that the Flatpak is running on Wayland, Sway users can add for_window [shell = "xwayland"] title_format "[XWayland] %title"
to their configs. If they have titlebars enabled, apps not running on Wayland will have [XWayland] appended to the title. I'm not sure how you can check this on other DE/WMs though.
Thank you XZ02R! ELECTRON_OZONE_PLATFORM_HINT=auto flatpak run com.github.IsmaelMartinez.teams_for_linux
and I can at leas select windows/screens to share so it seems to work. Have to confirm with a coworker later.
Can't this env be set somewhere by default?
As far as I can tell from the documentation, setting "auto" shouldn't cause a problem for X11, though I doubt it will solve this issue there either (unfortunately I won't be able to test it either way for a few weeks now)
I had some time to test today. Adding option results in a crash. I tried x11 and auto. Running chromium manually doesn't work either "chromium --ozone-platform=auto". Doing some googling it says to try hint, so "chromium --ozone-platform-hint=auto" does open chromium, but =xll does not. It ends up throwing an error about Invalid ozone platform:
chromium --ozone-platform=auto
[18870:18870:0711/111036.489231:FATAL:platform_selection.cc(45)] Invalid ozone platform: auto, use --ozone-platform-hint=auto instead?
Trace/breakpoint trap
Using the hint in the config file
My config.json file:
{
"watchConfigFile":true,
"optInTeamsV2":true,
"useMutationTitleLogic":true,
"spellCheckerLanguages":"en",
"electronCLIFlags": [ ["ozone-platform-hint","auto"],
"disable-software-rasterizer"
]
}
Web Debug:
/opt/teams-for-linux/teams-for-linux --appTitle "Teams - Giant" --customUserDir="/home/chris/.teams-for-linux_data/giant" --WebDebug --appLogLevels=error,info,warn,debug
[DEBUG] configPath:,/home/chris/.teams-for-linux_data/giant
[DEBUG] configFile:,[object Object]
[DEBUG] Adding electron CLI flag 'ozone-platform-hint' with value 'auto'
[DEBUG] Adding electron CLI flag 'disable-software-rasterizer'
[DEBUG] Custom background service url is 'http://localhost'
[DEBUG] processArgs:,/opt/teams-for-linux/teams-for-linux,--appTitle,Teams - Giant,--customUserDir=/home/chris/.teams-for-linux_data/giant,--WebDebug,--appLogLevels=error,info,warn,debug
[DEBUG] testing RegExp processArgs false
[DEBUG] testing RegExp processArgs false
[DEBUG] testing RegExp processArgs false
[DEBUG] testing RegExp processArgs false
[DEBUG] testing RegExp processArgs false
[DEBUG] testing RegExp processArgs false
[DEBUG] Testing network using net.request() for https://teams.microsoft.com/
[DEBUG] Language codes en set for spellchecker
[DEBUG] Network test successful with method https
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 1s, IdleState: 'active'
[14921:0711/110455.073316:ERROR:object_proxy.cc(576)] Failed to call method: org.freedesktop.ScreenSaver.GetActive: object_path= /org/freedesktop/ScreenSaver: org.freedesktop.DBus.Error.UnknownMethod: Unknown method GetActive or interface org.freedesktop.ScreenSaver.
[DEBUG] did-frame-finish-load,[object Object],true
[DEBUG] did-finish-load
[DEBUG] Badge count set to '0'
[DEBUG] Badge count set to '0'
[DEBUG] Badge count set to '0'
[DEBUG] did-frame-finish-load,[object Object],false
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] Badge count set to '0'
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[14921:0711/110538.110513:ERROR:window_list_utils.cc(142)] Failed to query for child windows for screen 0
[14921:0711/110538.145814:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[14921:0711/110538.206134:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[14921:0711/110538.259468:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[14921:0711/110538.419846:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[14921:0711/110538.459572:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[14921:0711/110538.726321:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[14921:0711/110538.877944:ERROR:window_list_utils.cc(142)] Failed to query for child windows for screen 0
[14921:0711/110539.025671:ERROR:window_list_utils.cc(142)] Failed to query for child windows for screen 0
[14921:0711/110539.126180:ERROR:window_list_utils.cc(142)] Failed to query for child windows for screen 0
[14921:0711/110539.210188:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[14921:0711/110540.084454:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
^C[DEBUG] before-quit
[DEBUG] window close
[DEBUG] window closed
[DEBUG] will-quit
[DEBUG] quit
When I clicked to share my screen, the "Failed to query for child windows for screen 0" occurred.
So not sure what the problem is. Could be the whole proprietary nVidia driver.
@Ryushin It's hard to judge what's wrong on your side. From a higher level I would check the following:
xeyes
If xeyes can see the cursor in teams it means it runs in x11Getting it to run with wayland and having the portal thing installed in my experience it should just work.
I am starting to think this is many issues group together... I can try to merge the wayland fix soon (probably not today) and see if that helps but I suspect the problem is more on the auto detect if it is wayland or x11. If that is the case, it might be better warning the user to use the appropriate config (and for us to find that) instead of trying to hardcode it.
I don't have experience in x11/wayland and xwayland and can't test the different (stuck on a mac), so I will see if I can get an old laptop configured and can test this in linux.
@Ryushin It's hard to judge what's wrong on your side. From a higher level I would check the following:
1. Which windowing system you are running wayland/x11 2. If you're running wayland (which I believe since you have bookworm based system) -> You have to get teams-for-linux running also in wayland. I usually check with the x11-apps program `xeyes` If xeyes can see the cursor in teams it means it runs in x11 3. Somewhere xdg-desktop-portal needs to be installed for your desktop system (gnome, kde, sway etc.). Otherwise it won't work too
Getting it to run with wayland and having the portal thing installed in my experience it should just work.
I'm still using X11. Still rocking my original Debian Potato install and apt-get dist-upgrade all these years and switched to Devuan when Jessie was out and the whole system init thing happened in Debian.
xdg-desktop-portal is installed.
@IsmaelMartinez is probably right, there is probably multiple problems here.
My comment isn't directed at teams-for-linux
but at the underlying OS ecosystem.
I joined a meeting with both Chromium and Firefox but was unable to share my screen. The option to show "tab, window, desktop" shows up and I click share but then nothing happens. On Firefox it even shows the "stop sharing" but nothing is actually shared. This was in Debian with X11 and XFCE
My comment is just a suggestion for other people to check if they can share their screen with the browser. Maybe that can help in figuring out the root cause.
For a while now, I have a similar problem with Arch Linux and Hyprland (wayland). When I try screen sharing there pops up a prompt to select the shared window. After choosing it, the window closes, but nothing is shared. I also tried using flags like ozone-platform=wayland
from this AUR package: https://aur.archlinux.org/packages/teams-for-linux-wayland-hook, but nothing changed. I also did the xdg-desktop-portal
configuration.
However, it does work if I'm using the Teams web app with Chromium!
The debug log: (at the end there are related ERROR messages)
[DEBUG] configFile:,[object Object]
[INFO] Running under Wayland, switching to PipeWire...
[DEBUG] Custom background service url is 'http://localhost'
[DEBUG] processArgs:,/opt/teams-for-linux/teams-for-linux,--enable-features=UseOzonePlatform,--ozone-platform=wayland
[DEBUG] testing RegExp processArgs false
[DEBUG] testing RegExp processArgs false
[DEBUG] testing RegExp processArgs false
[DEBUG] Testing network using net.request() for https://teams.microsoft.com/
[DEBUG] Spellchecker is disabled!
[DEBUG] Network test successful with method https
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[20357:0726/165522.895134:ERROR:object_proxy.cc(576)] Failed to call method: org.freedesktop.ScreenSaver.GetActive: object_path= /org/freedesktop/ScreenSaver: org.freedesktop.DBus.Error.UnknownMethod: Unknown method GetActive or interface org.freedesktop.ScreenSaver.
[DEBUG] did-frame-finish-load,[object Object],true
[DEBUG] did-finish-load
[DEBUG] Badge count set to '0'
[DEBUG] Badge count set to '0'
[DEBUG] Badge count set to '0'
[DEBUG] did-frame-finish-load,[object Object],false
[DEBUG] Badge count set to '0'
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] Badge count set to '0'
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveChec
kPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] Badge count set to '0'
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'locked'
[20357:0726/165553.232771:ERROR:egl_dmabuf.cc(608)] Failed to record frame: Error creating EGLImage - EGL_BAD_MATCH
[20357:0726/165553.232806:ERROR:shared_screencast_stream.cc(912)] Dropping DMA-BUF modifier: 144115206334822913 and trying to renegotiate stream parameters
[20357:0726/165554.251386:ERROR:egl_dmabuf.cc(608)] Failed to record frame: Error creating EGLImage - EGL_BAD_MATCH
[20357:0726/165554.251416:ERROR:shared_screencast_stream.cc(912)] Dropping DMA-BUF modifier: 144115206334822657 and trying to renegotiate stream parameters
[20357:0726/165554.259614:ERROR:egl_dmabuf.cc(608)] Failed to record frame: Error creating EGLImage - EGL_BAD_MATCH
[20357:0726/165554.259650:ERROR:shared_screencast_stream.cc(912)] Dropping DMA-BUF modifier: 144115206334806273 and trying to renegotiate stream parameters
'loop->recurse > 0' failed at ../pipewire/src/pipewire/thread-loop.c:425 pw_thread_loop_wait()
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'locked'
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'locked'
My comment isn't directed at
teams-for-linux
but at the underlying OS ecosystem.I joined a meeting with both Chromium and Firefox but was unable to share my screen. The option to show "tab, window, desktop" shows up and I click share but then nothing happens. On Firefox it even shows the "stop sharing" but nothing is actually shared. This was in Debian with X11 and XFCE
My comment is just a suggestion for other people to check if they can share their screen with the browser. Maybe that can help in figuring out the root cause.
I can confirm I recently have started having this issue (Fedora 40) and it also affects Chromium, so likely not a specific app issue. Setting ELECTRON_OZONE_PLATFORM_HINT=auto
did not fix my issue.
I am having issues with screen sharing using the snap package in Ubuntu 24.04 under Wayland. I have tested under X11 and it works fine. Under Wayland I get a message saying "Your video isn't working" "We couldn't access your camera". Just to be clear, webcam works just fine. I am quite sure this is a Wayland issue. I also tested with the latest/edge release v. 1.9.0, same problem.
You aren't alone reporting issues with wayland. It is pretty difficult to understand what the issue is, to be honest, as some solutions works for some people, while for others seems like nothing works. One of those mad linux env configuration issues I think.
Hi, I have the same problem with the snap v1.9.6 teams-for-linux
package on Ubuntu 24.04 with Gnome+Wayland.
Hi @sebma , have you tried the multiple options provided? Most users seem to have got it working with the solutions provided. Otherwise, can you open a new issue and fill the template with logs and as much info as possible. Thanks
I've recently upgraded to Ubuntu 22.04
and tried snap installtions of teams-for-linux version 1.9.6
and 1.11.0
and I wasn't able to share my screen. I was only able to share my screen once I had change wayland
to x11
by setting WaylandEnable=false
in /etc/gdm3/custom.conf
and restarting.
I've not incounted any side effects yet since. But there does seem to be an issue using the wayland default
Sorry to hear. This issue is related to screen sharing not working for non wayland, but glad you got it working.
@Ryushin , did you manage to get this working? Maybe is your chromium that needs to be clean and re-installed. Re-reading your messages, if chromium doesn't work, teams will struggle to work (as it uses your chromium in some systems - I think). Hope helps
@Ryushin , did you manage to get this working? Maybe is your chromium that needs to be clean and re-installed. Re-reading your messages, if chromium doesn't work, teams will struggle to work (as it uses your chromium in some systems - I think). Hope helps
So I did more testing, afraid the same problem is still occurring. I apt purged and re-installed chrome:
dpkg -l "*chromium*" | grep ii
ii chromium 129.0.6668.70-1~deb12u1 amd64 web browser
ii chromium-common 129.0.6668.70-1~deb12u1 amd64 web browser - common resources used by the chromium packages
ii chromium-driver 129.0.6668.70-1~deb12u1 amd64 web browser - WebDriver support
ii chromium-sandbox 129.0.6668.70-1~deb12u1 amd64 web browser - setuid security sandbox for chromium
The debug looks interesting now, perhaps that will help. "The window is no longer valid" occurred when I tried to share my screen.
/opt/teams-for-linux/teams-for-linux --customUserDir="/home/chris/.teams-for-linux_data/giant" "msteams://teams.microsoft.com/l/meetup-join/19%3ameeting_OGU5YzJiYWItMzE4Mi00YWYyLWJlZmItNDZhMmI0Y2EwMDhj%40thread.v2/0?context=%7b%22Tid%22%3a%229059ad16-0e78-495c-822e-cf1fb88d6c34%22%2c%22Oid%22%3a%22991b4881-27db-490b-9e04-3ecd6f92d90a%22%7d" --WebDebug --appLogLevels=error,info,warn,debug
all good with appLogLevels you aren't using them
Initialising logger with config: "{}"
Logger initialised with transports: {}
07:59:22.827 › File logging at /home/chris/.teams-for-linux_data/giant/logs/main.log with level silly
07:59:22.829 › Console logging enabled with level silly
07:59:22.829 › Logger initialised
07:59:22.829 › configPath: /home/chris/.teams-for-linux_data/giant
07:59:22.829 › configFile: {
watchConfigFile: true,
optInTeamsV2: true,
useMutationTitleLogic: true,
spellCheckerLanguages: 'en',
electronCLIFlags: [ [ 'ozone-platform-hint', 'auto' ], 'disable-software-rasterizer' ]
}
07:59:22.832 › Adding electron CLI flag 'ozone-platform-hint' with value 'auto'
07:59:22.832 › Adding electron CLI flag 'disable-software-rasterizer'
07:59:22.890 › App already running
You have mail in /var/mail/chris
chris@muaddib:~$ /opt/teams-for-linux/teams-for-linux --customUserDir="/home/chris/.teams-for-linux_data/scg" --WebDebug --appLogLevels=error,info,warn,debug
all good with appLogLevels you aren't using them
Initialising logger with config: "{}"
Logger initialised with transports: {}
05:39:08.410 › File logging at /home/chris/.teams-for-linux_data/scg/logs/main.log with level silly
05:39:08.413 › Console logging enabled with level silly
05:39:08.414 › Logger initialised
05:39:08.414 › configPath: /home/chris/.teams-for-linux_data/scg
05:39:08.414 › configFile: {
optInTeamsV2: true,
appIcon: '/home/chris/Images/Icons/SCG_Logo.png',
useMutationTitleLogic: true,
spellCheckerLanguages: 'en'
}
05:39:08.743 › processArgs: [
'/opt/teams-for-linux/teams-for-linux',
'--customUserDir=/home/chris/.teams-for-linux_data/scg',
'--WebDebug',
'--appLogLevels=error,info,warn,debug'
]
05:39:08.745 › testing RegExp processArgs false
05:39:08.745 › testing RegExp processArgs false
05:39:08.745 › testing RegExp processArgs false
05:39:08.746 › testing RegExp processArgs false
05:39:08.747 › Testing network using net.request() for https://teams.microsoft.com
05:39:08.749 › Language codes en set for spellchecker
05:39:09.062 › Network test successful with method https
05:39:09.521 › GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 1s, IdleState: 'active'
[1217:1002/053909.524797:ERROR:object_proxy.cc(576)] Failed to call method: org.freedesktop.ScreenSaver.GetActive: object_path= /org/freedesktop/ScreenSaver: org.freedesktop.DBus.Error.UnknownMethod: Unknown method GetActive or interface org.freedesktop.ScreenSaver.
05:39:10.270 › did-frame-finish-load {} true
05:39:10.271 › did-finish-load
05:39:12.963 › Badge count set to '0'
05:39:12.985 › Badge count set to '0'
05:39:15.049 › Badge count set to '0'
05:39:18.538 › did-frame-finish-load {} false
05:39:19.618 › GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[1217:1002/053928.297484:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[1217:1002/053928.297532:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[1217:1002/053928.304461:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[1217:1002/053928.477800:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[1217:1002/053928.864640:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[1217:1002/053928.868020:ERROR:window_list_utils.cc(142)] Failed to query for child windows for screen 0
[1217:1002/053928.906946:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[1217:1002/053929.167592:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[1217:1002/053929.554300:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
[1217:1002/053929.592263:ERROR:window_capturer_x11.cc(145)] The window is no longer valid.
05:39:29.679 › GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
05:39:39.680 › GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
From this https://bugzilla.mozilla.org/show_bug.cgi?id=1151189 I found this page:
https://mozilla.github.io/webrtc-landing/gum_test.html
Can you see what you get in there? Maybe check in chromium to see if you get the same error. If that is the case then we know is something todo with Chromium and/or your graphic card drivers
From this https://bugzilla.mozilla.org/show_bug.cgi?id=1151189 I found this page:
https://mozilla.github.io/webrtc-landing/gum_test.html
Can you see what you get in there? Maybe check in chromium to see if you get the same error. If that is the case then we know is something todo with Chromium and/or your graphic card drivers
Launching Chromium and going to the gum_test page shows everything is working that that it is sharing my screen. I can move my mouse and switch windows and I can see the demo site display everything.
Not sure if this will help you, but when I select screen share, then it shows the Entire Screen window, I can see my mouse move in the tiny window. As soon as I click on it, the mouse no longer moves. Pulling up the Share Screen window again, and not clicking on the Entire Screen, but clicking on the X on the right can't close it either and the mouse also stops moving. I can click the screen share again, switch between Screens and Windows fine, but as soon as I click on any item, nothing happens and I can't close the share screen bar. I have to Ctrl+Q to quit it.
If you like, we can do a video session or something else so you can see the behavior.
On Ubuntu 24.04 after I run this command, it started to work again: systemctl --user restart xdg-desktop-portal-gnome
On Ubuntu 24.04 after I run this command, it started to work again:
systemctl --user restart xdg-desktop-portal-gnome
Afraid I don't have gnome installed as I use XFCE4. But reading it, it's a front end for xdg-desktop-portal, which according to the "apt-cache show xdg-desktop-portal"
xdg-desktop-portal provides a portal frontend service for Flatpak, Snap,
and possibly other desktop containment/sandboxing frameworks. This service
is made available to the sandboxed application, and provides mediated
D-Bus interfaces for file access, URI opening, printing and similar
desktop integration features.
So that is probably why it now works for you.
Just have no idea why the deb package works for you and not for me. The gum test works for me using Chrome: https://mozilla.github.io/webrtc-landing/gum_test.html
I encountered the same issues when using Teams-for-Linux with Ubuntu 24.04, which I had installed via the App Center using snap. I resolved the issue by following these steps:
sudo nano /etc/gdm3/custom.conf
WaylandEnable=false
sudo systemctl restart gdm3
Source: https://linuxconfig.org/how-to-enable-disable-wayland-on-ubuntu-22-04-desktop
Just going to leave some steps I've discovered here in case it helps someone get it working. But since my last comments here there are instances where screen sharing doesn't work. One of the solutions that got it working was to killall -q
desktop portals, or in my case killall -q xdg-desktop-portal-wlr
and restarting teams-for-linux.
The other solution took a bit of head scratching to find but if you can screen share with the Mozilla screen sharing test and teams-for-linux either freezes the preview or doesn't display anything at all while screen sharing, there's a chance that it's actually working but you're not seeing any indicator. I only discovered this while testing a meeting with calendar -> meet now and inviting myself to the meeting from a laptop while my desktop attempts screen sharing. My main machine showed no indication of the screen being shared, but my laptop was able to see the screen being shared.
Also confirming the issue, with Ubuntu 24.04 I get a message saying "Your video isn't working" "We couldn't access your camera" when using teams-for-linux snap. (was working until around 2 weeks ago)
When I start a meeting, I get this in the log, seems a H264 codec issue, which might explain the problem:
[458369:1025/085128.384545:ERROR:sdp_offer_answer.cc(424)] A BUNDLE group contains a codec collision for payload_type='101. All codecs must share the same type, encoding name, clock rate and parameters. (INVALID_PARAMETER)
Also confirming the issue, with Ubuntu 24.04 I get a message saying "Your video isn't working" "We couldn't access your camera" when using teams-for-linux snap. (was working until around 2 weeks ago) When I start a meeting, I get this in the log, seems a H264 codec issue, which might explain the problem:
[458369:1025/085128.384545:ERROR:sdp_offer_answer.cc(424)] A BUNDLE group contains a codec collision for payload_type='101. All codecs must share the same type, encoding name, clock rate and parameters. (INVALID_PARAMETER)
this looks more a graphics card drivers update. Try with the --disableGpu option and see if that does the trick, and check your graphics drivers. The libraries probably updated not long ago.
Does not fix. Still the same issue
11:49:05.092 › Running under Wayland, switching to PipeWire... 11:49:05.093 › Disabling GPU support.. [470328:1025/115024.801026:ERROR:sdp_offer_answer.cc(424)] A BUNDLE group contains a codec collision for payload_type='101. All codecs must share the same type, encoding name, clock rate and parameters. (INVALID_PARAMETER)
I use a T14 with intel integrated graphics, with the kernel driver - nothing additionally installed.
PS: The mozilla share link test link posted in a comment above works fine.
that smells like drivers to me, and on that I don't know if I will be able to help much. can you open another issue so I can look into that in more detail? Fill the template with as many info you got.
I encountered the same issues when using Teams-for-Linux with Ubuntu 24.04, which I had installed via the App Center using snap. I resolved the issue by following these steps:
1. Open the custom.conf file using the command: `sudo nano /etc/gdm3/custom.conf` 2. Inside the custom.conf file, change the following line to: `WaylandEnable=false` 3. Restart gdm3 using the command: `sudo systemctl restart gdm3`
Source: https://linuxconfig.org/how-to-enable-disable-wayland-on-ubuntu-22-04-desktop
Your trick above solved 90 % of my screen sharing problem. Impressive & thanks, Samuel-Duhaime (& IsmaelMartinez) !
Explaining:
Yes, I had a snap installation of Teams. And before I could not share anything in Teams.
After Samuel's advice/commands, the Share-button in Teams really works and enables me to select which window/screen I want to share.
The other end (meeting colleague) in Teams sees my shared application/window/screen.
B-u-t , I can n-o-t personally see what I am sharing in the Teams window!
(Screenshot while sharing --> can not see the screen of the window/application in Teams I am sharing)
However, to me this is just a "Feature", since sharing works ok.
And pressing once again [Share] at the end of sharing session stops sharing --> works ok.
With deep gratitude,
Mikko
P.S. Previously I was forced to use The Intentionally-Leaky Göögle Chröme in meetings where I needed to share my screen. Not any more :)
thanks for sharing! The "see what I am sharing" is a feature that is been open for a bit https://github.com/IsmaelMartinez/teams-for-linux/issues/1354 . I need to move how the handling of windows work in our app as electron is deprecating the current way, then I will see if/when I can add this.
Describe the bug Clicking share screen brings up the option to share screen and click on it:
Shows the option to select the Entire Screen and clicking on it never results in sharing the screen. You can't close this bottom panel either and I have exit the application to get it to go away:
I have been using teams-for-linux since late last year. Screen sharing has never worked for me. If I need to share my screen I've been having to use Microsoft's abandoned v1.5 Teams Preview.
Desktop (please complete the following information):
Debug