Trying to enable VAAPI for FFmpeg to record screen with OBS

Hey guys. I am trying to record my screen with the hardware Video Acceleration API, but I can’t because vainfo indicates that I don’t have any “VAEntrypointEncSlice” entries:

[lukas@lukas-pc ~]$ vainfo
vainfo: VA-API version: 1.12 (libva 2.12.0)
vainfo: Driver version: Mesa Gallium driver 21.1.5 for AMD Radeon(TM) HD8800 Series (PITCAIRN, DRM 3.40.0, 5.10.53-1-MANJARO, LLVM 12.0.1)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc

ffmpeg -buildconf indicates that the --enable-vaapi flag is not configured:

[lukas@lukas-pc ~]$ ffmpeg -buildconf
ffmpeg version n4.4 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 11.1.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-shared --enable-version3
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100

  configuration:
    --prefix=/usr
    --disable-debug
    --disable-static
    --disable-stripping
    --enable-amf
    --enable-avisynth
    --enable-cuda-llvm
    --enable-lto
    --enable-fontconfig
    --enable-gmp
    --enable-gnutls
    --enable-gpl
    --enable-ladspa
    --enable-libaom
    --enable-libass
    --enable-libbluray
    --enable-libdav1d
    --enable-libdrm
    --enable-libfreetype
    --enable-libfribidi
    --enable-libgsm
    --enable-libiec61883
    --enable-libjack
    --enable-libmfx
    --enable-libmodplug
    --enable-libmp3lame
    --enable-libopencore_amrnb
    --enable-libopencore_amrwb
    --enable-libopenjpeg
    --enable-libopus
    --enable-libpulse
    --enable-librav1e
    --enable-librsvg
    --enable-libsoxr
    --enable-libspeex
    --enable-libsrt
    --enable-libssh
    --enable-libsvtav1
    --enable-libtheora
    --enable-libv4l2
    --enable-libvidstab
    --enable-libvmaf
    --enable-libvorbis
    --enable-libvpx
    --enable-libwebp
    --enable-libx264
    --enable-libx265
    --enable-libxcb
    --enable-libxml2
    --enable-libxvid
    --enable-libzimg
    --enable-nvdec
    --enable-nvenc
    --enable-shared
    --enable-version3

So how do I rebuild ffmpeg with this flag enabled? I have a Radeon R9 270, and I also saw that video acceleration encoding is supported on my GPU (Southern Islands). I’m sorry, I am quite new to Linux. I tried installing ffmpeg-git through yay and through scanning the verbose output it seemed like it was enabling vaapi, but ultimately didn’t want to replace ffmpeg for ffmpeg-git because it said dependencies would be broken. Any help would be much appreciated.

Welcome to the forum! :wave:

Please post your system info as outlined here:

Saw where? That chipset uses the legacy radeon driver by default, it may not.

Well, there would be no point as it does not use the --enable-vaapi build flag. However, the full versions in the AUR do.

1 Like

Hey Yochanan

Thank you for your reply and help.

Here: https:(slash)(slash)wiki(dot)libav(dot)org(slash)Hardware(slash)vaapi

Trying to install ffmpeg-amd-full-git got me another dependency issue:

looking for conflicting packages...
:: chromaprint-fftw and chromaprint are in conflict. Remove chromaprint? [y/N] 
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: chromaprint-fftw and chromaprint are in conflict
[lukas@lukas-pc ~]$ 

I’m not sure how up to date that is. Those are all old chipsets and there is no avconv binary on Arch-based distros.

Make sure to make a full system backup with Timeshift or something before farting around with development packages. Here be dragons. :dragon:

Don’t worry I did indeed make a timeshift backup before farting around :).
Trying to install ffmpeg-amd-full got me halted at this:

==> Extracting sources...
  -> Creating working copy of  svn repo...
==> Starting prepare()...
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- a/Makefile
|+++ b/Makefile
--------------------------
File to patch:

Never seen this before xD

EDIT: Tomorrow I’ll be installing windows and if it works there well then it should be possible in Linux.

Did you mean ffmpeg-amd-full-git? Try ffmpeg-amd-full.

This was ffmpeg-amd-full-git:

and this was ffmpeg-amd-full:

Are you sure? It isn’t using an SVN repo, it uses a tarball:

==> Extracting sources...
  -> Extracting ffmpeg-4.4.tar.xz with bsdtar
==> Starting prepare()...
patching file libavfilter/vf_libvmaf.c
patching file configure
Hunk #1 succeeded at 289 (offset 1 line).
Hunk #2 succeeded at 1765 (offset 1 line).
Hunk #3 succeeded at 3293 (offset 6 lines).
Hunk #4 succeeded at 6501 (offset 15 lines).
patching file libavcodec/Makefile
Hunk #1 succeeded at 1071 (offset 10 lines).
patching file libavcodec/allcodecs.c
Hunk #1 succeeded at 765 (offset 8 lines).
patching file libavcodec/libsvt_hevc.c
patching file doc/encoders.texi
Hunk #1 succeeded at 1884 (offset 244 lines).
patching file doc/general_contents.texi
Hunk #1 succeeded at 267 with fuzz 2 (offset 24 lines).
patching file configure
Hunk #1 succeeded at 286 (offset 1 line).
Hunk #2 succeeded at 1806 (offset 4 lines).
Hunk #3 succeeded at 3287 (offset 5 lines).
Hunk #4 succeeded at 6473 (offset 12 lines).
patching file libavcodec/Makefile
Hunk #1 succeeded at 1066 (offset 2 lines).
patching file libavcodec/allcodecs.c
patching file libavcodec/avcodec.h
patching file libavcodec/libsvt_vp9.c
patching file libavformat/dashenc.c
patching file libavformat/ivfenc.c
patching file libavformat/matroskaenc.c
Hunk #2 succeeded at 2110 (offset 8 lines).
Hunk #3 succeeded at 2302 (offset 8 lines).
Hunk #4 succeeded at 2313 (offset 8 lines).
Hunk #5 succeeded at 2332 (offset 8 lines).
Hunk #6 succeeded at 2354 (offset 8 lines).
Hunk #7 succeeded at 2478 (offset 8 lines).
Hunk #8 succeeded at 2509 (offset 8 lines).
Hunk #9 succeeded at 2855 (offset 11 lines).
patching file libavformat/movenc.c
Hunk #1 succeeded at 5967 (offset 4 lines).
Hunk #2 succeeded at 7190 (offset 28 lines).
==> Sources are ready.

Hey Yochanan.

I appreciate you still helping me, was 2AM had to sleep.

Yes, I ran it this morning again and it froze at the exact same place:

[lukas@lukas-pc ~]$ yay ffmpeg-amd-full
2 aur/ffmpeg-amd-full 4.4-3 (+5 0.65) 
    Complete solution to record, convert and stream audio and video (all possible features for AMD)
1 aur/ffmpeg-amd-full-git 4.5.r102781.g05f9b3a0a5-1 (+11 0.13) 
    Complete solution to record, convert and stream audio and video (all possible features for AMD; git version)
==> Packages to install (eg: 1 2 3, 1-3 or ^4)
==> 2
:: There are 2 providers available for librist:
:: Repository AUR
    1) librist 2) librist-git 

Enter a number (default=1): 
:: There are 2 providers available for xavs2:
:: Repository AUR
    1) xavs2 2) xavs2-git 

Enter a number (default=1): 
:: There are 2 providers available for pocketsphinx:
:: Repository AUR
    1) pocketsphinx 2) pocketsphinx-git 

Enter a number (default=1): 
:: Checking for conflicts...
:: Checking for inner conflicts...
 -> 
Package conflicts found:
 -> Installing lensfun-git will remove: lensfun
 -> Installing ffmpeg-amd-full will remove: ffmpeg
 -> Conflicting packages will have to be confirmed manually
[Aur:11]  libopenmpt-svn-0.6.r14144-1  librist-0.2.4-1  shine-3.1.1-2  uavs3d-git-1.1.r3.gbdd82f2-1  vo-amrwbenc-0.1.3-2  xavs-0.1.55-1  xavs2-1.3-2  sphinxbase-5prealpha-11  pocketsphinx-5prealpha-10  lensfun-git-0.3.2.r2032.gad957f64-1  ffmpeg-amd-full-4.4-3
[Aur Make:1]  decklink-sdk-1:12.1-1

==> Remove make dependencies after install? [y/N] 
 12 libopenmpt-svn                           (Build Files Exist)
 11 librist                                  (Build Files Exist)
 10 shine                                    (Build Files Exist)
  9 uavs3d-git                               (Build Files Exist)
  8 vo-amrwbenc                              (Build Files Exist)
  7 xavs                                     (Build Files Exist)
  6 xavs2                                    (Build Files Exist)
  5 sphinxbase                               (Build Files Exist)
  4 pocketsphinx                             (Build Files Exist)
  3 lensfun-git                              (Build Files Exist)
  2 decklink-sdk                             (Build Files Exist)
  1 ffmpeg-amd-full                          (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 
:: PKGBUILD up to date, Skipping (1/12): ffmpeg-amd-full
:: PKGBUILD up to date, Skipping (2/12): xavs
:: PKGBUILD up to date, Skipping (3/12): libopenmpt-svn
:: PKGBUILD up to date, Skipping (4/12): librist
:: PKGBUILD up to date, Skipping (5/12): shine
:: PKGBUILD up to date, Skipping (6/12): uavs3d-git
:: PKGBUILD up to date, Skipping (7/12): vo-amrwbenc
:: PKGBUILD up to date, Skipping (8/12): pocketsphinx
:: PKGBUILD up to date, Skipping (9/12): xavs2
:: PKGBUILD up to date, Skipping (10/12): sphinxbase
:: PKGBUILD up to date, Skipping (11/12): lensfun-git
:: PKGBUILD up to date, Skipping (12/12): decklink-sdk
 12 libopenmpt-svn                           (Build Files Exist)
 11 librist                                  (Build Files Exist)
 10 shine                                    (Build Files Exist)
  9 uavs3d-git                               (Build Files Exist)
  8 vo-amrwbenc                              (Build Files Exist)
  7 xavs                                     (Build Files Exist)
  6 xavs2                                    (Build Files Exist)
  5 sphinxbase                               (Build Files Exist)
  4 pocketsphinx                             (Build Files Exist)
  3 lensfun-git                              (Build Files Exist)
  2 decklink-sdk                             (Build Files Exist)
  1 ffmpeg-amd-full                          (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 
:: (1/12) Parsing SRCINFO: libopenmpt-svn
:: (2/12) Parsing SRCINFO: librist
:: (3/12) Parsing SRCINFO: shine
:: (4/12) Parsing SRCINFO: uavs3d-git
:: (5/12) Parsing SRCINFO: vo-amrwbenc
:: (6/12) Parsing SRCINFO: xavs
:: (7/12) Parsing SRCINFO: xavs2
:: (8/12) Parsing SRCINFO: sphinxbase
:: (9/12) Parsing SRCINFO: pocketsphinx
:: (10/12) Parsing SRCINFO: lensfun-git
:: (11/12) Parsing SRCINFO: decklink-sdk
:: (12/12) Parsing SRCINFO: ffmpeg-amd-full
==> Making package: libopenmpt-svn 0.6.r14144-1 (Sat 07 Aug 2021 09:27:49)
==> Retrieving sources...
  -> Updating OpenMPT svn repo...
svn: E155004: Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
svn: E155004: Working copy '/home/lukas/.cache/yay/libopenmpt-svn/OpenMPT' locked.
svn: E155004: '/home/lukas/.cache/yay/libopenmpt-svn/OpenMPT' is already locked.
==> WARNING: Failure while updating OpenMPT svn repo
  -> Found 010-libopenmpt-fix-doc-install-dir.patch
==> Validating source files with sha256sums...
    OpenMPT ... Skipped
    010-libopenmpt-fix-doc-install-dir.patch ... Passed
==> Making package: librist 0.2.4-1 (Sat 07 Aug 2021 09:27:52)
==> Retrieving sources...
  -> Found librist-v0.2.4.tar.bz2
  -> Found 010-librist-disable-multicast-tests.patch
==> Validating source files with sha256sums...
    librist-v0.2.4.tar.bz2 ... Passed
    010-librist-disable-multicast-tests.patch ... Passed
==> Making package: shine 3.1.1-2 (Sat 07 Aug 2021 09:27:57)
==> Retrieving sources...
  -> Found shine-3.1.1.tar.gz
==> Validating source files with sha256sums...
    shine-3.1.1.tar.gz ... Passed
==> Making package: uavs3d-git 1.1.r3.gbdd82f2-1 (Sat 07 Aug 2021 09:28:00)
==> Retrieving sources...
  -> Updating uavs3d git repo...
Fetching origin
  -> Found 010-uavs3d-10bit.patch
==> Validating source files with sha256sums...
    uavs3d ... Skipped
    010-uavs3d-10bit.patch ... Passed
==> Making package: vo-amrwbenc 0.1.3-2 (Sat 07 Aug 2021 09:28:04)
==> Retrieving sources...
  -> Found vo-amrwbenc-0.1.3.tar.gz
==> Validating source files with sha256sums...
    vo-amrwbenc-0.1.3.tar.gz ... Passed
==> Making package: xavs 0.1.55-1 (Sat 07 Aug 2021 09:28:10)
==> Retrieving sources...
  -> Found xavs-0.1.55.tar.gz
  -> Found xavs-0.1.55-dont-strip-symbols.patch
  -> Found xavs-dynamic-xavs.patch
  -> Found xavs-dup-asm.patch
  -> Found xavs-x32-yasm.patch
==> Validating source files with md5sums...
    xavs-0.1.55.tar.gz ... Passed
    xavs-0.1.55-dont-strip-symbols.patch ... Passed
    xavs-dynamic-xavs.patch ... Passed
    xavs-dup-asm.patch ... Passed
    xavs-x32-yasm.patch ... Passed
==> Making package: xavs2 1.3-2 (Sat 07 Aug 2021 09:28:12)
==> Retrieving sources...
  -> Found xavs2-1.3.tar.gz
==> Validating source files with sha256sums...
    xavs2-1.3.tar.gz ... Passed
==> Making package: sphinxbase 5prealpha-11 (Sat 07 Aug 2021 09:28:16)
==> Retrieving sources...
  -> Found sphinxbase-5prealpha.tar.gz
  -> Found sphinxbase-5prealpha-fix-doxy2swig.patch
==> Validating source files with sha256sums...
    sphinxbase-5prealpha.tar.gz ... Passed
    sphinxbase-5prealpha-fix-doxy2swig.patch ... Passed
==> Making package: pocketsphinx 5prealpha-10 (Sat 07 Aug 2021 09:28:21)
==> Retrieving sources...
  -> Found pocketsphinx-5prealpha.tar.gz
==> Validating source files with sha256sums...
    pocketsphinx-5prealpha.tar.gz ... Passed
==> Making package: lensfun-git 0.3.2.r2032.gad957f64-1 (Sat 07 Aug 2021 09:28:25)
==> Retrieving sources...
  -> Updating lensfun git repo...
Fetching origin
==> Validating source files with sha256sums...
    lensfun ... Skipped
==> Making package: decklink-sdk 1:12.1-1 (Sat 07 Aug 2021 09:28:31)
==> Retrieving sources...
  -> Found Blackmagic_DeckLink_SDK_12.1.zip
==> Validating source files with sha256sums...
    Blackmagic_DeckLink_SDK_12.1.zip ... Passed
==> Making package: ffmpeg-amd-full 4.4-3 (Sat 07 Aug 2021 09:28:35)
==> Retrieving sources...
  -> Found ffmpeg-4.4.tar.xz
  -> Found ffmpeg-4.4.tar.xz.asc
  -> Found 010-ffmpeg-fix-vmaf-model-path.patch
  -> Found 020-ffmpeg-add-svt-hevc-g33ca9aa.patch
  -> Found 030-ffmpeg-add-svt-hevc-docs-g33ca9aa.patch
  -> Found 040-ffmpeg-add-svt-vp9-gabd5c59.patch
  -> Found LICENSE
==> Validating source files with sha256sums...
    ffmpeg-4.4.tar.xz ... Passed
    ffmpeg-4.4.tar.xz.asc ... Skipped
    010-ffmpeg-fix-vmaf-model-path.patch ... Passed
    020-ffmpeg-add-svt-hevc-g33ca9aa.patch ... Passed
    030-ffmpeg-add-svt-hevc-docs-g33ca9aa.patch ... Passed
    040-ffmpeg-add-svt-vp9-gabd5c59.patch ... Passed
    LICENSE ... Passed
==> Verifying source file signatures with gpg...
    ffmpeg-4.4.tar.xz ... Passed
==> Making package: libopenmpt-svn 0.6.r14144-1 (Sat 07 Aug 2021 09:28:41)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating OpenMPT svn repo...
svn: E155004: Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
svn: E155004: Working copy '/home/lukas/.cache/yay/libopenmpt-svn/OpenMPT' locked.
svn: E155004: '/home/lukas/.cache/yay/libopenmpt-svn/OpenMPT' is already locked.
==> WARNING: Failure while updating OpenMPT svn repo
  -> Found 010-libopenmpt-fix-doc-install-dir.patch
==> Validating source files with sha256sums...
    OpenMPT ... Skipped
    010-libopenmpt-fix-doc-install-dir.patch ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of  svn repo...
==> Starting prepare()...
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- a/Makefile
|+++ b/Makefile
--------------------------
File to patch:

Should I take the git options instead? (Option 2 upon prompts)
EDIT: Using the git repos gives the same freezing message:

==> Extracting sources...
  -> Creating working copy of  svn repo...
==> Starting prepare()...
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- a/Makefile
|+++ b/Makefile
--------------------------
File to patch: 

Try cleaning the Pamac build cache and try again:

pamac clean -bv
pamac build ffmpeg-amd-full

Or try Yay:

sudo pacman -Syu --needed base-devel yay
yay -S ffmpeg-amd-full

Thanks for the reply Yochanan. That pamac build command is pretty cool, shows that --enable-vaapi is configured in the build file.

For this:

I got:

[lukas@lukas-pc ~]$ pamac clean -bv
To delete: 0 files
[lukas@lukas-pc ~]$ pamac build ffmpeg-amd-full
Preparing...
Checking ffmpeg-amd-full dependencies...
Checking libopenmpt-svn dependencies...
Checking librist dependencies...
Checking shine dependencies...
Checking uavs3d-git dependencies...
Checking vo-amrwbenc dependencies...
Checking xavs dependencies...
Checking xavs2 dependencies...
Checking pocketsphinx dependencies...
Checking lensfun-git dependencies...
Checking decklink-sdk dependencies...
Checking sphinxbase dependencies...
Warning: removing ffmpeg breaks dependency 'libavcodec.so=58-64' required by chromaprint
Add chromaprint to remove
Warning: removing ffmpeg breaks dependency 'libavformat.so=58-64' required by chromaprint
Add chromaprint to remove
Warning: removing ffmpeg breaks dependency 'libavutil.so=56-64' required by chromaprint
Add chromaprint to remove
Warning: removing ffmpeg breaks dependency 'libswresample.so=3-64' required by chromaprint
Add chromaprint to remove
Warning: removing ffmpeg breaks dependency 'libavdevice.so=58-64' required by mpv
Add mpv to remove
Warning: removing ffmpeg breaks dependency 'libavfilter.so=7-64' required by mpv
Add mpv to remove
Warning: removing ffmpeg breaks dependency 'libswscale.so=5-64' required by mpv
Add mpv to remove
Error: Failed to prepare transaction:
could not satisfy dependencies:
- unable to satisfy dependency 'libavcodec.so=58-64' required by chromaprint
- unable to satisfy dependency 'libavformat.so=58-64' required by chromaprint
- unable to satisfy dependency 'libavutil.so=56-64' required by chromaprint
- unable to satisfy dependency 'libswresample.so=3-64' required by chromaprint
Resolving dependencies...
Checking inter-conflicts...
Error: Failed to prepare transaction:
could not satisfy dependencies:
- unable to satisfy dependency 'libavcodec.so=58-64' required by chromaprint
- unable to satisfy dependency 'libavformat.so=58-64' required by chromaprint
- unable to satisfy dependency 'libavutil.so=56-64' required by chromaprint
- unable to satisfy dependency 'libswresample.so=3-64' required by chromaprint



Edit build files : [e] 
Apply transaction ? [e/y/N] y

Transaction cancelled.

And for this:

I got the same as before, that “File to patch:” freeze:

[lukas@lukas-pc ~]$ sudo pacman -Syu
[sudo] password for lukas: 
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
:: Starting full system upgrade...
warning: manjaro-hello: local (0.6.7-2) is newer than extra (0.6.6-6)
 there is nothing to do
[lukas@lukas-pc ~]$ yay -S ffmpeg-amd-full
:: There are 2 providers available for pocketsphinx:
:: Repository AUR
    1) pocketsphinx 2) pocketsphinx-git 

Enter a number (default=1): 
:: There are 2 providers available for librist:
:: Repository AUR
    1) librist 2) librist-git 

Enter a number (default=1): 
:: There are 2 providers available for xavs2:
:: Repository AUR
    1) xavs2 2) xavs2-git 

Enter a number (default=1): 
:: Checking for conflicts...
:: Checking for inner conflicts...
 -> 
Package conflicts found:
 -> Installing lensfun-git will remove: lensfun
 -> Installing ffmpeg-amd-full will remove: ffmpeg
 -> Conflicting packages will have to be confirmed manually
[Aur:11]  libopenmpt-svn-0.6.r14144-1  librist-0.2.4-1  shine-3.1.1-2  uavs3d-git-1.1.r3.gbdd82f2-1  vo-amrwbenc-0.1.3-2  xavs-0.1.55-1  xavs2-1.3-2  sphinxbase-5prealpha-11  pocketsphinx-5prealpha-10  lensfun-git-0.3.2.r2032.gad957f64-1  ffmpeg-amd-full-4.4-3
[Aur Make:1]  decklink-sdk-1:12.1-1

==> Remove make dependencies after install? [y/N] 
 12 libopenmpt-svn                           (Build Files Exist)
 11 librist                                  (Build Files Exist)
 10 shine                                    (Build Files Exist)
  9 uavs3d-git                               (Build Files Exist)
  8 vo-amrwbenc                              (Build Files Exist)
  7 xavs                                     (Build Files Exist)
  6 xavs2                                    (Build Files Exist)
  5 sphinxbase                               (Build Files Exist)
  4 pocketsphinx                             (Build Files Exist)
  3 lensfun-git                              (Build Files Exist)
  2 decklink-sdk                             (Build Files Exist)
  1 ffmpeg-amd-full                          (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 
:: PKGBUILD up to date, Skipping (1/12): ffmpeg-amd-full
:: PKGBUILD up to date, Skipping (2/12): shine
:: PKGBUILD up to date, Skipping (3/12): libopenmpt-svn
:: PKGBUILD up to date, Skipping (4/12): librist
:: PKGBUILD up to date, Skipping (5/12): xavs2
:: PKGBUILD up to date, Skipping (6/12): uavs3d-git
:: PKGBUILD up to date, Skipping (7/12): vo-amrwbenc
:: PKGBUILD up to date, Skipping (8/12): xavs
:: PKGBUILD up to date, Skipping (9/12): pocketsphinx
:: PKGBUILD up to date, Skipping (10/12): sphinxbase
:: PKGBUILD up to date, Skipping (11/12): lensfun-git
:: PKGBUILD up to date, Skipping (12/12): decklink-sdk
 12 libopenmpt-svn                           (Build Files Exist)
 11 librist                                  (Build Files Exist)
 10 shine                                    (Build Files Exist)
  9 uavs3d-git                               (Build Files Exist)
  8 vo-amrwbenc                              (Build Files Exist)
  7 xavs                                     (Build Files Exist)
  6 xavs2                                    (Build Files Exist)
  5 sphinxbase                               (Build Files Exist)
  4 pocketsphinx                             (Build Files Exist)
  3 lensfun-git                              (Build Files Exist)
  2 decklink-sdk                             (Build Files Exist)
  1 ffmpeg-amd-full                          (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 
:: (1/12) Parsing SRCINFO: libopenmpt-svn
:: (2/12) Parsing SRCINFO: librist
:: (3/12) Parsing SRCINFO: shine
:: (4/12) Parsing SRCINFO: uavs3d-git
:: (5/12) Parsing SRCINFO: vo-amrwbenc
:: (6/12) Parsing SRCINFO: xavs
:: (7/12) Parsing SRCINFO: xavs2
:: (8/12) Parsing SRCINFO: sphinxbase
:: (9/12) Parsing SRCINFO: pocketsphinx
:: (10/12) Parsing SRCINFO: lensfun-git
:: (11/12) Parsing SRCINFO: decklink-sdk
:: (12/12) Parsing SRCINFO: ffmpeg-amd-full
==> Making package: libopenmpt-svn 0.6.r14144-1 (Sun 08 Aug 2021 10:56:19)
==> Retrieving sources...
  -> Updating OpenMPT svn repo...
svn: E155004: Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
svn: E155004: Working copy '/home/lukas/.cache/yay/libopenmpt-svn/OpenMPT' locked.
svn: E155004: '/home/lukas/.cache/yay/libopenmpt-svn/OpenMPT' is already locked.
==> WARNING: Failure while updating OpenMPT svn repo
  -> Found 010-libopenmpt-fix-doc-install-dir.patch
==> Validating source files with sha256sums...
    OpenMPT ... Skipped
    010-libopenmpt-fix-doc-install-dir.patch ... Passed
==> Making package: librist 0.2.4-1 (Sun 08 Aug 2021 10:56:22)
==> Retrieving sources...
  -> Found librist-v0.2.4.tar.bz2
  -> Found 010-librist-disable-multicast-tests.patch
==> Validating source files with sha256sums...
    librist-v0.2.4.tar.bz2 ... Passed
    010-librist-disable-multicast-tests.patch ... Passed
==> Making package: shine 3.1.1-2 (Sun 08 Aug 2021 10:56:28)
==> Retrieving sources...
  -> Found shine-3.1.1.tar.gz
==> Validating source files with sha256sums...
    shine-3.1.1.tar.gz ... Passed
==> Making package: uavs3d-git 1.1.r3.gbdd82f2-1 (Sun 08 Aug 2021 10:56:31)
==> Retrieving sources...
  -> Updating uavs3d git repo...
Fetching origin
  -> Found 010-uavs3d-10bit.patch
==> Validating source files with sha256sums...
    uavs3d ... Skipped
    010-uavs3d-10bit.patch ... Passed
==> Making package: vo-amrwbenc 0.1.3-2 (Sun 08 Aug 2021 10:56:34)
==> Retrieving sources...
  -> Found vo-amrwbenc-0.1.3.tar.gz
==> Validating source files with sha256sums...
    vo-amrwbenc-0.1.3.tar.gz ... Passed
==> Making package: xavs 0.1.55-1 (Sun 08 Aug 2021 10:56:40)
==> Retrieving sources...
  -> Found xavs-0.1.55.tar.gz
  -> Found xavs-0.1.55-dont-strip-symbols.patch
  -> Found xavs-dynamic-xavs.patch
  -> Found xavs-dup-asm.patch
  -> Found xavs-x32-yasm.patch
==> Validating source files with md5sums...
    xavs-0.1.55.tar.gz ... Passed
    xavs-0.1.55-dont-strip-symbols.patch ... Passed
    xavs-dynamic-xavs.patch ... Passed
    xavs-dup-asm.patch ... Passed
    xavs-x32-yasm.patch ... Passed
==> Making package: xavs2 1.3-2 (Sun 08 Aug 2021 10:56:43)
==> Retrieving sources...
  -> Found xavs2-1.3.tar.gz
==> Validating source files with sha256sums...
    xavs2-1.3.tar.gz ... Passed
==> Making package: sphinxbase 5prealpha-11 (Sun 08 Aug 2021 10:56:47)
==> Retrieving sources...
  -> Found sphinxbase-5prealpha.tar.gz
  -> Found sphinxbase-5prealpha-fix-doxy2swig.patch
==> Validating source files with sha256sums...
    sphinxbase-5prealpha.tar.gz ... Passed
    sphinxbase-5prealpha-fix-doxy2swig.patch ... Passed
==> Making package: pocketsphinx 5prealpha-10 (Sun 08 Aug 2021 10:56:51)
==> Retrieving sources...
  -> Found pocketsphinx-5prealpha.tar.gz
==> Validating source files with sha256sums...
    pocketsphinx-5prealpha.tar.gz ... Passed
==> Making package: lensfun-git 0.3.2.r2032.gad957f64-1 (Sun 08 Aug 2021 10:56:56)
==> Retrieving sources...
  -> Updating lensfun git repo...
Fetching origin
==> Validating source files with sha256sums...
    lensfun ... Skipped
==> Making package: decklink-sdk 1:12.1-1 (Sun 08 Aug 2021 10:57:01)
==> Retrieving sources...
  -> Found Blackmagic_DeckLink_SDK_12.1.zip
==> Validating source files with sha256sums...
    Blackmagic_DeckLink_SDK_12.1.zip ... Passed
==> Making package: ffmpeg-amd-full 4.4-3 (Sun 08 Aug 2021 10:57:05)
==> Retrieving sources...
  -> Found ffmpeg-4.4.tar.xz
  -> Found ffmpeg-4.4.tar.xz.asc
  -> Found 010-ffmpeg-fix-vmaf-model-path.patch
  -> Found 020-ffmpeg-add-svt-hevc-g33ca9aa.patch
  -> Found 030-ffmpeg-add-svt-hevc-docs-g33ca9aa.patch
  -> Found 040-ffmpeg-add-svt-vp9-gabd5c59.patch
  -> Found LICENSE
==> Validating source files with sha256sums...
    ffmpeg-4.4.tar.xz ... Passed
    ffmpeg-4.4.tar.xz.asc ... Skipped
    010-ffmpeg-fix-vmaf-model-path.patch ... Passed
    020-ffmpeg-add-svt-hevc-g33ca9aa.patch ... Passed
    030-ffmpeg-add-svt-hevc-docs-g33ca9aa.patch ... Passed
    040-ffmpeg-add-svt-vp9-gabd5c59.patch ... Passed
    LICENSE ... Passed
==> Verifying source file signatures with gpg...
    ffmpeg-4.4.tar.xz ... Passed
==> Making package: libopenmpt-svn 0.6.r14144-1 (Sun 08 Aug 2021 10:57:11)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating OpenMPT svn repo...
svn: E155004: Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
svn: E155004: Working copy '/home/lukas/.cache/yay/libopenmpt-svn/OpenMPT' locked.
svn: E155004: '/home/lukas/.cache/yay/libopenmpt-svn/OpenMPT' is already locked.
==> WARNING: Failure while updating OpenMPT svn repo
  -> Found 010-libopenmpt-fix-doc-install-dir.patch
==> Validating source files with sha256sums...
    OpenMPT ... Skipped
    010-libopenmpt-fix-doc-install-dir.patch ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of  svn repo...
==> Starting prepare()...
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- a/Makefile
|+++ b/Makefile
--------------------------
File to patch:

I’m gonna try a fresh install of Manjaro i3 on my other HDD, hopefully that will sort this dependency hell out. I’ll post my findings.
EDIT: Same outcomes. Was to be expected ofcourse. I believe my only course of action is to install ffmpeg separately away from being installed globally. What would you recommend? Upon researching it seems to me flatpak is a great way to go.

Ah, it was libopenmpt-svn that was having the issue. If that operation gets interrupted, it can’t resume.

You’ve been using Yay the whole time, I see. When Yay asks which packages to cleanBuild, choose libopenmpt-svn. You can also manually delete ~/.cache/yay/libopenmpt-svn/.

Awesome! That got it installed and vainfo now displays the “VAEntrypointEncSlice” entries!

$ vainfo
vainfo: VA-API version: 1.12 (libva 2.12.0)
vainfo: Driver version: Mesa Gallium driver 21.1.5 for AMD PITCAIRN (DRM 2.50.0, 5.10.53-1-MANJARO, LLVM 12.0.1)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileNone                   :	VAEntrypointVideoProc

OBS doesn’t throw that immediate error anymore and it starts to record now, but the video file created is only a second long though.

This is the terminal output:

$ obs
Attempted path: share/obs/obs-studio/locale/en-US.ini
Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini
Attempted path: share/obs/obs-studio/locale.ini
Attempted path: /usr/share/obs/obs-studio/locale.ini
Attempted path: share/obs/obs-studio/themes/Dark.qss
Attempted path: /usr/share/obs/obs-studio/themes/Dark.qss
info: CPU Name: AMD FX(tm)-6300 Six-Core Processor
info: CPU Speed: 2138.721MHz
info: Physical Cores: 3, Logical Cores: 6
info: Physical Memory: 7965MB Total, 4316MB Free
info: Kernel Version: Linux 5.10.53-1-MANJARO
info: Distribution: "Manjaro Linux" Unknown
info: Session Type: x11
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.20.11
info: Portable mode: false
Attempted path: share/obs/obs-studio/themes/Dark/no_sources.svg
Attempted path: /usr/share/obs/obs-studio/themes/Dark/no_sources.svg
QMetaObject::connectSlotsByName: No matching signal for on_tbar_position_valueChanged(int)
QMetaObject::connectSlotsByName: No matching signal for on_actionShowTransitionProperties_triggered()
QMetaObject::connectSlotsByName: No matching signal for on_actionHideTransitionProperties_triggered()
info: OBS 27.0.1-2 (linux)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
	samples per sec: 48000
	speakers:        2
info: ---------------------------------
info: Initializing OpenGL...
info: Loading up OpenGL on adapter AMD AMD PITCAIRN (DRM 2.50.0, 5.10.53-1-MANJARO, LLVM 12.0.1)
info: OpenGL loaded successfully, version 4.5 (Core Profile) Mesa 21.1.5, shading language 4.50
info: ---------------------------------
info: video settings reset:
	base resolution:   1920x1080
	output resolution: 1920x1080
	downscale filter:  Bicubic
	fps:               60/1
	format:            NV12
	YUV mode:          709/Partial
info: NV12 texture support not available
info: Audio monitoring device:
	name: Default
	id: default
info: ---------------------------------
warning: Failed to load 'en-US' text for module: 'decklink-captions.so'
warning: Failed to load 'en-US' text for module: 'decklink-ouput-ui.so'
libDeckLinkAPI.so: cannot open shared object file: No such file or directory
warning: A DeckLink iterator could not be created.  The DeckLink drivers may not be installed
info: No blackmagic support
warning: v4l2loopback not installed, virtual camera disabled
info: FFMPEG VAAPI supported
info: ---------------------------------
info:   Loaded Modules:
info:     text-freetype2.so
info:     sndio.so
info:     rtmp-services.so
info:     obs-x264.so
info:     obs-transitions.so
info:     obs-outputs.so
info:     obs-libfdk.so
info:     obs-filters.so
info:     obs-ffmpeg.so
info:     linux-v4l2.so
info:     linux-pulseaudio.so
info:     linux-jack.so
info:     linux-decklink.so
info:     linux-capture.so
info:     linux-alsa.so
info:     image-source.so
info:     frontend-tools.so
info:     decklink-ouput-ui.so
info:     decklink-captions.so
info: ---------------------------------
info: ==== Startup complete ===============================================
info: All scene data cleared
info: ------------------------------------------------
info: xshm-input: Geometry 1920x1080 @ 0,0
info: Switched to scene 'Scene'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info:     - source: 'Screen Capture (XSHM)' (xshm_input)
info: ------------------------------------------------
Attempted path: share/obs/obs-studio/images/overflow.png
Attempted path: /usr/share/obs/obs-studio/images/overflow.png
info: ---------------------------------
info: [FFMPEG VAAPI encoder: 'recording_h264'] settings:
	device:       /dev/dri/renderD128
	rate_control: CBR
	profile:      578
	level:        40
	qp:           0
	bitrate:      2500
	maxrate:      2500
	keyint:       120
	width:        1920
	height:       1080
	b-frames:     0

[h264_vaapi @ 0x55715fea74c0] Driver does not support some wanted packed headers (wanted 0xd, found 0x1).
info: libfdk_aac encoder created
info: libfdk_aac bitrate: 160, channels: 2
info: ==== Recording Start ===============================================
info: [ffmpeg muxer: 'adv_file_output'] Writing file '/home/nincompoop/2021-08-09 08-43-24.mp4'...
info: Output format name and long_name: mp4, MP4 (MPEG-4 Part 14)
info: [ffmpeg muxer: 'adv_file_output'] Output of file '/home/nincompoop/2021-08-09 08-43-24.mp4' stopped
info: Output 'adv_file_output': stopping
info: Output 'adv_file_output': Total frames output: 38
info: Output 'adv_file_output': Total drawn frames: 386 (600 attempted)
info: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 214 (35.7%)
info: ==== Recording Stop ================================================
info: Video stopped, number of skipped frames due to encoding lag: 30/56 (53.6%)
info: libfdk_aac encoder destroyed

with the
[h264_vaapi @ 0x55715fea74c0] Driver does not support some wanted packed headers (wanted 0xd, found 0x1).
line being highlighted. It must be so incredibly close to working fully. Another great thing, the x264 (CPU encoding) is MUCH faster than it was before!

Thank you so much Yochanan!