Zoom-Client No Screen Share on Wayland

Hi everyone!

I’ve been using the Zoom-client snap and it’s worked very well for me. Love it <3 However, now that Ubuntu 21.04 uses Wayland’s as default, the screen sharing functionality stop working.

As I could read on the github apparently there are problems with etc/os-release returns “Ubuntu Core” so the Zoom-client snap does not enable the screen sharing in Wayand.

Does anyone know more about this problem? I love using this snap, but I don’t know if it’s time to switch to zoom direct package or changed to x11 :frowning:

1 Like

Sounds like a problem with portals and/or pipewire. Can you double check that xdg-desktop-portal and pipeweire are installed?

No, it is a problem with zoom (and i think i wrote that in the zoom-client issues somewhere too …) it checks /etc/os-release and only allows wayland screensharing on a hardcoded list of distros … snaps report “Ubuntu Core” here (which is indeed not in that list) and that file can not be overlayed with a layout it seems …

Hi! @mborzecki @ogra

In other words, is there nothing to do? :frowning: I really like the snap, thanks for making it!

Maybe there is a way to tell the Zoom people to add to the list the “Ubuntu-core”? (I’m speaking from my lack of experience, just as a suggestion)

I think this is a really popular snap, so probably many people that move to Ubuntu 21.04 They’re going to run into this problem.

Right, my plan was to actually ask the zoom guys to get it added to the whitelist eventually … by my time to work on private snaps is recently a little short so i have not found the time to attack that problem …

OTOH it might be helpful for some other snaps as well to be able to map /var/lib/snapd/hostfs/etc/os-release to /etc/os-release inside the snap space to allow a snap to get info about the actual host system it runs on … which would be something that snapd would need to allow (in the layout implementation i suppose) …

AFAIU that won’t happen. The blessed solution for a snap wanting to know what system it is running on, is to plug system-observe and then inspect the contents of /var/lib/snapd/hostfs/etc/os-release.

2 Likes

Edit* So… there’s something that can be done? Maybe?

I hope so! <3

Thanks to both of you! :slight_smile:

Just in case someone else comes around with os-release issues like this one, i found a rather gross workaround to the problem (but hey, duct tape and strings hold the world together :slight_smile: and it works …)

Zoom gets its info from its own shipped libQt5Core lib which uses the hardcoded /etc/os-release path…

…to overcome snapd’s limitation of not being able to touch the actual /etc/os-release i have added a layout using the file path with 1 char changed pointing to a place to where i can copy the actual os-release file:

layout:
...
  /etc/os/release:
    symlink: $SNAP_DATA/os-release
...

now, from an override-build entry i monkey-patch this 1 char in the binary lib to read this file instead:

    override-build: |
...
      sed -i "s;/os-release;/os/release;" opt/zoom/libQt5Core.so.5.*.*
...

additionally i added the system-observe plug to my configure hook:

hooks:
  configure:
    plugs:
...
      - system-observe

and added the following shell snippet to the top of that hook code:

if [ -e /var/lib/snapd/hostfs/etc/os-release ]; then
    cp /var/lib/snapd/hostfs/etc/os-release $SNAP_DATA/
else
    logger -t $SNAP_NAME "can not find os-release file !"
fi

That’s it …

$ grep OS: ~/snap/zoom-client/current/.zoom/logs/zoom_stdout_stderr.log.old 
[CZPClientLogMgr::LogClientEnvironment] [MacAddr: XX:XX:XX:XX:XX:XX][client: Linux][OS:  Ubuntu 20.04.2 LTS x64][Hardware: CPU Core:6 Frenquency:4 G Memory size:32024MB CPU Brand:Intel(R) Core(TM) i5-10600K CPU @ 4.10GHz GPU Brand:][Req ID: ]

Zoom now properly reports the content of the hosts os-release file and access to wayland screen sharing is judged based on the correct data …

3 Likes

Any news on this? I hoped snap might be a good way to keep up to date with the Zoom client, as it updates regularly and installing the debs manually (what Zoom suggests) is a pain. But with the snap I ran into this issue of not being able to share my screen. Going back to the debs, it works fine.