[Intel] OBS Studio does not allow me to use hardware encoding

I can confirm that this is supported on my GPU with the following means:

  1. vainfo returns the following:
Trying display: wayland
Trying display: x11
vainfo: VA-API version: 1.21 (libva 2.22.0)
vainfo: Driver version: Intel i965 driver for Intel(R) CherryView - 2.4.1
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264MultiviewHigh      :	VAEntrypointVLD
      VAProfileH264MultiviewHigh      :	VAEntrypointEncSlice
      VAProfileH264StereoHigh         :	VAEntrypointVLD
      VAProfileH264StereoHigh         :	VAEntrypointEncSlice
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileVP8Version0_3          :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
  1. Downloading a YouTube video and playing it with mpv video.mp4 --hwdec=auto-safe works. sudo intel_gpu_top shows the Video bar above 0%. Browsers have not seemed to want to use va-api, and I’ve actually screwed up my video playback on Floorp because of this.
  2. This feature works properly on Windows.

    On Windows I would have the option to use my iGPU’s encoder instead, which makes my videos look more like videos instead of diarrhea.

As far as i know, i965 does not have an encoding engine, your list is all decoding support. VA-API is not en encoding interface, it is for decoding. With a libva-intel-hybrid-driver and G45 chips you get an encoder but only for VP8, nothing else. I have no experience with that, i am using NVIDIA which has nvenc as encoder, which is very flexible and allows choosing different codecs and adjustments to parameters. OBS works with it.

The Arch Wiki:

VAEntrypointVLD means that your card is capable to decode this format, VAEntrypointEncSlice means that you can encode to this format.

I see a whole lot of both. Is this something I would have to bug OBS about to support on Linux?

ok, my information seems outdated… I don’t think that this is a bug in OBS. OBS web site lists NVENC, AMF and also QSV, but from what i see it uses external programs like x264 or nvenc for encoding. I have no idea what the Interface would be for QSV, other than if you have a x264 version qsv support, this will certainly do the job. I am not sure, i use nvenc for this.