Build OBS Studio 32.x from Source on Debian Trixie (13)

작성자

카테고리:

← 피드로
DEV Community · Will · 2026-07-04 개발(SW)

Will

This guide walks through building OBS Studio (v32.1.2+) from source on Debian Trixie. It includes compiling support for:

  • Browser Source (CEF)
  • WebSocket
  • WebRTC (libdatachannel)
  • NVENC (NVIDIA SDK 12.2)

1. Install Build Dependencies

Install all required build tools, Qt6, FFmpeg, Wayland, and plugin dependencies.

Check out the obs-studio-wiki to confirm.

Base Build Tools

sudo apt install cmake extra-cmake-modules ninja-build pkg-config clang clang-format build-essential curl ccache git zsh

Enter fullscreen mode Exit fullscreen mode

Core OBS Dependencies

sudo apt install 
libavcodec-dev 
libavdevice-dev 
libavfilter-dev 
libavformat-dev 
libavutil-dev 
libswresample-dev 
libswscale-dev 
libx264-dev 
libcurl4-openssl-dev 
libmbedtls-dev 
libgl1-mesa-dev 
libjansson-dev 
libluajit-5.1-dev 
python3-dev 
libx11-dev 
libxcb-randr0-dev 
libxcb-shm0-dev 
libxcb-xinerama0-dev 
libxcb-composite0-dev 
libxcomposite-dev 
libxinerama-dev 
libxcb1-dev 
libx11-xcb-dev 
libxcb-xfixes0-dev 
swig 
libcmocka-dev 
libxss-dev 
libglvnd-dev 
libgles2-mesa-dev 
libwayland-dev 
librist-dev 
libsrt-openssl-dev 
libpci-dev 
libpipewire-0.3-dev 
libqrcodegencpp-dev 
uthash-dev 
libsimde-dev

Enter fullscreen mode Exit fullscreen mode

Qt6 UI Dependencies

sudo apt install 
qt6-base-dev 
qt6-base-private-dev 
qt6-svg-dev 
qt6-wayland 
qt6-image-formats-plugins

Enter fullscreen mode Exit fullscreen mode

Plugin Dependencies

sudo apt install 
libasound2-dev 
libfdk-aac-dev 
libfontconfig-dev 
libfreetype6-dev 
libjack-jackd2-dev 
libpulse-dev 
libsndio-dev 
libspeexdsp-dev 
libudev-dev 
libv4l-dev 
libva-dev 
libvlc-dev 
libvpl-dev 
libdrm-dev 
nlohmann-json3-dev 
libwebsocketpp-dev 
libasio-dev

Enter fullscreen mode Exit fullscreen mode

Chromium / CEF Dependencies

Required for Browser Source.

sudo apt install 
libnss3-dev 
libatk1.0-dev 
libatk-bridge2.0-dev 
libcups2-dev 
libxkbcommon-dev 
libxdamage-dev 
libxrandr-dev 
libgbm-dev 
libpango1.0-dev 
libcairo2-dev

Enter fullscreen mode Exit fullscreen mode

libdatachannel Dependencies

sudo apt install 
libssl-dev 
libsrtp2-dev

Enter fullscreen mode Exit fullscreen mode

2. Build & Install NVENC Headers (NVIDIA GPUs)

OBS 32.x requires FFnvcodec.

If you’re using the Debian 550.x NVIDIA driver branch, use the sdk/12.2 branch to avoid runtime crashes.

cd ~/tmp

git clone -b sdk/12.2 https://github.com/FFmpeg/nv-codec-headers.git

cd nv-codec-headers

make

sudo make install

Enter fullscreen mode Exit fullscreen mode

3. Build & Install libdatachannel (WebRTC)

Debian Trixie does not package the version required by OBS 32.x, so build v0.24.0 from source.

cd ~/tmp

git clone --branch v0.24.0 https://github.com/paullouisageneau/libdatachannel.git

cd libdatachannel

git submodule update --init --recursive

cmake -B build 
    -G Ninja 
    -DCMAKE_BUILD_TYPE=Release 
    -DBUILD_SHARED_LIBS=ON

cmake --build build --parallel $(nproc)

sudo cmake --install build

sudo ldconfig

Enter fullscreen mode Exit fullscreen mode

4. Download and Compile CEF (Browser Source)

OBS requires the Chromium Embedded Framework (CEF).

Download the vanilla CEF package and compile the libcef_dll_wrapper library that OBS links against.

cd ~/tmp

wget https://cdn-fastly.obsproject.com/downloads/cef_binary_6533_linux_x86_64_v6.tar.xz

tar -xf cef_binary_6533_linux_x86_64_v6.tar.xz

cd cef_binary_6533_linux_x86_64/libcef_dll_wrapper

Enter fullscreen mode Exit fullscreen mode

The CEF archive sometimes contains a polluted cache from the maintainer.

Remove it before configuring:

rm -rf build CMakeCache.txt

Enter fullscreen mode Exit fullscreen mode

Compile the wrapper:

cmake -B build 
    -G Ninja 
    -DCMAKE_BUILD_TYPE=RelWithDebInfo

cmake --build build --parallel $(nproc)

Enter fullscreen mode Exit fullscreen mode

5. Clone OBS Studio

Clone OBS, fetch tags, and check out the stable 32.1.2 release.

cd ~/tmp

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

cd obs-studio

git fetch --all --tags

git checkout tags/32.1.2

git submodule update --init --recursive

Enter fullscreen mode Exit fullscreen mode

6. Configure and Build OBS

Configure OBS using Ninja.

This configuration:

  • Enables Browser Source
  • Enables WebSocket
  • Disables the proprietary AJA plugin
  • Uses the locally-built CEF
  • Installs into the local build directory (no system-wide install)
cd ~/tmp/obs-studio

rm -rf build

cmake -B build 
    -G Ninja 
    -DCMAKE_BUILD_TYPE=RelWithDebInfo 
    -DCMAKE_INSTALL_PREFIX=$HOME/tmp/obs-studio/build 
    -DENABLE_BROWSER=ON 
    -DENABLE_WEBSOCKET=ON 
    -DENABLE_AJA=OFF 
    -DCEF_ROOT_DIR=$(pwd)/cef_binary_6533_linux_x86_64

Enter fullscreen mode Exit fullscreen mode

Compile OBS:

cmake --build build --parallel $(nproc)

Enter fullscreen mode Exit fullscreen mode

Stage locale files, plugins, and CEF binaries:

cmake --install build

Enter fullscreen mode Exit fullscreen mode

7. Run OBS

Launch OBS directly from the local build directory:

~/tmp/obs-studio/build/bin/obs

Enter fullscreen mode Exit fullscreen mode

Troubleshooting

frontend-tools failed to load

This is a known quirk in some source builds related to Python/Lua scripting paths.

If you don’t use Python scripts inside OBS, it can safely be ignored.

Otherwise:

  • Ensure python3-dev is installed.
  • Or compile with:
-DENABLE_FRONTEND_TOOLS=OFF

Enter fullscreen mode Exit fullscreen mode

CEF Not Found

If CMake cannot locate CEF, verify that:

-DCEF_ROOT_DIR

Enter fullscreen mode Exit fullscreen mode

points exactly to the extracted CEF directory from Step 4.

Updating OBS

To upgrade later:

cd ~/tmp/obs-studio

git pull

git fetch --all --tags

git checkout <new-tag>

git submodule update --init --recursive

Enter fullscreen mode Exit fullscreen mode

Then repeat Step 6 to rebuild OBS.

원문에서 계속 ↗

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다