obsproject / obsproject/obs-studio

VAAPI QSV encoders not available in current Flatpak

Open
#12,340 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
76.4k
Forks
10.2k
Avg merge
4d 23h
Merged PRs (30d)
12

Description

Operating System Info

Other

Other OS

Debian testing

OBS Studio Version

31.0.4

OBS Studio Version (Other)

Flatpak

OBS Studio Log URL

https://obsproject.com/logs/WENvD1HCuqsfpaCI

OBS Studio Crash Log URL

No response

Expected Behavior

I would expect to find the hardware encoders for my IGP.

In Settings > Output > Streaming > Video Encoders, the drop-down menu should feature FFmpeg VAAPI H.264 .

In Settings > Output > Recording > Video Encoders, the drop-down menu should feature FFmpeg VAAPI H.264, and FFmpeg VAAPI HEVC.

They're available in the non-Flatpak package on my distribution (version 30.2.3), but it will not be updated, hence why I would need the Flatpak version.

Current Behavior

Only x264 is currently available in "Settings > Output > Streaming > Video Encoders".

Only AOM AV1, SVT-AV1, and x264 is currently available in "Settings > Output > Recording > Video Encoders".

Steps to Reproduce
  1. Launch current Flatpak on a N100/150 machine
  2. Go to "Output"
  3. Select "Advanced" for "Output Mode" if not already selected
  4. Go to "Streaming"
  5. Click on "Video Encoder" drop-down menu
  6. Notice the lack of other encoders besides "x264" (especially hardware ones).
Anything else we should know?
  1. I don't know if that's a bug or a feature, but these encoders provided by VAAPI, when they are available, hey're also only available in "Advanced" for "Output Mode".

  2. Here is the output of vainfo to display the hardware capabilities of the IGP:

$ vainfo
Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 25.2.3 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileNone                   :	VAEntrypointStats
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSliceLP
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSliceLP
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSliceLP
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointEncSliceLP
      VAProfileVP9Profile1            :	VAEntrypointVLD
      VAProfileVP9Profile1            :	VAEntrypointEncSliceLP
      VAProfileVP9Profile2            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointEncSliceLP
      VAProfileVP9Profile3            :	VAEntrypointVLD
      VAProfileVP9Profile3            :	VAEntrypointEncSliceLP
      VAProfileHEVCMain12             :	VAEntrypointVLD
      VAProfileHEVCMain422_10         :	VAEntrypointVLD
      VAProfileHEVCMain422_12         :	VAEntrypointVLD
      VAProfileHEVCMain444            :	VAEntrypointVLD
      VAProfileHEVCMain444            :	VAEntrypointEncSliceLP
      VAProfileHEVCMain444_10         :	VAEntrypointVLD
      VAProfileHEVCMain444_10         :	VAEntrypointEncSliceLP
      VAProfileHEVCMain444_12         :	VAEntrypointVLD
      VAProfileHEVCSccMain            :	VAEntrypointVLD
      VAProfileHEVCSccMain            :	VAEntrypointEncSliceLP
      VAProfileHEVCSccMain10          :	VAEntrypointVLD
      VAProfileHEVCSccMain10          :	VAEntrypointEncSliceLP
      VAProfileHEVCSccMain444         :	VAEntrypointVLD
      VAProfileHEVCSccMain444         :	VAEntrypointEncSliceLP
      VAProfileHEVCSccMain444_10      :	VAEntrypointVLD
      VAProfileHEVCSccMain444_10      :	VAEntrypointEncSliceLP

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the missing encoders through Settings > Output > Streaming and Recording in the Flatpak, then compare the result with the distribution package and the provided vainfo output. Inspect the Flatpak packaging and runtime configuration to determine why VAAPI encoders are unavailable. Done means the expected VAAPI H.264 and HEVC entries appear when the hardware supports them.

Written by the indexing model from the issue text.

Assessment

Domain
build-system, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.