Holy 💩 y’all – I just spent two weeks not being able to share my screen on Ubuntu. It started with a regular system update that I think updated Wayland. I noticed that my fonts in certain applications looked sharper – likely meaning that the 4k scaling was working better. Then I noticed that zoom wouldn’t share the whole screen, it would just share a portion. 😩
To be clear about my setup, I was running Ubuntu 20.04 LTS with a dual monitor setup. I had been using Wayland because my XPS built-in screen is 4k and my external is standard HD (1080p).
As luck would have it, Ubuntu 22.04 LTS was recently in my update queue, and I figured it couldn’t get much worse. So I upgraded, but (womp womp) it didn’t help.Continue reading
Now zoom wouldn’t show a normal screen sharing option, but it had a new “System Capture” selection.
The system capture selection would bring up another new prompt:
But after I clicked “Share” nothing would happen. People on the other end would just see a black screen.
After some research it seems that the new sharing subsystem for Wayland is called PipeWire. In my quest to debug it end-to-end I found this handy guide for debugging screen sharing in Wayland, the “It doesn’t work” Troubleshooting Checklist.
One of the steps is to check the pipewire service itself:
systemctl --user status pipewire
And mine was up-and-running but was returning this warning in yellow:
no modules loaded
That led me to this post: https://www.linuxquestions.org/questions/slackware-14/using-pipewire-instead-of-pulseaudio-in-slackware-15-a-4175693980/page9.html
Yes it was for a different distro (Slackware) but one of the pieces of advice seemed sound:
Long story short, remove every little file from /etc/pipewire if exists and reboot the system.
I’m not sure why the folder was there with an old config file in it. Likely from when I was on 20.04 and tried upgrading PipeWire to try to fix zoom (which didn’t work).
I deleted that folder (actually moved it to a temporary place first), rebooted and it did the trick. Screen sharing is back on! Good thing because my job depends on it 💪