banner

For decades, Xorg has been the graphical server in the Linux world. But its own developers have been working for years in a replacement, Wayland.

Finally, Ubuntu 22.04 uses Wayland by default. But some programs are still not properly handling screen sharing on it, like Slack: when presenting, other users will see only a blank black screen.

Fortunatelly, there is a way to fix this, starting Slack with the --enable-features=WebRTCPipeWireCapturer param.

Make it permanent

Instead of always launch Slack using the terminal, let’s change the desktop shortcut.

But there is one additional problem: when Slack got updated, apt will overwrite our changes.

We’ll prevent that using dpkg-divert: using it, we can tell to apt to update another file and keep our changes.

So, open a terminal and run the below command to create the divert and rename the original file:

sudo dpkg-divert --add --rename --divert /usr/share/applications/slack.desktop.bak /usr/share/applications/slack.desktop 

Now let’s create a copy of the file to the original path and make our changes:

cd /usr/share/applications
sudo cp slack.desktop.bak slack.desktop

Using sudo, edit /usr/share/applications/slack.desktop file and change the Exec to be like this:

Exec=/usr/bin/slack --enable-features=WebRTCPipeWireCapturer %U

Save and exit.

Update the desktop database:

sudo update-desktop-database 

Done! Now the Slack screen sharing will work fine on Wayland and apt will not overwrite our changes!

Bonus

I’ve noticed that Slack produces a lot of useless entries in /var/log/syslog. If you want to avoid any info log level, add the -s param to the Exec line like this:

Exec=/usr/bin/slack --enable-features=WebRTCPipeWireCapturer -s %U