Bug 1369218 - wayland and hangouts sharing
Summary: wayland and hangouts sharing
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: wayland
Version: 28
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Adam Jackson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: WaylandRelated
TreeView+ depends on / blocked
 
Reported: 2016-08-22 17:04 UTC by Yogesh Sharma
Modified: 2019-09-26 14:58 UTC (History)
32 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-10-03 15:07:04 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Yogesh Sharma 2016-08-22 17:04:20 UTC
Google Chrome hangouts screen sharing doesn't allow to share non chrome windows or desktop when running wayland.

Comment 1 Christian Stadelmann 2016-08-27 11:58:00 UTC
Same issue is happening when running Firefox Hello (soon to be discontinued and removed from Firefox).

This looks like an architectural issue in wayland, requiring a protocol for screenshots, screen (video) recording and screen sharing.

Comment 3 Yogesh Sharma 2016-11-30 17:27:44 UTC
works with Fedora 25

Comment 4 Kamil Páral 2016-12-01 09:51:26 UTC
(In reply to Yogesh Sharma from comment #3)
> works with Fedora 25

Are you sure you're in a wayland session? Because to the best of my knowledge the screen sharing protocol doesn't exist yet, and therefore this should not work.

Comment 5 Yogesh Sharma 2016-12-01 15:00:06 UTC
I log out, at login time select gnome (not gnome with xorg) and I can share in google hangouts.

Comment 6 Luiz Carvalho 2016-12-15 17:46:32 UTC
This is not working for me on BlueJeans.

Comment 7 Yogesh Sharma 2016-12-15 18:10:55 UTC
@Luiz possible to try hangouts and report ?

Comment 8 Luiz Carvalho 2016-12-15 18:14:19 UTC
@Yogesh, same result on hangouts. Black screen is shown with mouse cursor.

Comment 9 Yogesh Sharma 2016-12-15 18:22:30 UTC
ps -Af | grep gdm
root      2851     1  0 Dec07 ?        00:00:00 /usr/sbin/gdm
root      3075  2851  0 Dec07 ?        00:00:00 gdm-session-worker [pam/gdm-launch-environment]
gdm       3090     1  0 Dec07 ?        00:00:00 /usr/lib/systemd/systemd --user
gdm       3092  3090  0 Dec07 ?        00:00:00 (sd-pam)
gdm       3097  3075  0 Dec07 tty1     00:00:00 /usr/libexec/gdm-x-session gnome-session --autostart /usr/share/gdm/greeter/autostart
gdm       3099  3097  0 Dec07 tty1     00:00:43 /usr/libexec/Xorg vt1 -displayfd 3 -auth /run/user/42/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty -verbose 3
gdm       3279  3090  0 Dec07 ?        00:00:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
gdm       3312  3097  0 Dec07 tty1     00:00:00 /usr/libexec/gnome-session-binary --autostart /usr/share/gdm/greeter/autostart
gdm       3388  3090  0 Dec07 ?        00:00:00 /usr/libexec/at-spi-bus-launcher
gdm       3393  3388  0 Dec07 ?        00:00:00 /bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
gdm       3396  3090  0 Dec07 ?        00:00:00 /usr/libexec/at-spi2-registryd --use-gnome-session
gdm       3404  3312  0 Dec07 tty1     00:00:02 /usr/bin/gnome-shell
gdm       3451     1  0 Dec07 ?        00:00:00 /usr/bin/pulseaudio --start --log-target=syslog
gdm       3477  3404  0 Dec07 tty1     00:00:03 ibus-daemon --xim --panel disable
gdm       3481  3477  0 Dec07 tty1     00:00:00 /usr/libexec/ibus-dconf
gdm       3484     1  0 Dec07 tty1     00:00:00 /usr/libexec/ibus-x11 --kill-daemon
gdm       3492  3090  0 Dec07 ?        00:00:00 /usr/libexec/xdg-permission-store
gdm       3505  3312  0 Dec07 tty1     00:00:03 /usr/libexec/gnome-settings-daemon
gdm       3575  3090  0 Dec07 ?        00:00:00 /usr/libexec/dconf-service
gdm       3585  3477  0 Dec07 tty1     00:00:00 /usr/libexec/ibus-engine-simple
root      3805  2851  0 Dec07 ?        00:00:00 gdm-session-worker [pam/gdm-password]

I had selected gnome (not gnome with X) but I see gdm-x-session, I am not sure if I am on wayland or not. How can I confirm wayland running ?

I have gnome-session-wayland-session.x86_64 installed.

BTW, system was dnf upgraded from Fedora 24 to 25.

Comment 10 Luiz Carvalho 2016-12-15 18:25:04 UTC
I did this:

$ loginctl
   SESSION        UID USER             SEAT            
         7      28617 lucarval         seat0           
        c1         42 gdm              seat0           
         2      28617 lucarval         seat0           

$ loginctl show-session 7 -p Type
Type=wayland

$ loginctl show-session 2 -p Type
Type=wayland

$ loginctl show-session c1 -p Type
Type=wayland

Comment 11 Yogesh Sharma 2016-12-15 18:38:00 UTC
I am getting 
loginctl show-session 3 -p Type
Type=x11

Even though I am **NOT** selecting X11, system is running X11.

Comment 12 Calin 2017-02-27 20:33:59 UTC
Same issue here, running gnome 3.22.2.

I can share some windows in hangouts but I can't share the entire screen or android emulators.

Comment 13 Mickael Istria 2017-03-04 08:23:52 UTC
I'm on Fedora 25. As a speaker in a conference, I was requested to do screensharing via hangouts. It just happened to not work on Fedora 25 whereas it was working on all other OSs and for all other speakers. Several people in the room made fun of Fedora and Linux because of that. "Not being able to share on Hangouts" is the new "not before able to share a screen with a projector" for Linux. I believe in term of image of the OS, this issue is actually a very important one and should be treated with high priority.

Comment 14 Yogesh Sharma 2017-03-06 22:51:15 UTC
For now, one can switch to X Server instead of wayland and enjoy sharing.
After selecting user on GDM login screen, click on gear icon and select X.

Comment 15 John Heidemann 2017-03-06 23:49:08 UTC
Upstream seems to have an issue for this bug:
https://bugs.chromium.org/p/chromium/issues/detail?id=578594

(No solution, though.  I think breaking screen capture is a design goal of Wayland, as a security improvement.  The fix is presumably some new API that will have to go into Chrome.)

Comment 16 Mickael Istria 2017-03-07 09:44:30 UTC
(In reply to Yogesh Sharma from comment #14)H> For now, one can switch to X Server instead of wayland and enjoy sharing.
> After selecting user on GDM login screen, click on gear icon and select X.

Thanks for the hint. I'll try to think about it in the future. however it's not so convenient and not immediate to figure out when the issue happens; so IMHO, this workaround doesn't reduce the criticity of this issue.

Comment 17 Chris Tatman 2017-03-28 13:46:13 UTC
Does the Fedora 25 XFCE Desktop use Wayland? I think I read some reports that XFCE was not using wayland yet?

Anyway, I use Fedora25 with XFCE, and I was able to share out my desktop and single applications in a bluejeans session yesterday. No black screen on the recipient side.

Now, I did know about this bug beforehand, so I installed gdm, and I uncommented:

WaylandEnable=false

in the /etc/gdm/custom.conf file.  

However, I really had no time to test anything at all. So I don't know if installing gdm and disabling Wayland in the custom.conf file actually had any effect in my XFCE desktop session.

If someone could tell me how to determine if my XFCE session is using Wayland or Xorg, I'd appreciate it.

Thanks!

Comment 18 Christian Stadelmann 2017-03-28 14:04:31 UTC
XFCE does not use Wayland afaik.

How to test: Run
$ GTK_DEBUG=interactive nautilus
or
$ GTK_DEBUG=interactive gedit
which opens the application window plus Gtk+ inspector. In the inspector, switch to "General" and read the value in the second line ("GDK Backend").

Or have a look at https://fedoraproject.org/wiki/How_to_debug_Wayland_problems#Are_you_running_a_Wayland_session.3F

Comment 19 Assaf Muller 2017-04-06 13:06:08 UTC
I'm also impacted by this bug, F25 with Wayland. I can share specific windows in Bluejeans but not my entire screen. I had to revert back to X11 because of this.

Comment 20 Dmitry 2017-06-15 17:56:57 UTC
I have the same problem (latest kernel-modules-4.11.-200.fc25.x86_64.rpm)

```
➜  /tmp loginctl                       
   SESSION        UID USER             SEAT            
         3       1000 dmitry           seat0           
        c2         42 gdm              seat0           

2 sessions listed.
➜  /tmp loginctl show-session 3 -p Type
Type=x11
➜  /tmp loginctl show-session c2 -p Type
Type=x11
➜  /tmp gdm --version              
GDM 3.22.3
➜  /tmp cat /etc/gdm/custom.conf G wayland
5:# WaylandEnable=false
➜  /tmp 
```

**/etc/gdm/custom.conf**

```
# GDM configuration storage

[daemon]
# Uncoment the line below to force the login screen to use Xorg
# WaylandEnable=false

[security]

[xdmcp]

[chooser]

[debug]
# Uncomment the line below to turn on debugging
#Enable=true


```

Comment 21 Yogesh Sharma 2017-07-12 03:25:11 UTC
Update:
With Fedora 26, I can share chrome windows but other windows can not be shared.

Comment 22 saif1988 2017-07-24 22:04:55 UTC
This happens to me as well. On fedora 26. Switching back to Xorg for now.

Comment 23 Assaf Muller 2017-07-24 23:55:25 UTC
I'm curious as to the prioritization of this issue?

Comment 24 Emmanuele Bassi 2017-08-04 13:16:21 UTC
(In reply to Assaf Muller from comment #23)
> I'm curious as to the prioritization of this issue?

There is work underway for a Wayland screen sharing protocol and a multiplexer for media stream in order to deal with screen sharing safely; see:

  https://github.com/wtay/pipewire
  https://blogs.gnome.org/uraeus/2017/06/20/fedora-workstation-26-and-beyond/

All applications, under Wayland, can *only* access their own windows, to avoid the security nightmare of a random process under X11 being able to screenscrape and intercept all input from other processes, which is built into the X protocol itself. The screen sharing feature of Chrome/Hangouts exploits this very insecurity.

Once the negotiation protocol using Wayland, and PipeWire is ready, it will be possible for web browsers (and other applications) to implement screen sharing appropriately under Wayland.

Comment 25 Geoffrey De Smet 2018-02-19 09:34:07 UTC
Workaround: In the login screen, switch to "Gnome on xorg".

IMO, it was a mistake to make wayland the default for Fedora as long as Google Hangouts and Bluejeans don't work on Wayland.

Comment 26 Yogesh Sharma 2018-02-19 15:16:01 UTC
Added Teamviewer to list.

Comment 27 mjcharles 2018-02-26 05:17:20 UTC
I have the same issue with wayland & hangout RUnning 4.15.4-300.fc27.x86_64. Fedora 27 workstation.

Additionally, I'm unable to switch back to wayland as it freezes after login. Currently only able to login via Xorg & Classic without crashing.

What information can I provide to help support this?

Comment 28 John Heidemann 2018-03-14 21:18:24 UTC
GNOME now has an upstream ticket that is relevant to this bug:

https://bugzilla.gnome.org/show_bug.cgi?id=784199

(but still unresolved)

Comment 29 Fedora End Of Life 2018-05-03 08:02:45 UTC
This message is a reminder that Fedora 26 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 26. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '26'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 26 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 30 Mickael Istria 2018-05-03 08:27:51 UTC
Someone please move this to newer version as it's still the main reason why many people can't use wayland.

Comment 31 John Heidemann 2018-05-03 16:17:29 UTC
Upstream signs of progress, I think:
https://bugzilla.gnome.org/show_bug.cgi?id=786565

Comment 32 Tomas Popela 2018-10-03 15:07:04 UTC
This should be closed I think. What's needed is to support the screen sharing through PipeWire in WebRTC and that's currently being reviewed in https://webrtc-review.googlesource.com/c/src/+/103504. After it's merged, then we have to wait until the Firefox and Chromium/Chrome are shipped with the WebRTC that contains this change (that's out of scope of Fedora). All the required bits in Wayland, PipeWire and xdg-desktop-portal are ready in F28+.

Comment 33 David Dreggors 2018-11-20 00:49:07 UTC
That version of Pipewire in WebRTC is now merged in commit dd20c9c

Comment 34 David Dreggors 2018-11-20 00:53:29 UTC
More on chrome implementing that change here:

https://bugs.chromium.org/p/chromium/issues/detail?id=682122


Note You need to log in before you can comment on or make changes to this bug.