That's not really a container though, Firefox by default has a wide-range access. As someone who has to use Zoom, I use firejail, which is a true container, super easy to use and comes with a profile for Zoom out-of-the-box.
to fine-tune access for storing chat logs under the default path.
It is also very easy to sandbox X11 access with firejail (which uses Xpra or Xephyr), but I only have Zoom running when I use it, and I often need share my screen, so I don't enable it.
I found the video quality and responsiveness to be far worse, and I have to teach and work over Zoom. I tried running the desktop client virtualized as well, with similar results.
So… sketchy it is. I find myself wondering what it’s doing with 15% CPU when not in a meeting. Feelsbad.
Discreet GPUs support encoding/decoding a lot more streams than the integrated stuff. Depending on the generation of Quicksync you have, the codec used by Zoom might not be hardware accelerated at all, though I think Zoom uses h264, so you'd have to be on some pretty old hardware.
I don't know about zoom specifically, but most video conferencing programs counterintuitively don't use hardware video encoders/decoders.
They use the GPU for visual effects (background blur etc), but then do regular CPU video encoding. That's why they gobble so much CPU!
I think that helps with system compatibility. Hardware video encoders are full of bugs and corner cases, and it's very easy for someone to end up seeing a garbled image when the bitstream was truncated or bad in some way.
Have you tried running the desktop client in a container? Lots of options for this on Linux.
There shouldn't be any significant virtualization penalty. My guess is that it uses hardware video codec acceleration and that wasn't accessible in the VM you had set up? If the guest was Windows, looks like nvidia has supported this since host driver version v465 or later.
The systemd slice approach is the same mechanism as containers.
The security problem is being able to talk to the same X server as trusted applications. X clients can do pretty much all the things you don't want Zoom to do; look at your screen, observe your keystrokes, etc. (Sadly, many of Zoom's features, like screen sharing, are also great things for spyware to do in the background. Not saying Zoom does this, but if you don't trust them, this level of access is the part that worries people, not consuming too much CPU.)
> The security problem is being able to talk to the same X server as trusted applications
Use Ctrl+Alt+F<number> to switch into another VT and run a different X server. Run zoom in container there.
I found this a lot more convenient than messing with nested X servers and other types of X11 client isolation. Each time you leave an X server and switch to another VT, the clients perceive it like the monitor being turned on/off.
Thank you for this, easy solution that didn't cross my mind. I wanted to restrict Zoom from reading files (solved by a sandbox) while also sharing my screen from my normal environment (VM is out of the picture) but also preventing it from looking at the X clipboard and all that stuff.
I did, but had trouble getting it to work. It was a while ago though, and the image I was working from was old/unmaintained even at the time. Linux guest. Do you have any examples to hand?
I recently uninstalled the desktop version due to how broken it is on Wayland.
To give credit where due, their web client has improved a lot over time, so now it is a legitimate replacement. (Apart from the nag screen to use their desktop version. It would also be great to have it as a separate PWA though rather than a tab, I should look into that)
I unset WAYLAND_DISPLAY when running Zoom’s desktop client, to make it use X (thus XWayland). This fixes the crash-on-meeting-join problem it’s had for some months now, theoretically at the cost of screen sharing, but as a Sway user that was already not working, as they only support GNOME rather than using xdg-desktop-portal like everyone else.
Brilliant! I hadn't been able to find a solution for that one! (I'm still gonna stick with the web version for now since that way I can screenshare, but good to know there's a solution to one of my issues)
my main gripe with zoom on linux (besides being forced to use it at all) is that it sets my microphone volume to 0 every time i join a new meeting or breakout room
I had issues so now I do it in microsoft edge on linux and it's been fine. Yeah, microsoft's browser is on linux, wild times... it's their first browser on *nix since IE 5.0 SP1 in 2001.
I remember having a Sparc Ultra 5 that I used remote X with to run IE5 on my linux system at the time for those sites that absolutely insisted that I used IE and wouldn't work with NN. Fun times ... actually no, that kinda sucked.
that's true -- but given that not all desktop environments respect the idea of *.desktop , and not all distributions use /.local/share, so , pedantically, the parent that suggests 'taskset -c 0-4 ZoomLauncher' suggests a tip that will work on just about every linux distribution, however the git snippet that was linked as the parent of this thread will only work on a handful of distribution/desktop-environment combinations.
tl;dr : parent to your comment suggests a more generalized 'for linux' solution that doesn't depend on specific flavor nuances and desktop environs.
(user 10000truths has a good point, it sets memory ceilings as well -- this should still be done in a way that is distro-agnostic.)
Can someone enlighten me on what actually happens? I run zoom (desktop client) everyday for short standups and hour+ long architecture/tech discussions and code reviews, and I've never really noticed the CPU usage?
(Linux Mint 20 with 5.14.12-xanmod1 on a t480s, which reminds me I need to reboot since I have 5.14.18 installed and waiting...)
If I run Zoom on Mac, I find that once a week, I have to reset my PRAM. If I don't, my Mac freezes for a few seconds whenever I use the volume up/down buttons, or whenever I screen share on Zoom.
I don't know if it still does this but Zoom used to just preemptively murder coreaudiod at startup. Which was not ideal, to say the least. I assume this is also why it sketchily reads all process names at startup on Linux: it is trying to find and destroy pulseaudio.
Really, there's no reason to permit the Zoom application to get anywhere near your computer. Just run it in a web browser.
PSA: AllowedCPUs only works with systemd.unified_cgroup_hierarchy=1. Until Docker 20.10 you needed unified_cgroup_hierarchy=0, and Ubuntu just switched in 21.10.
I’d love to do this, but the web client is (as of a month or two ago) missing “grid view,” which makes it useless to me for team meetings. Seeing everyone at once is very nice
Chrome has some APIs that Firefox doesn't; for example, Jitsi video conferencing supports e2ee videoconferencing on chrome, but not Firefox, due to Chrome having an API that let them do the manipulation on the video stream after it hits the client (I think. My memory is fuzzy.)