picom icon indicating copy to clipboard operation
picom copied to clipboard

Zoom Screen Sharing Freezes

Open JBlocklove opened this issue 2 years ago • 2 comments

Platform

Arch Linux 5.19.7-arch1-1

GPU, drivers, and screen setup

Intel i5-1135G7

xf86-video-vesa 2.5.0-3

Environment

dwm

picom version

vgit-51b21

Diagnostics
**Version:** vgit-51b21

### Extensions:

* Shape: Yes
* XRandR: Yes
* Present: Present

### Misc:

* Use Overlay: No
  (Another compositor is already running)
* Config file used: /home/jason/.config/picom/picom.conf

### Drivers (inaccurate):

modesetting

### Backend: glx

* Driver vendors:
 * GLX: Mesa Project and SGI
 * GL: Intel
* GL renderer: Mesa Intel(R) Xe Graphics (TGL GT2)
* Accelerated: 1

Configuration:

Configuration file
animations: true;
animation-stiffness = 125
animation-window-mass = 0.3
animation-dampening = 15
animation-clamping = true
animation-for-open-window = "zoom"; #open window
animation-for-unmap-window = "zoom"; #minimize window
animation-for-transient-window = "slide-down"; #popup windows

shadow = false;
shadow-radius = 60;
shadow-offset-x = -20;
shadow-offset-y = -20;

backend = "glx"

shadow-exclude = [
  "name = 'Notification'",
  "class_g = 'Conky'",
  "class_g ?= 'Notify-osd'",
  "class_g = 'Cairo-clock'",
  "class_g = 'dwm'",
  "class_g = 'chromium'",
  "class_g *?= 'slop'",
  "_GTK_FRAME_EXTENTS@:c"
];

fading = true;
fade-in-step = 0.025;
fade-out-step = 0.035;

inactive-opacity-override = true;

focus-exclude = []

corner-radius = 0

blur: {
  method = "dual_kawase";
  strength = 10;
  background = true;
  background-frame = false;
  background-fixed = false;
}

blur-background-exclude = [
  "window_type = 'dock'",
  "window_type = 'desktop'",
  "_GTK_FRAME_EXTENTS@:c",
  "class_g = 'Firefox'",
  "class_g = 'Dunst'",
  "class_g = 'zoom'",
];

vsync = true

mark-wmwin-focused = true;

mark-ovredir-focused = true;

detect-rounded-corners = true;

detect-client-opacity = false;

use-ewmh-active-win = true;

unredir-if-possible = true
unredir-if-possible-exclude = [
  "class_g = 'zoom'",
]

detect-transient = true;

glx-no-stencil = true;

use-damage = true;

xrender-sync-fence = true;

transparent-clipping = false;

log-level = "warn";

wintypes:
{
  tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
  dock = { shadow = false; clip-shadow-above = true; }
  dnd = { shadow = false; }
  popup_menu = { opacity = 0.8; }
  dropdown_menu = { opacity = 0.8; }
};

opacity-rule = [
  "50:class_g = 'St' && !focused",
  "100:class_g = 'St' && focused",
  "100:fullscreen",
];

Steps of reproduction

  1. Begin zoom meeting
  2. Share any desktop

Expected behavior

Zoom should begin sharing the screen and showing screen updates

Current Behavior

The share window appears with the desktop at the time the window was opened frozen on it (looks similar to a screenshot). Screens can be brought forward by making them float but it is unclear if this makes them properly visible to others in the meeting. Killing picom fixes the issue.

JBlocklove avatar Sep 14 '22 18:09 JBlocklove

I did some further poking around and the problem gets solved by removing animation-for-open-window = "zoom";

Not sure if it's a naming thing, since the window class for Zoom is zoom, but it would probably be beneficial to have the ability to exclude certain programs from animations if this problem can't be otherwise fixed.

JBlocklove avatar Sep 30 '22 16:09 JBlocklove

Hah, the fact that this happens for the "zoom" animation seems like quite the fun coincidence (I seriously doubt this has anything to do with the name, as the animation name isn't even stored internally).

My guess is that it's something to do with the fact that the "zoom" animation plays around a lot with the displayed window size, but we'll see. Regardless, the ability to exclude certain programs from animations is certainly going to be added.

dccsillag avatar Dec 10 '22 00:12 dccsillag