GNOME running on X11 freezes during Screen Share

Hello community,

I need support and suggestion to investigate and debug why my GNOME running on Xorg freezes after a few mins when I do screen share over MS Teams or over Skype.

All my packages are up to date

Here's my inxi -mFxxxzzz
❯ inxi -mFxxxzzz
System:
  Kernel: 6.5.5-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc Desktop: GNOME v: 44.5 tk: GTK v: 3.24.38 wm: gnome-shell
    dm: GDM v: 44.1 Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: Dell product: Latitude 7280 v: N/A
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: Dell model: 0KK5D1 v: A00 serial: <superuser required> UEFI: Dell
    v: 1.13.0 date: 11/12/2018
Battery:
  ID-1: BAT0 charge: 49.4 Wh (100.0%) condition: 49.4/60.0 Wh (82.4%)
    volts: 8.5 min: 7.6 model: LGC-LGC7.780 DELL MYJ9678 type: Li-ion
    serial: <filter> status: full
Memory:
  System RAM: total: 16 GiB available: 15.51 GiB used: 3.34 GiB (21.6%)
  RAM Report: permissions: Unable to run dmidecode. Root privileges
    required.
CPU:
  Info: dual core model: Intel Core i5-6300U bits: 64 type: MT MCP
    smt: enabled arch: Skylake rev: 3 cache: L1: 128 KiB L2: 512 KiB L3: 3 MiB
  Speed (MHz): avg: 475 high: 500 min/max: 400/3000 cores: 1: 400 2: 500
    3: 500 4: 500 bogomips: 20004
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel Skylake GT2 [HD Graphics 520] vendor: Dell driver: i915
    v: kernel arch: Gen-9 ports: active: HDMI-A-1 off: eDP-1
    empty: DP-1,HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:1916 class-ID: 0300
  Device-2: Microdia Integrated_Webcam_HD driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 1-5:2 chip-ID: 0c45:6717
    class-ID: 0e02
  Display: x11 server: X.org v: 1.21.1.8 with: Xwayland v: 23.2.1
    compositor: gnome-shell driver: X: loaded: modesetting alternate: fbdev,vesa
    dri: iris gpu: i915 display-ID: :1 screens: 1
  Screen-1: 0 s-res: 2560x1440 s-size: <missing: xdpyinfo>
  Monitor-1: HDMI-A-1 mapped: HDMI-1 pos: primary model: Samsung LU28R55
    serial: <filter> res: 2560x1440 hz: 60 dpi: 103
    size: 632x360mm (24.88x14.17") diag: 727mm (28.6") modes: max: 3840x2160
    min: 720x400
  Monitor-2: eDP-1 note: disabled model: AU Optronics 0x106c res: 2560x1440
    dpi: 126 size: 276x155mm (10.87x6.1") diag: 317mm (12.5") modes: 1366x768
  API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris
    device: 1 drv: swrast surfaceless: drv: iris x11: drv: iris
    inactive: gbm,wayland
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 23.1.9-manjaro1.1
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel HD Graphics 520 (SKL GT2)
    device-ID: 8086:1916
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio vendor: Dell driver: snd_hda_intel
    v: kernel bus-ID: 00:1f.3 chip-ID: 8086:9d70 class-ID: 0403
  API: ALSA v: k6.5.5-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator
  Server-1: sndiod v: N/A status: off
  Server-2: JACK v: 1.9.22 status: off
  Server-3: PipeWire v: 0.3.81 status: off
  Server-4: PulseAudio v: 16.1 status: active with: pulseaudio-alsa
    type: plugin
Network:
  Device-1: Intel Ethernet I219-LM vendor: Dell driver: e1000e v: kernel
    port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15d7 class-ID: 0200
  IF: enp0s31f6 state: down mac: <filter>
  Device-2: Intel Wireless 8265 / 8275 driver: iwlwifi v: kernel pcie:
    speed: 2.5 GT/s lanes: 1 bus-ID: 02:00.0 chip-ID: 8086:24fd class-ID: 0280
  IF: wlp2s0 state: up mac: <filter>
  IF-ID-1: br-04f8c7439594 state: up speed: 10000 Mbps duplex: unknown
    mac: <filter>
  IF-ID-2: br-33a3ed974360 state: down mac: <filter>
  IF-ID-3: br-98bed7c05640 state: up speed: 10000 Mbps duplex: unknown
    mac: <filter>
  IF-ID-4: br-cfeaac499d75 state: down mac: <filter>
  IF-ID-5: docker0 state: down mac: <filter>
  IF-ID-6: veth3d57ba2 state: up speed: 10000 Mbps duplex: full
    mac: <filter>
  IF-ID-7: veth498e3c4 state: up speed: 10000 Mbps duplex: full
    mac: <filter>
  IF-ID-8: vetha8b091b state: up speed: 10000 Mbps duplex: full
    mac: <filter>
  IF-ID-9: vethad93721 state: up speed: 10000 Mbps duplex: full
    mac: <filter>
  IF-ID-10: vethd711787 state: up speed: 10000 Mbps duplex: full
    mac: <filter>
  IF-ID-11: vethfbdf488 state: up speed: 10000 Mbps duplex: full
    mac: <filter>
Bluetooth:
  Device-1: Intel Bluetooth wireless interface driver: btusb v: 0.8 type: USB
    rev: 2.0 speed: 12 Mb/s lanes: 1 bus-ID: 1-7:3 chip-ID: 8087:0a2b
    class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 4 state: up address: see --recommends
Drives:
  Local Storage: total: 476.94 GiB used: 142.02 GiB (29.8%)
  ID-1: /dev/nvme0n1 vendor: Fanxiang model: S500PRO 512GB size: 476.94 GiB
    speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter> fw-rev: SN09273
    temp: 39.9 C scheme: GPT
Partition:
  ID-1: / size: 459.43 GiB used: 142.01 GiB (30.9%) fs: ext4
    dev: /dev/nvme0n1p2
  ID-2: /boot/efi size: 299.4 MiB used: 312 KiB (0.1%) fs: vfat
    dev: /dev/nvme0n1p1
Swap:
  ID-1: swap-1 type: partition size: 8.8 GiB used: 1024 KiB (0.0%)
    priority: -2 dev: /dev/nvme0n1p3
Sensors:
  System Temperatures: cpu: 40.0 C pch: 39.5 C mobo: 35.0 C sodimm: SODIMM C
  Fan Speeds (rpm): cpu: 0
Info:
  Processes: 265 Uptime: 1d 2h 42m wakeups: 124 Init: systemd v: 254
  default: graphical Compilers: gcc: 13.2.1 clang: 16.0.6 Packages: 1819
  pm: pacman pkgs: 1809 pm: flatpak pkgs: 10 Shell: Zsh v: 5.9
  running-in: kitty inxi: 3.3.30```

Thanks in advance

As the system is using integrated GPU on shared memory - my initial thought is - how much RAM is assigned to graphics in your system’s firmware.

What if you use Wayland instead of X11?

Aslo, are you using AUR or Flatpak versions of these softwares?

Thanks for your reponse.

It’s integrated.

My glxinfo looks like this
❯ glxinfo | egrep -i 'device|memory'                                                             
    Device: Mesa Intel(R) HD Graphics 520 (SKL GT2) (0x1916)
    Video memory: 15880MB
    Unified memory: yes
    GL_AMD_performance_monitor, GL_AMD_pinned_memory, 
    GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_memory_object, 
    GL_EXT_memory_object_fd, GL_EXT_packed_depth_stencil, GL_EXT_packed_float, 
    GL_AMD_pinned_memory, GL_AMD_query_buffer_object, 
    GL_EXT_gpu_shader4, GL_EXT_memory_object, GL_EXT_memory_object_fd, 
    GL_EXT_instanced_arrays, GL_EXT_map_buffer_range, GL_EXT_memory_object, 
    GL_EXT_memory_object_fd, GL_EXT_multi_draw_arrays, 

Using AUR for Skype and Teams.

We already knew that - the question at hand is the memory assigned to the GPU.

There is no request for glxinfo - merely a pointer that you should verify your system firmware and allow for as much possible RAM to be assigned to your GPU.

The freeze could be caused by insufficient RAM allocation to GPU - but as your system is aged it is likely a memory issue for the processing of the screen share and this may not be easily remedied.

Thanks for you response and it makes sense that the system has aged. I know I shouldn’t compare but screen share in Windows works in the same machine unfortunately.

My GPU memory is 256MB

Here's more details about my GPU memory
$ lspci -v -s 00:02.0

00:02.0 VGA compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07) (prog-if 00 [VGA controller])
	DeviceName:  Onboard IGD
	Subsystem: Dell Skylake GT2 [HD Graphics 520]
	Flags: bus master, fast devsel, latency 0, IRQ 135
	Memory at ee000000 (64-bit, non-prefetchable) [size=16M]
	Memory at d0000000 (64-bit, prefetchable) [size=256M]
	I/O ports at f000 [size=64]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: i915
	Kernel modules: i915

If it because of aging system, then I accept it.

Not sure how you feel about flatpaks, but an idea is to try that. You never know.

still not answered…

I stand corrected.

I never noted that before - it looks kind’a weird though - all available memory as possibly video memory?

What I was referring to was the allocation in firmware and it appears like 256M

I am speculating - simply because I don’t know any answer - just some developer thinking over some aspects.

Assuming the screen share works for a while then freezes I am speculating if the apps is web based or native Linux apps?

If they are web based then one speculates if it is the browser doing software encoding or trying to use hardware encoding but runs dry.

Have you tried watching the process using htop or similar tool? You can filter for a specific process.

Of course when you can do the same using Windows it points to the implementation of Teams or Skype for Linux - which falls back on Microsoft - there is not much we can do to troubleshoot.

To be able to know how to work around would require forum members actually using Teams and Skype.

For the rare occasions where I need it I use Teamviewer.

I think I did participate in using Teams on one occasion and it failed miserably - we had to turn to Teamviewer.

Thank you so much for detailed answer.

Assuming the screen share works for a while then freezes I am speculating if the apps is web based or native Linux apps?

Yes you’re correct. It works for a while and start to freeze and completely freezes. Sometimes, Alt + F2 works and I could run killall -3 gnome-shell and the whole GNOME restart, otherwise I have to do a hardware restart.

Have you tried watching the process using htop or similar tool? You can filter for a specific process.

I do see the process takes quite a bit of CPU like 20-30% since its an aging machine but I do have enough memory during the screenshare.

Eventually the system freezes and I have to kill the GNOME session completely to come back to a working session again.

If they are web based then one speculates if it is the browser doing software encoding or trying to use hardware encoding but runs dry.

I am sure MS Teams and Skype, both are Electron based application.

I think I did participate in using Teams on one occasion and it failed miserably - we had to turn to Teamviewer.

Unfortunately, MS Teams has “almost” become defacto standard in small to large enterprises. There might not be anyway around it sooner or later.

What if you use Wayland instead of X11?

Unfortunately, we have some workplace specific closed sourced application which only works on Xorg. Wayland is not an option for now.

Do you have enough disk space to try adding a small KDE Plasma installation partition to verify if it’s Gnome related?