-
Notifications
You must be signed in to change notification settings - Fork 5
TEB Beta Linux Installation
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.
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:
- Flatpak-based build in a single-file bundle
- DEB packages built from the regular OBS Studio scripts (Ubuntu 24.04)
- Standalone build (Ubuntu 24.04) similar to the Windows-based releases where the files are decompressed into a folder and run from there
- Source code
Installation steps for each option is covered in detail in the sections below.
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:
- Using a separate configuration folder for the TEB beta (this option is recommended)
- Using a common configuration folder for all installations of
application ID=com.obsproject.Studio(we do not recommend this option)
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
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.
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
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
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.