Den 03.09.2024 03:56, skrev Andrew Randrianasulu:
пн, 2 сент. 2024 г., 22:54 Terje Hanssen <terjejhans...@gmail.com>:
Den 02.09.2024 15:58, skrev Wang, Fei W:
> On Mon, 2024-09-02 at 15:29 +0200, Terje J. Hanssen wrote:
>>
>>
>> On 9/2/24 07:01, Wang, Fei W wrote:
>>
>>> On Sun, 2024-09-01 at 10:53 +0200, Terje J. Hanssen wrote:
>>>
>>>> I have not succeeded yet to configure ffmpeg QSV access to an
enabled
>>>> iGPU onboard an Intel Core i7-6700K (Skylake). This is a legacy,
>>>> rebuilt workstation with additional, discrete Nvidia GeForce
GTX 960
>>>> GPU
>>>> on a MSI-Z170-A Pro mobo.
>>>> Any suggestions how to solve this?
>>> You can use vainfo to find the Intel gpu device correctly:
>>> "vainfo --display drm --device /dev/dri/renderD12X"
>>> Then specify device in ffmpeg cmdline with "-qsv_device
>>> /dev/dri/renderD12X"
>>> BTW, for legacy platforms, suggest to use libvpl with Media
SDK for the
>>> runtime implementation:
>>> https://github.com/intel/libvpl
>>> https://github.com/Intel-Media-SDK/MediaSDK
>>> Thanks
>>> Fei
>> @Fei, thanks for your suggestion that hopefully will probe me
in the
>> right direction.
>> Right now, I will be absent from my Skylake workstation a week or
>> two, before I can test more directly on it. But I did preserve
some
>> more output I will add and refer to below.
>>
>> In the meantime I also can do a bit indirectly tests on my
available
>> Kaby Lake XPS-13 with UHD 620 iGPU and a similar system
installation:
>>
>> vainfo --display drm --device /dev/dri/renderD12X
>> Trying display: drm
>> Failed to open the given device!
>>
>> As this don't find any device on Kaby Lake, I expect I rather
have to
>> put in a number "8" instead of "X" as found on Kaby Lake(?)
>
> Yes, X stands for 8 or 9. To find the Intel device node if vainfo
> shows the correct message.
>
>>
>> ls /dev/dri
>> by-path card1 renderD128
>>
>> When I try
>>
>>> vainfo --display drm --device /dev/dri/renderD12*
>> or
>>
>>> vainfo --display drm --device /dev/dri/renderD128
>> This simingly output just the same as "vainfo" alone on KabyLake.
>>
>> And I have the latter preserved also from Skylake as follows:
>>
>>> vainfo
>>> Trying display: wayland
>>> libva info: VA-API version 1.22.0
>>> libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
>>> libva info: Found init function __vaDriverInit_1_21
>>> 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 -
>>> 24.1.5 ()
>>> 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
>>> VAProfileVP8Version0_3 : VAEntrypointVLD
>>> VAProfileVP8Version0_3 : VAEntrypointEncSlice
>>> VAProfileHEVCMain : VAEntrypointVLD
>>> VAProfileHEVCMain : VAEntrypointEncSlice
>>> VAProfileHEVCMain : VAEntrypointFEI
>> ---------------
>>
>>
>> If /dev/dri/card2 and /dev/dri/renderD129 refer to the Skylake HD
>> 530 iGPU
>> (and /dev/dri/card1 and /dev/dri/renderD128 refer to the
Nvidia GPU),
>> I cannot understand why the initial, second ffmpeg command in
section
>> 2) below did report errors?
>>
>> Possibly syntax error or something else?
>
> The command looks good. There are 2 run-time implementation
Media SDK
> and vpl-gpu-rt for libvpl(
> more details can be found on github of libvpl:
> https://github.com/intel/libvpl).
> While only Media SDK supported on Skylake. So you may check if you
> installed Meida SDK on your Skylake
> but not vpl-gpu-rt.
>
> Thanks
> Fei
>
>>
I only install and have installed related, pre-build distribution
packages for openSUSE Tumbleweed Slowroll. Here they are sorted in
two
lists, to get both the summary descriptions and version numbers,
in case
something clarify if Media SDK RT is among them(?)
may be check also for libmfx?
Hi Andrew,
Yes, I also noticed libmfx. But to check that on Skylake, I have to wait
until next week.
The triple boot menu on my XPS-13/9370 also died, so now I have only
Ubuntu (from fabric) running and updated on it, as a base Thunderbird
mail platform :)
Terje
zypper se -i nvidia vulkan mesa nouveau intel
Laster pakkebrønndata...
Leser installerte pakker...
S | Name | Summary | Type
---+--------------------------------+-------------------------------------------------------------------------+------
i+ | intel-gpu-tools | Collection of tools for
development and testing of the Intel DRM driver | pakke
i+ | intel-media-driver | Intel Media Driver for
VAAPI | pakke
i | kernel-firmware-intel | Kernel firmware files for
Intel-platform device drivers | pakke
i | kernel-firmware-nvidia | Kernel firmware files for
Nvidia
Tegra and graphics drivers | pakke
i | libdrm_intel1 | Userspace interface for
Kernel DRM
services for Intel chips | pakke
i | libdrm_nouveau2 | Userspace interface for
Kernel DRM
services for NVIDIA chips | pakke
i | libgstvulkan-1_0-0 | GStreamer Streaming-Media
Framework Plug-Ins | pakke
i | libnvidia-egl-wayland1 | The EGLStream-based Wayland
external platform | pakke
i+ | libvdpau_nouveau | VDPAU state tracker for
Nouveau | pakke
i | libvulkan1 | The Vulkan 3D graphics and
compute
API | pakke
i+ | libvulkan_intel | Mesa vulkan driver for Intel
GPU | pakke
i | Mesa | System for rendering 3-D
graphics | pakke
i | Mesa-demo-x | GLX-based
demos | pakke
i | Mesa-dri | DRI plug-ins for 3D
acceleration | pakke
i | Mesa-gallium | Mesa Gallium GPU
drivers | pakke
i | Mesa-libEGL1 | EGL API
implementation |
pakke
i | Mesa-libGL1 | The GL/GLX runtime of the
Mesa 3D
graphics library | pakke
i | Mesa-libglapi0 | Free implementation of the GL
API | pakke
i | Mesa-libva | Mesa VA-API
implementation | pakke
i | Mesa-vulkan-device-select | Vulkan layer to select Vulkan
devices provided by Mesa | pakke
i | nvidia-compute-G06 | NVIDIA driver for computing
with
GPGPU | pakke
i | nvidia-compute-G06-32bit | 32bit NVIDIA driver for
computing
with GPGPU | pakke
i+ | nvidia-driver-G06-kmp-default | NVIDIA graphics driver kernel
module for GeForce 700 series and newer | pakke
i | nvidia-gl-G06 | NVIDIA OpenGL libraries for
OpenGL
acceleration | pakke
i | nvidia-gl-G06-32bit | 32bit NVIDIA OpenGL
libraries for
OpenGL acceleration | pakke
i | nvidia-video-G06 | NVIDIA graphics driver for
GeForce
700 series and newer | pakke
i | nvidia-video-G06-32bit | 32bit NVIDIA graphics driver
for
GeForce 700 series and newer | pakke
i+ | openSUSE-repos-Slowroll-NVIDIA | openSUSE NVIDIA repository
definitions | pakke
i+ | ucode-intel | Microcode Updates for Intel
x86/x86-64 CPUs | pakke
i+ | vulkan-tools | Diagnostic utilities for
Vulkan | pakke
zypper se -is nvidia vulkan mesa nouveau intel
Laster pakkebrønndata...
Leser installerte pakker...
S | Name | Type | Version |
Arch | Repository
---+--------------------------------+-------+-----------------------+--------+------------------------
i+ | intel-gpu-tools | pakke | 1.28-3.4 |
x86_64 | repo-oss
i+ | intel-media-driver | pakke | 24.1.5-1.1 |
x86_64 | repo-oss
i | kernel-firmware-intel | pakke | 20240809-1.1 |
noarch | update-slowroll
i | kernel-firmware-nvidia | pakke | 20240809-1.1 |
noarch | update-slowroll
i | libdrm_intel1 | pakke | 2.4.122-1.1 |
x86_64 | repo-oss
i | libdrm_nouveau2 | pakke | 2.4.122-1.1 |
x86_64 | repo-oss
i | libgstvulkan-1_0-0 | pakke | 1.24.6-1.1 |
x86_64 | repo-oss
i | libnvidia-egl-wayland1 | pakke | 1.1.15-1.1 |
x86_64 | update-slowroll
i+ | libvdpau_nouveau | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i+ | libvdpau_nouveau | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | libvulkan1 | pakke | 1.3.290-1.1 |
x86_64 | repo-oss
i+ | libvulkan_intel | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i+ | libvulkan_intel | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa-demo-x | pakke | 9.0.0-3.3 |
x86_64 | repo-oss
i | Mesa-dri | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa-dri | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa-gallium | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa-gallium | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa-libEGL1 | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa-libEGL1 | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa-libGL1 | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa-libGL1 | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa-libglapi0 | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa-libglapi0 | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa-libva | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa-libva | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa-vulkan-device-select | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | Mesa-vulkan-device-select | pakke | 24.1.5-1699.393.pm.1 |
x86_64 | Packman
i | nvidia-compute-G06 | pakke | 550.100-25.1 |
x86_64 | repo-non-free
i | nvidia-compute-G06 | pakke | 550.100-25.1 |
x86_64 | nVidia Graphics Drivers
i | nvidia-compute-G06-32bit | pakke | 550.100-25.1 |
x86_64 | repo-non-free
i | nvidia-compute-G06-32bit | pakke | 550.100-25.1 |
x86_64 | nVidia Graphics Drivers
i+ | nvidia-driver-G06-kmp-default | pakke | 550.100_k6.9.7_1-25.1 |
x86_64 | repo-non-free
i+ | nvidia-driver-G06-kmp-default | pakke | 550.100_k6.9.7_1-25.1 |
x86_64 | nVidia Graphics Drivers
i | nvidia-gl-G06 | pakke | 550.100-25.1 |
x86_64 | repo-non-free
i | nvidia-gl-G06 | pakke | 550.100-25.1 |
x86_64 | nVidia Graphics Drivers
i | nvidia-gl-G06-32bit | pakke | 550.100-25.1 |
x86_64 | repo-non-free
i | nvidia-gl-G06-32bit | pakke | 550.100-25.1 |
x86_64 | nVidia Graphics Drivers
i | nvidia-video-G06 | pakke | 550.100-25.1 |
x86_64 | repo-non-free
i | nvidia-video-G06 | pakke | 550.100-25.1 |
x86_64 | nVidia Graphics Drivers
i | nvidia-video-G06-32bit | pakke | 550.100-25.1 |
x86_64 | repo-non-free
i | nvidia-video-G06-32bit | pakke | 550.100-25.1 |
x86_64 | nVidia Graphics Drivers
i+ | openSUSE-repos-Slowroll-NVIDIA | pakke | 20240712.dd8c2eb-1.1 |
x86_64 | repo-oss
i+ | ucode-intel | pakke | 20240813-1.1 |
x86_64 | update-slowroll
i+ | vulkan-tools | pakke | 1.3.290-1.1 |
x86_64 | repo-oss
--------------
Beyond sdk/vainfo, I also preserved and add the following ffmpeg test
with Vulkan and Vulkan-info output, in case they throw more light
on the
issue:
Skylake (i7-6700K/Nvidia)
ffmpeg -hide_banner -init_hw_device "vulkan=vk:0" -hwaccel vulkan
-hwaccel_output_format vulkan -i h264_8bit_yuv420p.mp4 -f null -
Stream #0:0 -> #0:0 (h264 (native) -> wrapped_avframe
(native))
Press [q] to stop, [?] for help
[h264 @ 0x55921d474200] Device does not support the
VK_KHR_video_decode_queue extension!
[h264 @ 0x55921d474200] Failed setup for format vulkan:
hwaccel
initialisation returned error.
frame= 1780 fps=430 q=-0.0 Lsize=N/A time=00:01:11.20 bitrate=N/A
speed=17.2x
vulkaninfo | egrep 'GPU|driver'
VK_LUNARG_direct_driver_loading : extension revision 1
GPU id = 0 (Intel(R) HD Graphics 530 (SKL GT2))
GPU id = 1 (NVIDIA GeForce GTX 960)
GPU id = 0 (Intel(R) HD Graphics 530 (SKL GT2))
GPU id = 1 (NVIDIA GeForce GTX 960)
GPU id : 0 (Intel(R) HD Graphics 530 (SKL GT2)):
GPU id : 1 (NVIDIA GeForce GTX 960):
GPU id : 0 (Intel(R) HD Graphics 530 (SKL GT2)):
GPU id : 1 (NVIDIA GeForce GTX 960):
GPU0:
driverVersion = 24.1.5 (100667397)
deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
driverUUID =
cc628f46-3d02-8624-0c8a-e98e0420c4f6
driverID =
DRIVER_ID_INTEL_OPEN_SOURCE_MESA
driverName = Intel
open-source Mesa driver
driverInfo = Mesa 24.1.5
VK_KHR_driver_properties : extension
revision 1
GPU1:
driverVersion = 550.100.0.0 (2308505600)
deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
driverUUID =
63390c76-60ef-5529-a6ac-99167eb42a9c
driverID =
DRIVER_ID_NVIDIA_PROPRIETARY
driverName = NVIDIA
driverInfo = 550.100
VK_KHR_driver_properties : extension
revision 1
>>
>>>
>>>> My tested ffmpeg code lines and system information below.
>>>> 1) Tested first this simple ffmpeg decode bencmark code line from
>>>> https://trac.ffmpeg.org/wiki/Hardware/QuickSync#Decode-only
>>>> This works fine on single GPU Caby Lake/UHD 620 and on Alder
Lake/Arc
>>>> A750, but on Skylake with dual iGPU HD 530 and a Nvidia
GeForce GTX
>>>> 960
>>>> card, these errors are reported:
>>>> ffmpeg -hide_banner -hwaccel qsv -hwaccel_output_format
qsv -i
>>>> h264_8bit_yuv420p.mp4 -f null -
>>>> ....
>>>> [AVHWDeviceContext @ 0x55bed1a7c500] Error creating a MFX
>>>> session: -9.
>>>> Device creation failed: -1313558101.
>>>> [vist#0:0/h264 @ 0x55bed1a656c0] [dec:h264_qsv @
0x55bed1a64300]
>>>> No
>>>> device available for decoder: device type qsv needed for
codec
>>>> h264_qsv.
>>>> [vist#0:0/h264 @ 0x55bed1a656c0] [dec:h264_qsv @
0x55bed1a64300]
>>>> Hardware device setup failed for decoder: Unknown error
occurred
>>>> [vost#0:0/wrapped_avframe @ 0x55bed1a63740] Error
initializing a
>>>> simple filtergraph
>>>> Error opening output file -.
>>>> Error opening output files: Unknown error occurred
>>>> bench: maxrss=59076KiB
>>>> 2) Additional tests where I experimented to apply suggestions
from
>>>> https://trac.ffmpeg.org/wiki/Hardware/QuickSync#Transcode
>>>> -qsv_device is an qsv customized option can be used to
specify
>>>> a
>>>> hardware device and avoid the default device initialization
>>>> failure
>>>> when multiple devices usable (eg: an Intel integrated
GPU and an
>>>> AMD/Nvidia discrete graphics card).
>>>> ffmpeg -hide_banner -hwaccel qsv -qsv_device
/dev/dri/renderD128
>>>> -i
>>>> h264_8bit_yuv420p.mp4 -f null -
>>>> DRM_IOCTL_VERSION, unsupported drm device by media
driver: nvid
>>>> DRM_IOCTL_VERSION, unsupported drm device by media
driver: nvid
>>>> [AVHWDeviceContext @ 0x56330da80dc0] libva:
>>>> /usr/lib64/dri/iHD_drv_video.so init failed
>>>> [AVHWDeviceContext @ 0x56330da80dc0] Failed to
initialise VAAPI
>>>> connection: 18 (invalid parameter).
>>>> Device creation failed: -5.
>>>> Failed to set value '/dev/dri/renderD128' for option
>>>> 'qsv_device':
>>>> Input/output error
>>>> Error parsing global options: Input/output error
>>>> ffmpeg -hide_banner -hwaccel qsv -qsv_device
/dev/dri/renderD129
>>>> -i
>>>> h264_8bit_yuv420p.mp4 -f null -
>>>> [AVHWDeviceContext @ 0x55deafcbcec0] Error creating a MFX
>>>> session: -9.
>>>> Device creation failed: -1313558101.
>>>> Failed to set value '/dev/dri/renderD129' for option
>>>> 'qsv_device':
>>>> Unknown error occurred
>>>> Error parsing global options: Unknown error occurred
>>>> ffmpeg -hide_banner -init_hw_device qsv=hw
-filter_hw_device hw
>>>> -hwaccel_output_format qsv -hwaccel qsv -qsv_device
>>>> /dev/dri/renderD128 -i h264_8bit_yuv420p.mp4 -f null -
>>>> [AVHWDeviceContext @ 0x563f568e7e00] Error creating a MFX
>>>> session: -9.
>>>> Device creation failed: -1313558101.
>>>> Failed to set value 'qsv=hw' for option
'init_hw_device': Unknown
>>>> error occurred
>>>> Error parsing global options: Unknown error occurred
>
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".