Fedora 38, Intel GPU with QuickSync - how to enable?

leod

New Member
Hi,

I'm using Linux Fedora 38 with Gnome 44.2 Wayland.

I have an Intel 13900K CPU with integrated UHD 770 GPU. I also have an AMD Radeon RX6600 dedicated GPU. My 2 monitors are connected to the output of AMD Radeon GPU.

My expectation was to be able to use Intel QuickSync (from Intel UHD 770 GP) for encoding in OBS. However, it's not available.

I can't see that encoder there:


The OBS logs are attached here.

Some more information:


lspci -k | grep -A 5 VGA


Code:
00:02.0 VGA compatible controller: Intel Corporation Raptor Lake-S GT1 [UHD Graphics 770] (rev 04)
        DeviceName: Onboard - Video
        Subsystem: ASUSTeK Computer Inc. Device 8694
        Kernel driver in use: i915
        Kernel modules: i915
    00:06.0 PCI bridge: Intel Corporation Device a74d (rev 01)
    --
    03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6600/6600 XT/6600M] (rev c7)
        Subsystem: XFX Limited Device 6505
        Kernel driver in use: amdgpu
        Kernel modules: amdgpu
    03:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller
        Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller



vainfo --display drm --device /dev/dri/renderD128

Code:
Trying display: drm
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.18 (libva 2.18.2)
vainfo: Driver version: Mesa Gallium driver 23.1.1 for AMD Radeon RX 6600 (navi23, LLVM 16.0.4, DRM 3.52, 6.3.6-200.fc38.x86_64)
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
      VAProfileHEVCMain               :    VAEntrypointVLD
      VAProfileHEVCMain               :    VAEntrypointEncSlice
      VAProfileHEVCMain10             :    VAEntrypointVLD
      VAProfileHEVCMain10             :    VAEntrypointEncSlice
      VAProfileJPEGBaseline           :    VAEntrypointVLD
      VAProfileVP9Profile0            :    VAEntrypointVLD
      VAProfileVP9Profile2            :    VAEntrypointVLD
      VAProfileAV1Profile0            :    VAEntrypointVLD
      VAProfileNone                   :    VAEntrypointVideoProc


vainfo --display drm --device /dev/dri/renderD129

Code:
Trying display: drm
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.18 (libva 2.18.2)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.1.6 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   :    VAEntrypointVideoProc
      VAProfileNone                   :    VAEntrypointStats
      VAProfileMPEG2Simple            :    VAEntrypointVLD
      VAProfileMPEG2Simple            :    VAEntrypointEncSlice
      VAProfileMPEG2Main              :    VAEntrypointVLD
      VAProfileMPEG2Main              :    VAEntrypointEncSlice
      VAProfileH264Main               :    VAEntrypointVLD
      VAProfileH264Main               :    VAEntrypointEncSlice
      VAProfileH264Main               :    VAEntrypointFEI
      VAProfileH264Main               :    VAEntrypointEncSliceLP
      VAProfileH264High               :    VAEntrypointVLD
      VAProfileH264High               :    VAEntrypointEncSlice
      VAProfileH264High               :    VAEntrypointFEI
      VAProfileH264High               :    VAEntrypointEncSliceLP
      VAProfileVC1Simple              :    VAEntrypointVLD
      VAProfileVC1Main                :    VAEntrypointVLD
      VAProfileVC1Advanced            :    VAEntrypointVLD
      VAProfileJPEGBaseline           :    VAEntrypointVLD
      VAProfileJPEGBaseline           :    VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline:    VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:    VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:    VAEntrypointFEI
      VAProfileH264ConstrainedBaseline:    VAEntrypointEncSliceLP
      VAProfileHEVCMain               :    VAEntrypointVLD
      VAProfileHEVCMain               :    VAEntrypointEncSlice
      VAProfileHEVCMain               :    VAEntrypointFEI
      VAProfileHEVCMain               :    VAEntrypointEncSliceLP
      VAProfileHEVCMain10             :    VAEntrypointVLD
      VAProfileHEVCMain10             :    VAEntrypointEncSlice
      VAProfileHEVCMain10             :    VAEntrypointEncSliceLP
      VAProfileVP9Profile0            :    VAEntrypointVLD
      VAProfileVP9Profile0            :    VAEntrypointEncSliceLP
      VAProfileVP9Profile1            :    VAEntrypointVLD
      VAProfileVP9Profile1            :    VAEntrypointEncSliceLP
      VAProfileVP9Profile2            :    VAEntrypointVLD
      VAProfileVP9Profile2            :    VAEntrypointEncSliceLP
      VAProfileVP9Profile3            :    VAEntrypointVLD
      VAProfileVP9Profile3            :    VAEntrypointEncSliceLP
      VAProfileHEVCMain12             :    VAEntrypointVLD
      VAProfileHEVCMain12             :    VAEntrypointEncSlice
      VAProfileHEVCMain422_10         :    VAEntrypointVLD
      VAProfileHEVCMain422_10         :    VAEntrypointEncSlice
      VAProfileHEVCMain422_12         :    VAEntrypointVLD
      VAProfileHEVCMain422_12         :    VAEntrypointEncSlice
      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
      VAProfileAV1Profile0            :    VAEntrypointVLD
      VAProfileHEVCSccMain444_10      :    VAEntrypointVLD
      VAProfileHEVCSccMain444_10      :    VAEntrypointEncSliceLP


Does anyone know what I should do, to have Intel QuickSync available on my OBS?

Many thanks :-)
 

Attachments

  • 2023-06-11 15-13-45.txt
    6 KB · Views: 16

Tuna

Member
Quicksync is a marketing term. You want "FFMPEG VAAPI H.264". It is also not recommended to use the intel when you are running on the Radeon. Just use the Radeon.
 

leod

New Member
rockbottom - yes it's enabled.

Tuna - thanks for the feedback. I thought QuickSync (Intel) performed better than AMD Radeon, that's why I was trying. Thanks!
 

rockbottom

Active Member
Strange, I use my UHD770 for all my outgoing streams while my RTX-3090 is encoding my recording. It just works like a charm, no issues to report here but I'm on Windows.
 
intel quicksync doesn't technically exist in linux. linux vaapi is terrible compared to intel quicksync. sure it works but your not getting the hardware acceleration that obs uses in windows. that being said you can run on your intel igpu using vaapi but you won't be getting the performance it ordinarly gets so if you were expecting it to compare to discrete graphics in linux when used for encoding that is not possible in linux.
 
Top