In the past, playing games was only considered a hobby, but with time the gaming industry saw a huge growth in terms of technology and the number of players. The gaming audience has increased by multiple folds due to the remarkable prevalence of online gaming. And now gaming has become a mainstream sport, aka e-sports.

Like other sports, e-sports broadcasting is becoming popular. The viewership of e-sports has expanded in the last several years due to the overwhelming engagement of gaming fans. Mainstream media has started showing interest in gaming because of its whopping audience. Amazon’s famous platform, Twitch, is one of the renowned streaming platforms. Besides Twitch, other platforms like YouTube, Facebook, Streamlabs, and Discord are also being used by gamers to stream games. You can even publish your recorded games on Youtube.

As we all know that Windows and gaming consoles are well-liked and accepted gaming platforms, but Linux is now slowly picking up the pace and becoming the third popular gaming platform, thanks to the support of Steam and many modern hardware manufacturers for Linux. There is a huge library of games on Linux, some have native support, and some work using third party plugins. This guide will focus on how to record games and stream on Linux. Let’s check how to get it worked:

Installing Open Broadcast Software – OBS on Ubuntu 20.04, 20.10:

Firstly, we need a program that can stream and record as well. OBS is a well-known broadcasting and recording application that is open-source and cross-platform. The installation process of OBS is similar to any other program installation on Linux.

Step 1:

OpenGL 3.2 is required for the OBS program to work on Linux.


Use the below-mentioned command to check OpenGL:

$ glxinfo | grep “OpenGL”

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s1.png" data-lazy- height="241" src="data:image/svg xml,” width=”975″>

If there is an error, to fix it, try installing Mesa utilities using the command shown below:

$ sudo apt install mesa-utils

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s2.png" data-lazy- height="641" src="data:image/svg xml,” width=”975″>

Mesa is an open-source 3D graphics library that helps in rendering 3D graphics on different platforms by implementing OpenGL.

Step 2:

There are a couple of approaches to get OBS on Ubuntu. First is simply open Ubuntu Software Store and search “OBS” and install it.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s3.png" data-lazy- height="720" src="data:image/svg xml,” width=”1280″>

It can be seen in applications.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s4.png" data-lazy- height="771" src="data:image/svg xml,” width=”1280″>

The second approach of installing OBS is through the terminal. Use the command mentioned below to add the repository:

$ sudo add-apt-repository ppa:obsproject/obs-studio

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s5.png" data-lazy- height="641" src="data:image/svg xml,” width=”975″>

After that, update the packages list using:

To install the OBS program, use:

$ sudo apt install obs-studio

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s6.png" data-lazy- height="641" src="data:image/svg xml,” width=”975″>

Open it:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s7.png" data-lazy- height="720" src="data:image/svg xml,” width=”1280″>

Setting Up OBS for streaming and recording on Ubuntu 20.04, 20.10:

OBS has made the setup procedure quite easy. It will prompt you “Auto-Configuration Wizard” when it is first open. If for some reasons you can’t see it, click on tools and then” Auto-Configuration Wizard”:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s8.png" data-lazy- height="800" src="data:image/svg xml,” width=”1145″>

The first thing, “Auto-Configuration Window” will show is “Usage information.” Usage information comes with two options. Since we are recording and streaming, therefore the first option will be checked. Click on the “Next” button:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s9.png" data-lazy- height="773" src="data:image/svg xml,” width=”1124″>

Now, adjust the video settings, for example, frame rate and base resolution according to hardware capabilities:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s10.png" data-lazy- height="673" src="data:image/svg xml,” width=”1430″>

After that, the wizard will present you with different streaming services; select one. I am selecting twitch; it will ask for the streaming key; click on the get stream key as shown in the image below:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s11.png" data-lazy- height="720" src="data:image/svg xml,” width=”1280″>

To get a stream key, you must have a Twitch account: login and head towards the “Creator Dashboard” by clicking on the user’s icon, and then in the “Preferences” tab, “Primary Stream Key” can be found as shown in the images:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s12.png" data-lazy- height="965" src="data:image/svg xml,” width=”1186″>

Copy the streaming key, and paste in the OBS as displayed in the above images. After that, OBS will perform various and tests for ideal settings:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s13.png" data-lazy- height="740" src="data:image/svg xml,” width=”1094″>

Upon finishing, it will present the estimated configuration for the system. You can hit “Apply Settings” or go back to tweak settings:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s14.png" data-lazy- height="738" src="data:image/svg xml,” width=”1095″>

The setup is pretty much finished. But these settings can further be tweaked in the “Settings” option also. Click on “File” and then “Settings”:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s15.png" data-lazy- height="741" src="data:image/svg xml,” width=”1094″>

In the “General” tab, you can change language, theme and enable or disable various options; see the image:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s16.png" data-lazy- height="774" src="data:image/svg xml,” width=”1001″>

In the “Stream” tab, the streaming platform can be changed. It is recommended to leave server “Auto”:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s17.png" data-lazy- height="763" src="data:image/svg xml,” width=”981″>

In the “Output” tab, there are two main options; the first one is “Simple,” and the second one is “Advanced.” The “Simple” output settings can be seen in the following image, where certain streaming and recording options are given to modify. Encoder, audio bit rate, saving path, recording format, and quality can be modified here:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s18.png" data-lazy- height="765" src="data:image/svg xml,” width=”978″>

Simple settings are appropriate but if you want to further tweak the output settings, then open “Advanced” Settings. In advanced settings, many other options can be modified, including special audio channel settings. While recording, speech audio and game audio can be recorded on 2 different channels that help in editing the recorded footage:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s19.png" data-lazy- height="762" src="data:image/svg xml,” width=”979″>

Hotkeys play a vital role while streaming or recording games; OBS has a dedicated tab in settings to set hotkeys as per your convenience:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s20.png" data-lazy- height="774" src="data:image/svg xml,” width=”1001″>

After setting up the OBS time to begin stream/record. On the main window, “Scenes” represent the canvases; these canvases can be resized and repositioned:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s21.png" data-lazy- height="759" src="data:image/svg xml,” width=”1116″>

In the sources window, various sources can be added, for example:

  • Screen Capture
  • Audio Capture
  • Image (Overlays)
  • Text
  • Video Capturing Device
  • Browser

Click on the “ ” button to add sources:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s22.png" data-lazy- height="742" src="data:image/svg xml,” width=”1093″>

To add the screen capture, click on the “Screen Capture” option; a couple of windows will pop up, keep the default settings, and press “OK.” To make the mouse cursor visible, check the “Capture Cursor” option.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s23.png" data-lazy- height="720" src="data:image/svg xml,” width=”1280″>

The screen capture source has been added; other sources like audio can also be added if you have attached the mic with the system. If you want to do both recording and streaming, first click on the “Start Recording” button and then “Start Streaming” or press the assigned hot keys:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s24.png" data-lazy- height="707" src="data:image/svg xml,” width=”1047″>

Stream status can be seen at the bottom bar:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/s25.png" data-lazy- height="707" src="data:image/svg xml,” width=”1047″>

Now time to play games; OBS will do its job.

About the author

<img alt="Sam U" data-lazy-src="https://kirelos.com/wp-content/uploads/2021/01/echo/CD836339FE0346CD9A43623F995D6B46-150×150.png" height="112" src="data:image/svg xml,” width=”112″>

Sam U

I am a professional graphics designer with over 6 years of experience. Currently doing research in virtual reality, augmented reality and mixed reality.


I hardly watch movies but love to read tech related books and articles.