snapcrafters / obs-studio

This is a community-supported modified build of OBS Studio.
https://snapcraft.io/obs-studio
118 stars 35 forks source link

HW encoding with VA-API and Intel GPU not working #87

Closed askolsam closed 3 years ago

askolsam commented 3 years ago

Hello.

I cannot get hardware encoding to work using VA-API with Intel GPU in version 26.0.2 (tested both stable and edge). It seems a required file is missing from the snap:

$ obs-studio.vainfo
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /snap/obs-studio/1153/usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

$ ls -1 /snap/obs-studio/1153/usr/lib/x86_64-linux-gnu/dri/
i915_dri.so
i965_dri.so
iris_dri.so
kms_swrast_dri.so
nouveau_dri.so
nouveau_drv_video.so
nouveau_vieux_dri.so
r200_dri.so
r300_dri.so
r600_dri.so
r600_drv_video.so
radeon_dri.so
radeonsi_dri.so
radeonsi_drv_video.so
swrast_dri.so
virtio_gpu_dri.so
vmwgfx_dri.so

The host OS is Fedora 31 and I'm able to use VA-API there just fine (ffmpeg, obs-studio from RPM Fusion repo):

$ vainfo
libva info: VA-API version 1.6.0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_6
failed to open /usr/lib64/dri/hybrid_drv_video.so
Not using hybrid_drv_video.so
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.6 (libva 2.6.1)
vainfo: Driver version: Intel i965 driver for Intel(R) Ivybridge Mobile - 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
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
popey commented 3 years ago

This could be fixed via #88 - it's currently building in launchpad. please look out for a build revision in edge above 1154. Once that lands, please snap refresh obs-studio --edge and see if that works for you.

askolsam commented 3 years ago

Fix confirmed (rev 1155).