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 \
-DENABLE_PULSEAUDIO=1 \
-DENABLE_VST=1 \
-DENABLE_JACK=1 \
-DENABLE_ALSA=1 \
-DENABLE_HEVC=1 \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_BROWSER=1 \
-DENABLE_VLC=1 \
-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.
Add comment