Skip to content

TEB Beta Linux Installation

Alex Luccisano edited this page Nov 6, 2024 · 15 revisions

Known Issue (Temporary)

There is a temporary known issue with the TEB Linux Beta for users with NVIDIA GPUs with NVIDIA driver version 550.120. After you "Start Streaming" in OBS with Enhanced Broadcasting enabled, you might see the following in a dialog box:

Your GPU version 3.3.0 NVIDIA 550.120 is not supported by Twitch Enhanced Broadcasting.

This issue requires an ongoing server-side update with the deployment expected be complete by end-of-day on 2024.11.07. This Known Issue notice will be removed from the Wiki once the deployment completes.

Introduction

The TEB (Twitch Enhanced Broadcasting) closed-beta program involves a custom build of OBS Studio with additional features that are being tested before upstreaming to OBS Studio. The TEB beta program supported Windows 10/11 from the start, and Linux is now supported as of November 2024.

Users outside of the closed-beta community can also use the TEB beta Linux builds, however the configuration supplied by the server will not enable advanced features available to the closed-beta community such as HEVC testing.

The instructions in this topic focus on installing the TEB beta build on Linux hosts. Please read through the options carefully and choose an option that best suits your needs. The installation steps involve the terminal/shell.

It is very common for users to have a primary or stable version of OBS Studio installed for day-to-day usage, and the testers in the beta program typically have one or more additional installations of the TEB beta alongside it. This arrangement usually involves the OBS portable mode, where configuration data is stored in a location outside the common shared configuration directory. This arrangement allows each installation to keep it's configuration separate which is a good idea during beta programs and testing. Options for separating the configuration folder are covered in each section below.

Linux-based distributions support several software packaging and application distribution formats, and for the TEB Linux beta we are currently providing the following:

  1. Flatpak-based build in a single-file bundle
  2. DEB packages built from the regular OBS Studio scripts (Ubuntu 24.04)
  3. Standalone build (Ubuntu 24.04) similar to the Windows-based releases where the files are decompressed into a folder and run from there
  4. Source code

Installation steps for each option is covered in detail in the sections below.

Flatpak

The TEB flatpak is built as a single-file bundle. Download the flatpak from the TEB releases section, then choose one of the two options for installing the flatpak on your system:

  1. Using a separate configuration folder for the TEB beta (this option is recommended)
  2. Using a common configuration folder for all installations of application ID=com.obsproject.Studio (we do not recommend this option)

Separate Configuration

This is similar to the "portable mode" concept in OBS Studio, but for flatpaks. It uses a separate "HOME" directory to install a custom flatpak data folder which can be deleted once the TEB beta flatpak is no longer needed. Credit to this blog post for documenting this technique; please refer to the link for additional detail such as setting up scripts to make starting the application easier.

In the example below the custom data folder is called teb-beta-fp, located in the users home directory. You can pick any directory name and location, as long as you have write permission in the chosen directory.

mkdir /home/$USER/teb-beta-fp
env HOME=/home/$USER/teb-beta-fp flatpak install --user obs-studio-31.0.0-beta3-enhanced-broadcasting-v38-x86_64.flatpak

The output of the command above is shown below for reference. The warning about the XDG_DATA_DIRS environment variable can be ignored for the TEB beta program:

Note that the directory 

'/home/alexlocal/teb-beta-fp/.local/share/flatpak/exports/share'

is not in the search path set by the XDG_DATA_DIRS environment variable, so
applications installed by Flatpak may not appear on your desktop until the
session is restarted.

The application com.obsproject.Studio depends on runtimes from:
  https://dl.flathub.org/repo/
Configure this as new remote 'flathub' [Y/n]: Y
Required runtime for com.obsproject.Studio/x86_64/teb-beta (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
Do you want to install it? [Y/n]: Y

Info: runtime org.kde.Platform branch 6.6 is end-of-life, with reason:
   We strongly recommend moving to the latest stable version of the Platform and SDK
Info: applications using this runtime:
   com.obsproject.Studio

com.obsproject.Studio permissions:
    ipc        network        fallback-x11           pulseaudio             wayland
    x11        devices        file access [1]        dbus access [2]        system dbus access [3]

    [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
    [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications, org.kde.KGlobalSettings,
        org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
    [3] org.freedesktop.Avahi


        ID                                                      Branch               Op          Remote                 Download
 1. [✓] org.freedesktop.Platform.GL.default                     23.08                i           flathub                163.6 MB / 163.9 MB
 2. [✓] org.freedesktop.Platform.GL.default                     23.08-extra          i           flathub                 22.6 MB / 163.9 MB
 3. [✓] org.freedesktop.Platform.GL.nvidia-550-120              1.4                  i           flathub                307.9 MB / 308.0 MB
 4. [✓] org.freedesktop.Platform.openh264                       2.2.0                i           flathub                886.7 kB / 944.3 kB
 5. [✓] org.gtk.Gtk3theme.Yaru                                  3.22                 i           flathub                139.3 kB / 191.5 kB
 6. [✓] org.kde.Platform.Locale                                 6.6                  i           flathub                 18.0 kB / 392.4 MB
 7. [✓] org.kde.PlatformTheme.QGnomePlatform                    6.6                  i           flathub                  9.7 MB / 9.7 MB
 8. [✓] org.kde.WaylandDecoration.QAdwaitaDecorations           6.6                  i           flathub                  1.2 MB / 1.2 MB
 9. [✓] org.kde.Platform                                        6.6                  i           flathub                265.9 MB / 334.4 MB
10. [✓] com.obsproject.Studio                                   teb-beta             i           studio-origin          0 bytes

Installation complete.

To confirm it installed:

env HOME=/home/$USER/teb-beta-fp flatpak list
Name                           Application ID                                      Version                                      Branch           Origin             Installation
OBS Studio                     com.obsproject.Studio                               31.0.0-beta3-enhanced-broadcasting-v38       teb-beta         studio-origin      user
Mesa                           org.freedesktop.Platform.GL.default                 24.2.5                                       23.08            flathub            user
Mesa (Extra)                   org.freedesktop.Platform.GL.default                 24.2.5                                       23.08-extra      flathub            user
nvidia-550-120                 org.freedesktop.Platform.GL.nvidia-550-120                                                       1.4              flathub            user
openh264                       org.freedesktop.Platform.openh264                   2.1.0                                        2.2.0            flathub            user
Yaru Gtk Theme                 org.gtk.Gtk3theme.Yaru                                                                           3.22             flathub            user
KDE Application Platform       org.kde.Platform                                                                                 6.6              flathub            user
QGnomePlatform                 org.kde.PlatformTheme.QGnomePlatform                                                             6.6              flathub            user
QAdwaitaDecorations            org.kde.WaylandDecoration.QAdwaitaDecorations                                                    6.6              flathub            user

Run the program with the following:

env HOME=/home/$USER/teb-beta-fp flatpak run com.obsproject.Studio

With this configuration, all flatpak commands should be prepended with env HOME=/home/$USER/teb-beta-fp to select the custom directory. For example, the following commands to update (when needed) or remove the flatpak work exactly the same as the non-custom-directory variants:

env HOME=/home/$USER/teb-beta-fp flatpak update
env HOME=/home/$USER/teb-beta-fp flatpak uninstall com.obsproject.Studio

Shared Configuration

Note: In general we do not recommend this option.

This option is for users that already have one or more OBS Studio variants installed as flatpaks and wish to share the same OBS Studio configuration directory with the TEB beta flatpak.

Open a terminal and check which flatpak's are installed. The example below is shortened for brevity:

$ flatpak list
Name                                  Application ID                                      Version      Branch      Origin       Installation
Flatseal                              com.github.tchx84.Flatseal                          2.3.0        stable      flathub      user
OBS Studio                            com.obsproject.Studio                               31.0.0-beta2 beta        flathub-beta user
OBS Studio                            com.obsproject.Studio                               30.2.3       stable      flathub      user
Vertical Canvas                       com.obsproject.Studio.Plugin.VerticalCanvas         1.4.10       stable      flathub      user
Mesa                                  org.freedesktop.Platform.GL.default                 24.2.5       23.08       flathub      user
...

In the example above both the OBS Studio stable (30.2.3) and beta (31.0.0-beta2) flatpaks are installed. We can install the TEB beta as well with the following:

flatpak install --user obs-studio-31.0.0-beta3-enhanced-broadcasting-v38-x86_64.flatpak

Now we have 3 variants of OBS Studio installed:

$ flatpak list
Name                     Application ID                        Version                                Branch      Origin         Installation
Flatseal                 com.github.tchx84.Flatseal            2.3.0                                  stable      flathub        user
OBS Studio               com.obsproject.Studio                 31.0.0-beta2                           beta        flathub-beta   user
OBS Studio               com.obsproject.Studio                 30.2.3                                 stable      flathub        user
OBS Studio               com.obsproject.Studio                 31.0.0-beta3-enhanced-broadcasting-v38 teb-beta    studio3-origin user
Vertical Canvas          …project.Studio.Plugin.VerticalCanvas 1.4.10                                 stable      flathub        user
Mesa                     org.freedesktop.Platform.GL.default   24.2.5                                 23.08       flathub        user
...

In this scenario, selecting the specific OBS Studio version to run requires the branch to be selected, for example:

flatpak run --branch=teb-beta com.obsproject.Studio

Replace the --branch=teb-beta argument with either --branch=stable or --branch=beta to run the other versions.

To uninstall, run the following:

$ flatpak uninstall com.obsproject.Studio

Select the variant to remove. In the example below the teb-beta branch is option 2:

Similar installed refs found for ‘com.obsproject.Studio’:

   1) app/com.obsproject.Studio/x86_64/stable (user)
   2) app/com.obsproject.Studio/x86_64/teb-beta (user)
   3) app/com.obsproject.Studio/x86_64/beta (user)
   4) All of the above

Which do you want to use (0 to abort)? [0-4]: 2

        ID                           Branch          Op
 1. [-] com.obsproject.Studio        teb-beta        r

Uninstall complete.

DEB Package

The DEB package was built on Ubuntu 24.04 and should be installed only on that distro.

Download the DEB from the TEB releases section to a local directory then install it using:

sudo dpkg -i obs-studio-31.0.0-beta3-enhanced-broadcasting-v38-x86_64-ubuntu-gnu.deb

The TEB OBS Studio beta will install to /usr/local/ and the OBS configuration directory will be shared with any other OBS Studio version installed by the user with package managers. This directory is ~/.config/obs-studio.

Using portable mode with the DEB-based installation is not supported or recommended.

To uninstall:

sudo apt remove obs-studio

Standalone Build

Download the standalone build from the TEB releases section.

The standalone build was built on Ubuntu 24.04 and might work with other distributions, however if there are issues it would be best to either build from source code or use the flatpak. The standalone build allows the build to be uncompressed in any folder and optionally (but recommended) to be run in portable mode.

After installation the obs binary can be invoked with the --portable argument or installed with the portable_mode.txt file in the directory. We recommend and document the latter approach below, but there seems to be a nuance where OBS will look for the file two directories above the directory in which the binary was started.

To accommodate this, create a base directory for all TEB beta standalone installations and put the portable_mode.txt file there, only once.

In the example below, the /home/$USER/teb-beta-base directory is used as the base folder, and v38 is used as a convenient short name to install the v38 release into:

mkdir /home/$USER/teb-beta-base
cd /home/$USER/teb-beta-base
touch portable_mode.txt
tar -xf obs-studio-31.0.0-beta3-enhanced-broadcasting-v38-x86_64-ubuntu-gnu.tar.xz --one-top-level=/home/$USER/teb-beta-base/v38
cd v38/bin
./obs

Please note you must run obs from the /home/$USER/teb-beta-base/v38/bin folder otherwise it won't detect the portable_mode.txt file 2 directories above.

If portable mode was enabled properly, the OBS main window will say "Portable Mode" in the title.

To remove the standalone build, just delete the whole folder:

rm -rf /home/$USER/teb-beta-base/v38

Source Code

For expert users and developers who wish to compile TEB, the source code is available at the Amazon TEB OBS Studio repository. Each release has a branch of the form release/vXY, for example v38 is branch release/v38.

Releases

TEB v38 Build

Clone this wiki locally