Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zoom meetings desktop sharing shows blank screen using hyprland #178

Open
jdratlif opened this issue Feb 12, 2024 · 14 comments
Open

Zoom meetings desktop sharing shows blank screen using hyprland #178

jdratlif opened this issue Feb 12, 2024 · 14 comments
Labels
bug Something isn't working

Comments

@jdratlif
Copy link

Hyprland Version

System/Version info
Hyprland, built from branch HEAD at commit 84ab8d11e8951a6551d1e1bf87796a8589da6d47  (props: bump ver to 0.35.0).
Date: Mon Feb 5 01:59:02 2024
Tag: v0.35.0

flags: (if any)


System Information:
System name: Linux
Node name: jdratlif-yoga4
Release: 6.7.4-200.fc39.x86_64
Version: hyprwm/Hyprland#1 SMP PREEMPT_DYNAMIC Mon Feb  5 22:21:14 UTC 2024


GPU information: 
00:02.0 VGA compatible controller [0300]: Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620] [8086:3ea0] (rev 02) (prog-if 00 [VGA controller])


os-release: NAME="Fedora Linux"
VERSION="39 (Sway)"
ID=fedora
VERSION_ID=39
VERSION_CODENAME=""
PLATFORM_ID="platform:f39"
PRETTY_NAME="Fedora Linux 39 (Sway)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:39"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f39/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://gitlab.com/fedora/sigs/sway/SIG/-/issues"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=39
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=39
SUPPORT_END=2024-11-12
VARIANT="Sway"
VARIANT_ID=sway


plugins:

Bug or Regression?

Bug

Description

When I try to share my screen in a zoom meeting, the first time the colors all appear inverted, but the share does work.
Once I stop my first share and try to share again, it will show a blank screen in the zoom share preview, but it will never actually share anything. The meeting attendees will all get a message saying it's waiting to share.

The first part where the colors are inverted happens in Sway as well, but under Sway, I can stop the share and start again and everything is fine. Under hyprland, once I stop the first (broken) share, I can't ever share again until I force kill zoom. I have tried the zoom app from flatpak and from the RPM package.

I can share fine under hyprland from the web version of zoom, but it has other limitations I'm hoping to avoid.

I installed Hyprland from the solopasha/hyprland copr on Fedora 39 Sway spin. I have xdg-desktop-portal-hyprland installed, but I don't really understand portals, so maybe the fact that I also have Sway is making it not use the right one.

$ ps aux | grep xdg
jdratlif    2142  0.0  0.1 772492 16592 ?        Ssl  08:50   0:00 /usr/libexec/xdg-desktop-portal
jdratlif    2154  0.0  0.0 896292  7168 ?        Ssl  08:50   0:00 /usr/libexec/xdg-document-portal
jdratlif    2158  0.0  0.0 522492  6656 ?        Ssl  08:50   0:00 /usr/libexec/xdg-permission-store
jdratlif    2182  0.1  0.2 1390400 44228 ?       Ssl  08:50   0:02 /usr/libexec/xdg-desktop-portal-gtk
jdratlif    2246  0.0  0.2 479024 44160 ?        Ssl  08:50   0:00 /usr/libexec/xdg-desktop-portal-hyprland

Is it possible I need to uninstall one of these or make them stop? I don't know what I did to launch any of them.

How to reproduce

Start a zoom meeting. Share your screen. Look at the zoom preview. Colors will be inverted. Stop zoom share. Start new zoom share. Preview will either be blank or it won't show at all, and no screen share will happen.

Crash reports, logs, images, videos

No response

@jdratlif jdratlif added the bug Something isn't working label Feb 12, 2024
@vaxerski vaxerski transferred this issue from hyprwm/Hyprland Feb 12, 2024
@vaxerski
Copy link
Member

dupe of #172

@vaxerski vaxerski closed this as not planned Won't fix, can't repro, duplicate, stale Feb 12, 2024
@muhhae
Copy link

muhhae commented Feb 17, 2024

I have the exact same problem with zoom, and no problem at all with OBS in #172

@vaxerski vaxerski reopened this Feb 17, 2024
@cgevans
Copy link

cgevans commented Feb 17, 2024

Of potential relevance, I get the following warnings only when screen sharing with zoom (and getting inverted video). OBS / WebRTC work fine. Zoom is in forced-pipewire mode.

[LOG] [screencopy] Sharing initialized
[WARN] [pipewire] Asked for a wl_shm buffer which is legacy.
[WARN] [pipewire] Asked for a wl_shm buffer which is legacy.
[WARN] [pipewire] Asked for a wl_shm buffer which is legacy.
[WARN] [pipewire] Asked for a wl_shm buffer which is legacy.
[WARN] [pipewire] Asked for a wl_shm buffer which is legacy.
[WARN] [pipewire] Asked for a wl_shm buffer which is legacy.
[WARN] [pipewire] Asked for a wl_shm buffer which is legacy.
[WARN] [pipewire] Asked for a wl_shm buffer which is legacy.

@vaxerski
Copy link
Member

yeeeeaaa that might be the reason

@jdratlif
Copy link
Author

I noticed in the other issue someone mentioned it worked with an AMD GPU. I tried it on a system with an nVidia GPU and zoom screensharing seemed to work.

@jdratlif
Copy link
Author

Same for me on my intel GPU laptop. wl_shm buffer warnings from pipewire, but OBS works fine.

@AlexNabokikh
Copy link

I am experiencing the same problem on both my Lenovo z13 laptop and custom-built desktop PC (both have AMD CPUs and GPUs). When I share my screen on Zoom, it either shows an inverted color screen capture or a black screen.

@JordanFaust
Copy link

I'm experiencing the same problem as well. This is on a new Thelio desktop with a AMD Ryzen 9 7950X CPU and AMD Radeon RX 7600 GPU. I'm using unstable NixOS installs of hyprland and this portal to pull the latest. I get a black screen when attempting to share directly with Zoom and with OBS I get an image that quickly freezes for both full desktop window sharing and a specific application.

Before I was experiencing the exact same issue with an Intel CPU and Nvidia Graphics card. The move to AMD has unfortunately not made any difference.

I'm seeing the same error message as above: Asked for a wl_shm buffer which is legacy.

Pipewire is completely bombing out with the direct Zoom share:

Mar 01 11:00:39 thelio pipewire[3024]: pw.context: Object: size 176, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:     Id 2        (Spa:Enum:MediaType:video)
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:     Id 131074   (Spa:Enum:MediaSubtype:mjpg)
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:     Rectangle 1920x1080
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:   Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:     Choice: type Spa:Enum:Choice:Enum, flags 00000000 80 8
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:       Fraction 30/1
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:       Fraction 30/1
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:       Fraction 24/1
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:       Fraction 20/1
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:       Fraction 15/1
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:       Fraction 10/1
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:       Fraction 15/2
Mar 01 11:00:39 thelio pipewire[3024]: pw.context:       Fraction 5/1
Mar 01 11:00:39 thelio pipewire[3024]: pw.link: (54.0.1 -> 84.0.0) negotiating -> error (no more input formats) (configure-configure)

The above is just a snippet of the errors. I believe it is outputing the different formats attempted before failing due to no matching format.

@AlexNabokikh
Copy link

@vaxerski Do you need any additional information to proceed? Is there anything I can do to move forward with resolving this issue (logs, steps to reproduce, anything else)?

@vaxerski
Copy link
Member

vaxerski commented Mar 19, 2024

not really. I am not well-versed in the pw/drm/gbm department and thus dunno what the issue is.

From what I can gather, it would "fix itself" if zoom started using dmabuf.

Feel free to debug for yourself.

@AlexNabokikh
Copy link

After updating to version 5.17.11 (3835), native Zoom screen sharing works without any issues.

@jdratlif
Copy link
Author

I wish I could say the newer zoom worked for me, but alas, there is no difference in behavior. AMD and nVidia cards seem much more likely to work than intel. Maybe someday I'll get a new laptop, or zoom will go fully native wayland and this problem will go away, or some change to wl-roots will fix this.

@AlexNabokikh
Copy link

@jdratlif There are a few workarounds that you can try. The most obvious one is to use the Progressive Web App (PWA) version of Zoom. In other words, use Zoom from your browser by visiting https://app.zoom.us/wc/home.

Another way is to use tools like wl-screenrec, wf-recorder, or OBS as a second camera via v4loopback. You can then share your screen using Advanced Sharing options in Zoom. It works really well.
You can even run this loopback camera as a service to make it always available.

[Unit]
Description=Script Daemon for wl-screenrec for Zoom screen share
Conflicts=testcard.service

[Service]
Type=simple

ExecStart=%h/.cargo/bin/wl-screenrec --ffmpeg-muxer v4l2 -f /dev/video10 -o DP-7
Restart=on-failure
StandardOutput=null

[Install]
WantedBy=default.target

But put it honestly, even after this update, I am considering going back to PWA. The reason being, PWA just works, and needs no additional binaries on my machine. Additionally, it is possible to use the dark version of PWA with dark reader or other alternatives. For me, there are not many reasons to continue using the desktop version of Zoom.

@jdratlif
Copy link
Author

Using OBS as a second camera is interesting. I recall being able to use OBS under hyprland before.

I've used the PWA before. I dislike the fact that it doesn't support HD camera, but that's minor. The more pressing problem for me is that it always seems to log me out. Whenever I click on a zoom meeting from slack, I'm signed out, so I have to be admitted to the meeting, or remember to go to zoom first on the web, sign in, then click the meeting. I don't really understand what's going on with that.

I'm using Cinnamon right now, which is still on X11. It has pretty good tiling options for a non-TWM. Though with Gnome and Gnome based desktops (like cinnamon), trying to control a team member's macOS keyboard from Linux doesn't work right. I can't use any of the keyboard shortcuts, where as in Sway or i3 (and probably hyprland though I haven't had a chance to try it), I can use Super+C for Cmd+C and it just works. I really like that, and I can't find a way to do it on Gnome. I might try hyprland again with the PWA or using OBS and see if that's a better compromise than Cinnamon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants