Screen Recording in Linux With OBS and Wayland

There are tons of screen recorders available for Linux. But when it comes to supporting Wayland, almost all of them do not work.

This is problematic because many new distribution releases are switching to Wayland display manager by default once again. And if something as basic as a screen recorder does not work, it leaves a bad experience.

GNOME’s built-in screen recorder works but it is hidden, has no GUI and no way to configure and control the recordings. There is another tool called Kooha but it keeps on displaying a timer on the screen.

Switching between Xorg and Wayland just for screen recording is not very convenient.

Amidst all this, I was happy to learn that Wayland support landed in OBS Studio with version 27 release thanks to Pipewire. But even there, it’s not straightforward and hence I am going to show you the steps for screen recording on Wayland using OBS Studio.

Using OBS to screen record on Wayland

obs screen record wayland

Let’s see how it is done.

Step 1: Install OBS Studio

You should install OBS Studio version 27 first. It is already included in Ubuntu 21.10 which I am suing in this tutorial.

To install OBS Studio 27 on Ubuntu 18.04, 20.04, Linux Mint 20 etc, use the official OBS Studio PPA.

Open a terminal and use the following commands one by one:

sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update
sudo apt install obs-studio

If there is an older version of OBS Studio installed already, it will be upgraded to the newer version.

For Fedora, Arch and other distributions, please check your package manager or unofficial repositories for installing the latest version of OBS Studio.

Step 2: Check if Wayland capture is working

Please make sure that you are using Wayland. Now start OBS Studio and go through all the stuff it shows on the first run. I am not going to show that.

The main step is to add Pipewire as a screen capture source. Click on the + symbol under the Sources list.

obs studio add screen capture source
Add screen capture source in OBS Studio

Do you see anything that reads Screen Capture (PipeWire)?

obs studio wayland support
Do you see PipeWire option in the screen sources?

If the answer is no, quit OBS Studio. This is normal. OBS Studio does not switch to use Wayland automatically in Ubuntu at least. There is a fix for that.

Open a terminal and use the following command:

export QT_QPA_PLATFORM=wayland

In the same terminal, run the following command to start OBS Studio:

obs

It will show some message on the terminal. Ignore them. Your focus should be on the OBS Studio GUI. Try to add screen capture once again. You should see the PipeWire option now.

obs studio wayland support

You explicitly asked OBS Studio to use Wayland this time with the QT_QPA_PLATFORM variable.

Select PipeWire as the source and then it asks you to choose a display screen. Select it and click on the Share button.

obs studio screen

Now it should show your screen recursively infinite number of times. If you see that, you could start recording the screen in Wayland now.

start screen recording obs wayland

Step 3: Make changes permanent

That was good. You just verified that you can record your screen on Wayland. But setting the environment variable and starting OBS from the terminal each time is not convenient.

What you can do is to export the variable to your ~/.bash_profile (for you) or /etc/profile (for all users on the system).

export QT_QPA_PLATFORM=wayland

Log out and log back in. Now OBS will automatically start using this parameter and you can use it to record your screen in Wayland.

I hope you find this quick tip helpful. If you still have questions or suggestions, please let me know in the comment section.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.