Page 1 of 1

QuickSync Linux

PostPosted: Sun Aug 28, 2022 1:26 pm
by dash
I'm running serviio on a VM with iGPU passthrough, but I can't seem to get QuickSync to work.

  • I have ffmpeg with --enable-libmfx configured.
  • When I check ffmpeg -encoders I have "
      Code:
     V..... h264_qsv             H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264)
    " listed.
  • I've updated my TV profile to use a targetVCodec="h264"

I believe this is everything that is required? But I'm not seeing any reduction in CPU usage (trying a 4K film to transcode to HD, and using > 150% CPU it's not keeping up).

Does anybody know what I might be missing?

Re: QuickSync Linux

PostPosted: Sun Aug 28, 2022 10:24 pm
by atc98092
I'm just guessing, but it's likely that it won't work in a VM. I believe it needs direct hardware access to work, and the VM might not be permitting that to happen.

Re: QuickSync Linux

PostPosted: Mon Aug 29, 2022 7:59 pm
by dash
You can pass through devices, such as GPU using Direct I/O which gives a single VM exclusive access to the device as if it was running directly on tin. So I don't think it's that, but not sure if I've missed any other steps.

Re: QuickSync Linux

PostPosted: Tue Aug 30, 2022 6:19 pm
by cmakula
iGPU stuff is interesting, but not something I have used successfully.

I know it requires two full host units (for example, Intel integrated graphics onboard and a separate AMD/nVidia/etc "active" display adapter). If your second video is a "passive" displayLink or USB3/Thunderbolt it doesn't work because it still uses the onboard graphics unit for partial processing and cannot dedicate itself actively to the VM.

I've only tried to use it once under qemu, and it didn't work properly, mostly because I was trying to use a USB docking station's displayLink as the host video.

Re: QuickSync Linux

PostPosted: Wed Aug 31, 2022 1:39 pm
by dash
Yeah, you completely lose host output if you dedicate the GPU to a VM. But you tend to run headless anyway when using VMs.