In this quick-and-dirty guide we’re building OBS from source, creating a Debian package for Debian 12 / Testing, and installing it. You can find the official build guide here.

Have questions about your Linux setup? Ask in our forums.


ENABLE DEB-MULTIMEDIA

Download and install the Debian multimedia repository keyring.

wget https://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2016.8.1_all.deb
sudo dpkg -i deb-multimedia-keyring_2016.8.1_all.deb

Add the following line to /etc/apt/sources.list

deb https://www.deb-multimedia.org bookworm main non-free

Update system repositories.

sudo apt update

INSTALL OBS DEPENDENCIES

Install the needed dependencies.

sudo apt install cmake git checkinstall build-essential libmbedtls-dev libasound2-dev libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libcurl4-openssl-dev libfdk-aac-dev libfontconfig-dev libfreetype6-dev libgl1-mesa-dev libjack-jackd2-dev libjansson-dev libluajit-5.1-dev libpulse-dev libqt5x11extras5-dev libspeexdsp-dev libswresample-dev libswscale-dev libudev-dev libv4l-dev libvlc-dev libwayland-dev libx11-dev libx264-dev libxcb-shm0-dev libxcb-xinerama0-dev libxcomposite-dev libxinerama-dev pkg-config python3-dev qt6-svg-dev swig libxcb-randr0-dev libxcb-xfixes0-dev libxcb-shm0-dev libxcb-xinerama0-dev libxcb-composite0-dev libx11-xcb-dev libxcb1-dev libxss-dev librist-dev libsrt-openssl-dev qt6-base-dev qt6-base-private-dev nlohmann-json3-dev libwebsocketpp-dev libasio-dev libva-dev libpipewire-0.3-dev v4l2loopback-dkms libvpl-dev ffmpeg libpci-dev libqrcodegencpp-dev libdrm-dev nv-codec-headers uthash-dev ninja-build

Clone the OBS GitHub repository 

git clone --recursive https://github.com/obsproject/obs-studio.git

Enter the obs-studio directory

cd obs-studio 

Download and unpack the browser binary 

wget https://cdn-fastly.obsproject.com/downloads/cef_binary_5060_linux64.tar.bz2

Decompress the browser binary

tar -xjf cef_binary_5060_linux64.tar.bz2

Create the build directory

mkdir build

CONFIGURE OBS

cmake -S . -B build -G Ninja \
-DCEF_ROOT_DIR="cef_binary_5060_linux64/" \
-DENABLE_PIPEWIRE=1 \
-DENABLE_AJA=0 \
-DENABLE_WEBRTC=0 \
-DQT_VERSION=6 \
-DENABLE_PULSEAUDIO=1 \
-DENABLE_VST=1 \
-DENABLE_JACK=1 \
-DENABLE_ALSA=1 \
-DENABLE_HEVC=1 \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_BROWSER=1 \
-DENABLE_AJA=0 \
-DENABLE_VLC=1 \
-DENABLE_WEBRTC=0 \
-DENABLE_WAYLAND=1 \
-DENABLE_RNNOISE=1 \
-DENABLE_SPEEXDSP=1 \
-DENABLE_V4L2=1 

Common build options

-DENABLE_PIPEWIRE=1 
-DENABLE_PULSEAUDIO=1 
-DENABLE_VST=1 
-DENABLE_JACK=1 
-DENABLE_ALSA=1 
-DENABLE_HEVC=1 
-DBUILD_BROWSER=1 
-DENABLE_AJA=0 
-DENABLE_VLC=1 
-DENABLE_WEBRTC=0 
-DENABLE_WEBSOCKET=0
-DENABLE_FFMPEG_NVENC=0
-DCMAKE_INSTALL_PREFIX=/usr

COMPILE OBS

cmake --build build

BUILD THE DEBIAN PACKAGE

cmake --build build --target package

INSTALL DEBIAN PACKAGE

cd build
sudo dpkg -i *.deb

RUN LDCONFIG

sudo ldconfig

That’s it! You now have a bleeding-edge version of OBS for your Debian 12 installation.

Have questions about your Linux setup? Ask in our forums.

VennStone

View all posts

Add comment

Recent Posts