Ubuntu 22.04 has a bug which is we can't share our screen on any platforms.
9 Answers
The issue with Ubuntu 22.04 is that it now uses a display feature called wayland by default, while in versions prior to 21.04 Ubuntu defaulted to using xorg as its display server. Wayland does not support screen sharing by default (until now, at least!).
To check which display system your Ubuntu is using, please enter this command
echo $XDG_SESSION_TYPE
If the above command outputs wayland, your system is using wayland.
In order to use screen sharing, we have to disable wayland and enable xorg (x11). To do this,
Please go to this file
sudo nano /etc/gdm3/custom.conf
Uncomment this line.
WaylandEnable=false
Reboot your system.
Voila! You can share your screen. You can confirm this by re-entering this command.
echo $XDG_SESSION_TYPE
Now it should display x11.
-
7Lifesaver, thank you. I've had this issue ever since upgrading to 22.04, I'm still shocked this question barely has any upvotes. May 12, 2022 at 6:43
-
4people using DisplayLink could have problems because of x11 compatibility (using 2 displays through a docking station, for example)– rogelioJun 9, 2022 at 20:45
-
5The minimum qualification for using Ubuntu should be to be a stackexchange user lol. This is really bad practice they break functionality in a stable upgrade.– dakiniAug 16, 2022 at 11:32
-
12this gets you working with thirty year old tech, a more modern solution: see next answer (enabling chrome pipewire support) Aug 23, 2022 at 16:46
-
7
Only works for web browser
Go to chrome://flags/#enable-webrtc-pipewire-capturer
using the address bar of your browser.
Click the drop down menu, and click Enabled.
Finally Restart the browser
This will enable the browser to prompt screenshare access
-
4
-
1It worked perfectly for me and without the need of switching to Xorg. Aug 24, 2022 at 4:32
-
3Actually, it doesn't need to reboot the system, just restart the chrome. Sep 9, 2022 at 1:56
-
1This doesn't work for me using Chrome, Teams and Ubuntu 22.04 with Wayland and who know what other components are relevant to this Sep 28, 2022 at 9:47
-
1
For Slack in-app screen recording and screen sharing:
- Quit the Slack app completely (use
Quit
from the tray icon). - In the terminal:
slack --enable-features=WebRTCPipeWireCapturer
- See if it works.
- (Optional) Persist the change across reboots:
gedit admin:///usr/share/applications/slack.desktop
In text editor find a line that says:
Exec=/usr/bin/slack %U
Change the line to say:
Exec=/usr/bin/slack --enable-features=WebRTCPipeWireCapturer %U
That's it. Tested on Ubuntu 22.04LTS and:
$ slack --version
4.27.156
$ echo $XDG_SESSION_TYPE
wayland
$ dpkg -l | grep -i pipewire
ii libpipewire-0.3-0:amd64 0.3.48-1ubuntu1 amd64 libraries for the PipeWire multimedia server
ii libpipewire-0.3-common 0.3.48-1ubuntu1 all libraries for the PipeWire multimedia server - common files
ii libpipewire-0.3-modules:amd64 0.3.48-1ubuntu1 amd64 libraries for the PipeWire multimedia server - modules
ii libspa-0.2-modules:amd64 0.3.48-1ubuntu1 amd64 libraries for the PipeWire multimedia server Simple Plugin API - modules
ii pipewire:amd64 0.3.48-1ubuntu1 amd64 audio and video processing engine multimedia server
ii pipewire-bin 0.3.48-1ubuntu1 amd64 PipeWire multimedia server - programs
ii pipewire-media-session 0.4.1-2ubuntu1 amd64 example session manager for PipeWire
Source: https://github.com/flathub/com.slack.Slack/issues/101#issuecomment-808430530
Since Wayland is not supporting screen share by default, there is already an experimental way with chrome browser.
First you need to export the metadata API from the pipewire media sessions.
sudo mkdir -p /etc/pipewire/media-session.d/
sudo cp /usr/share/pipewire/media-session.d/media-session.conf /etc/pipewire/media-session.d/
sudo sed -i 's/#metadata/metadata/g' /etc/pipewire/media-session.d/media-session.conf
At chrome experimental features enable the WebRTC PipeWire support
chrome://flags/#enable-webrtc-pipewire-capturer
Restart the browser and now you can share your screen.
I tried the global.context.unsafe_mode=true
solution, but Google Meet was still showing black screens, so didn't test it any further.
What worked for me was switching to X11/Xorg, which I did by
- logging off
- clicking gear icon at bottom right
- selecting "Ubuntu on Xorg"
- logging back in
-
Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.– Community BotMay 31, 2022 at 19:49
As mentioned this is a Security Feature of Wayland. You can either use XOrg or disable the save mode of Wayland by doing:
- Press
Alt
+F2
- Type
lg
and press enter - Disable save mode by typing
global.context.unsafe_mode=true
and enter
This will work till you reboot/log out. I wrote a small Gnome Extension which does can disable the safe mode on demand. See https://github.com/julianpollmann/zoom-wayland-gnome-extension
I changed graphic drivers (in additional drivers menu) from xorg-server to Nvidia proprietary. It worked for me.
-
Replacing the Nvidia Nouveau driver with the proprietary one did the trick.– SergeyMay 17 at 15:32
Now the screen sharing in Wayland is available with the zoom client for Ubuntu.
Check the release notes in 5.11.0 (3540)
release.
-
Still not working. I'm on 5.12 and it is still broken. Changing to x11 was the only thing that worked. Oct 4, 2022 at 22:38
I was resolved by going to chrome://flags/#enable-webrtc-pipewire-capturer
and changing the value from Default
to Enabled
.
then
Search for the file.conf in /etc/gdm3/ in my case, Ubuntu 20, it's custom.conf
sudo nano /etc/gdm3/custom.conf
uncomment the line
#WaylandEnable=false
to be WaylandEnable=false
then reboot
"uncommenting that line will use the Xorg display manager instead of Wayland "
-
Please do not copy and paste identical answers to different questions on AU. The system has detected this exact answer given to 3 slightly different questions.– andrew.46 ♦Sep 19, 2022 at 23:16
-
Please do not copy and paste identical answers to different questions on AU. The system has detected this exact answer given to 3 slightly different questions.– andrew.46 ♦Sep 19, 2022 at 23:16
-