You are not logged in.

#1 2019-09-23 21:05:31

1ptb3b
Member
Registered: 2017-01-17
Posts: 76

google-chrome and firefox black screen google hangout screenshare

I was in a Google Hangout video call with a coworker and I wanted to share my screen. So I clicked on Present Now > Your entire screen. However I could see in the preview, and my coworker later confirmed, that the entire screen was black. No windows were visible, not even a mouse.

I'm using GNOME with Wayland.

[~]$ echo $XDG_SESSION_TYPE
wayland
[~]$ gnome-shell --version
GNOME Shell 3.34.0
[~]$ google-chrome-stable --version
Google Chrome 77.0.3865.90 
[~]$ firefox --version
Mozilla Firefox 69.0.1

As an experiment, I also tried sharing my screen with Firefox. Knowing Chrome doesn't currenly have any Wayland support, I launched Firefox with Wayland support, to see if that would make a difference.

MOZ_ENABLE_WAYLAND=1 firefox

However, I got the exact same result as Chrome. A black screen.

What finally did work was logging out and logging back in with GNOME on Xorg. Then Chrome screenshare worked.

My question is:
Is there a way to get screensharing to work on Wayland? Or is it broken and I'm forced to use Xorg?

Last edited by 1ptb3b (2020-01-28 20:55:00)

Offline

#2 2019-09-24 05:32:28

nhasian
Member
From: AZ, USA
Registered: 2012-12-13
Posts: 31

Re: google-chrome and firefox black screen google hangout screenshare

Take a look at pipewire to do screensharing in wayland
http://jgrulich.cz/2018/07/04/how-to-en … n-wayland/


MSI MEG Z390 ACE Motherboard, Intel Core i7-9700K, MSI GeForce RTX 2080

Offline

#3 2019-09-24 06:19:28

1ptb3b
Member
Registered: 2017-01-17
Posts: 76

Re: google-chrome and firefox black screen google hangout screenshare

Hm. No dice. Here's what I did.

Going off the Arch Wiki, https://wiki.archlinux.org/index.php/PipeWire, I installed these.

# pacman -S xdg-desktop-portal-gtk pipewire

Here's the version I installed.

$ pipewire --version
pipewire
Compiled with libpipewire 0.2.6
Linked with libpipewire 0.2.6

I tried a

systemctl --user status pipewire.service

and noticed the service was inactive, so I ran

systemctl --user enable pipewire.service

and rebooted just to be sure.

When I got back, I did this to verify everything was running.

systemctl --user status pipewire.socket
systemctl --user status pipewire.service

The socket seemed fine, but something went wrong with the service it seems like.

$ systemctl --user status pipewire.service
● pipewire.service - Multimedia Service
   Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-09-23 23:06:09 PDT; 3min 17s ago
 Main PID: 962 (pipewire)
   CGroup: /user.slice/user-1000.slice/user@1000.service/pipewire.service
           └─962 /usr/bin/pipewire

Sep 23 23:06:09 systemd[956]: pipewire.service: Passing 1 fds to service
Sep 23 23:06:09 systemd[956]: pipewire.service: About to execute: /usr/bin/pipewire
Sep 23 23:06:09 systemd[956]: pipewire.service: Forked /usr/bin/pipewire as 962
Sep 23 23:06:09 systemd[962]: Skipping PR_SET_MM, as we don't have privileges.
Sep 23 23:06:09 systemd[956]: pipewire.service: Changed dead -> running
Sep 23 23:06:09 systemd[956]: pipewire.service: Job 21 pipewire.service/start finished, result=done
Sep 23 23:06:09 systemd[956]: Started Multimedia Service.
Sep 23 23:06:09 systemd[962]: pipewire.service: Executing: /usr/bin/pipewire
Sep 23 23:06:09 pipewire[962]: [E][v4l2-utils.c:76 spa_v4l2_open()] v4l2: Cannot open '/dev/video0': 13, Permission denied
Sep 23 23:06:09 pipewire[962]: [E][v4l2-utils.c:76 spa_v4l2_open()] v4l2: Cannot open '/dev/video1': 13, Permission denied

I decided to continue anyway and I opened up Google Chrome and enabled Pipewire here: chrome://flags/#enable-webrtc-pipewire-capturer.

However, this time, instead of a black blank screen. I got a gray blank screen.

I'm guessing those Permission denied errors are maybe not good.

I also tried setting this, based off of the GNOME Mutter tutorial, https://wiki.gnome.org/Projects/Mutter/RemoteDesktop.

[~]$ gsettings get org.gnome.mutter experimental-features
@as []
[~]$ gsettings set org.gnome.mutter experimental-features "['screen-cast', 'remote-desktop']"
[~]$ gsettings get org.gnome.mutter experimental-features
['screen-cast', 'remote-desktop']
[~]$

But, it didn't help.

Last edited by 1ptb3b (2019-09-24 06:25:07)

Offline

#4 2019-09-24 12:24:37

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,740

Re: google-chrome and firefox black screen google hangout screenshare

Try in chromium, it's not guaranteed that chrome is compiled with pipewire support.

Offline

#5 2019-09-24 15:28:36

1ptb3b
Member
Registered: 2017-01-17
Posts: 76

Re: google-chrome and firefox black screen google hangout screenshare

Hm. Tried Chromium, enabled Pipewire in chrome://flags.

[~]$ chromium --version
Chromium 77.0.3865.90 Arch Linux

Same gray blank screen. hmm

Offline

#6 2020-04-06 19:38:25

otto_simpson
Member
Registered: 2012-07-29
Posts: 10

Re: google-chrome and firefox black screen google hangout screenshare

1ptb3b wrote:

Hm. Tried Chromium, enabled Pipewire in chrome://flags.

[~]$ chromium --version
Chromium 77.0.3865.90 Arch Linux

Same gray blank screen. hmm

you should have a opened window of "Share Screen" when started hangout shared screen. Something like this:
Pipewire-Window-Example

as long as you don't select the device and "share" the Hangout screen will remain gray.


Remember that you need to have all the settings made for Pipewire. In may case I have:

$ chromium --version
Chromium 80.0.3987.163 Arch Linux

$ echo $XDG_SESSION_TYPE
wayland

$ pacman -Qs pipewire
local/libpipewire02 0.2.7-1
    User space API to deal with multimedia pipelines (0.2)
local/pipewire 0.3.2-1
    Server and user space API to deal with multimedia pipelines
local/pipewire-pulse 0.3.2-1
    Server and user space API to deal with multimedia pipelines (PulseAudio support)

$ pacman -Qs xdg-desktop-portal
local/xdg-desktop-portal 1.6.0-2
    Desktop integration portals for sandboxed apps
local/xdg-desktop-portal-gtk 1.6.0-4
    A GTK+ backend for xdg-desktop-portal


$ systemctl --user status pipewire.service
● pipewire.service - Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-04-06 15:57:50 -03; 31min ago
TriggeredBy: ● pipewire.socket
   Main PID: 1255 (pipewire)
     CGroup: /user.slice/user-1000.slice/user@1000.service/pipewire.service
             ├─1255 /usr/bin/pipewire
             └─1263 exec pipewire-media-session


$ systemctl --user status pipewire.socket  
● pipewire.socket - Multimedia System
     Loaded: loaded (/usr/lib/systemd/user/pipewire.socket; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-04-06 15:57:50 -03; 31min ago
   Triggers: ● pipewire.service
     Listen: /run/user/1000/pipewire-0 (Stream)
     CGroup: /user.slice/user-1000.slice/user@1000.service/pipewire.socket

"We buy things we don't need
with money we don't have
to impress people we don't like"

Offline

Board footer

Powered by FluxBB