Skip to main content
1 of 9
zjeffer
  • 495
  • 2
  • 6
  • 26

Screensharing with Firefox and Discord makes the mouse unresponsive on the shared monitor

My system

zjeffer@Arch-zjeffer 
-------------------- 
OS: Arch Linux x86_64 
Host: 80WK Lenovo Y520-15IKBN 
Kernel: 5.11.1-arch1-1 
Uptime: 12 hours, 2 mins 
Packages: 1606 (pacman) 
Shell: zsh 5.8 
Resolution: 1920x1080, 1920x1080, 1920x1080 
WM: bspwm 
Theme: Nordic-Polar [GTK2/3] 
Icons: Papirus-Light-nordic-blue-folders [GTK2/3] 
Terminal: gnome-terminal 
CPU: Intel i7-7700HQ (8) @ 2.800GHz 
GPU: NVIDIA GeForce GTX 1050 Mobile 
GPU: Intel HD Graphics 630 
Memory: 2662MiB / 7845MiB
  • bpswm
  • compton, this fork
  • nvidia 460.39-11, with Nvidia's DRM KMS
  • xorg-server 1.20.10-3

The problem

When I screenshare an entire screen using Discord or Firefox, the shared screen becomes completely unresponsive to my mouse. Window-sharing works fine. Here are the facts:

  • I share a screen using Discord or Firefox. The screensharing starts and people can see my screen. People can't see my mouse on the shared screen.
  • My mouse can't click anything on the shared screen, nor scroll. There are no hovering effects (for example: in Spotify, hovering over buttons should make them bigger and green, links should be underlined, that doesn't happen on the frozen screen)
  • Screensharing works fine in Chromium and Microsoft Teams.
  • The keyboard still works. Video still works, everything still moves fine.
  • Using keyboard shortcuts, I can still change desktops on the frozen screen.
  • Moving a window from the 'frozen' screen to a different one (using keyboard shortcuts) makes that window clickable again. Moving it back undoes it, indicating that it is definitely the screen and not the window that stops responding to clicks.
  • Clicking away dunst notifications works. My rofi start menu opens fine and is interactive.
  • Screen recording works fine with SimpleScreenRecorder and OBS.
  • Taking screenshots on the frozen screen works using spectacle: I can click and drag a rectangle on the frozen screen to take a cropped screenshot (if I open spectacle on another monitor of course, otherwise I wouldn't be able to click the Take a new screenshot button)
  • This has been happening for many months, maybe a year.
  • My bspwm settings are set so that if I hover over a window, that window becomes focused. On the frozen screen, only the last focused window becomes focused. I can't focus between two windows using the mouse, but bspwm does notice that my mouse is on that screen.

Logs

Running Firefox in a terminal and screensharing outputs the following output when I start sharing:

[GFX1-]: Failed GL context creation for WebRender: 0
[GFX1-]: FEATURE_FAILTURE_WEBRENDER_INITIALIZE_UNSPECIFIED
[GFX1-]: Failed to connect WebRenderBridgeChild.
[GFX1-]: Compositors might be mixed (5,1)

Using xprop on a window on the frozen screen gives the following output:

WM_STATE(WM_STATE):
        window state: Normal
        icon window: 0x0
WM_NAME(STRING) = "eDP-1-1"
WM_CLASS(STRING) = "root", "Bspwm"

If I use xprop on the desktop, I get the same message (which is expected). xprop seems to think the selected window on the frozen screen is the root bspwm class.

  • There is nothing in dmesg.
  • There is nothing in journalctl.
  • There is nothing in /var/log/Xorg.0.log.

What I've tried already

  • Closing ALL windows on all screens fixes the frozen screen (so does logging out/rebooting).
  • Killing and restarting polybar makes polybar clickable again on the frozen screen. All other windows on the frozen screen will still be unresponsive.
  • I tried screensharing with compton disabled
  • I tried screensharing without Nvidia's DRM KMS
  • I tried running Firefox in safe mode
  • I tried disabling hardware acceleration in both Firefox and Discord
  • I tried only connecting one monitor instead of 3

Some questions

I have some questions that might help me troubleshoot this issue:

  1. Do Firefox and Discord use another technology to screenshare than Chromium and Teams? What could be the reason it works on Chromium & Teams, but not on Firefox and Discord?

  2. What else can I provide (logs, system info, ...)?

zjeffer
  • 495
  • 2
  • 6
  • 26