1 hour ago
Hi,
I'm running NextPVR in the official Docker container nextpvr/nextpvr_amd64 on Unraid.
I noticed playback issues while testing my recordings.
The host also has an Intel Arc A310, but that GPU is bound to vfio-pci and is not used by NextPVR.
The Arrow Lake iGPU is exposed to the NextPVR container as: /dev/dri/renderD128
The mapping on the host is:
pci-0000:00:02.0-card -> ../card1
pci-0000:00:02.0-render -> ../renderD128
Inside the NextPVR container:
crwxrwxrwx 1 root 18 226, 128 /dev/dri/renderD128
NextPVR runs as root, so this does not appear to be a permissions issue.
1. VAAPI / web playback
With VAAPI enabled in NextPVR, playing a recording in the web interface fails with: Failed to start requested stream
Testing VAAPI directly inside the NextPVR container reproduces the problem:
ffmpeg \
-hide_banner \
-vaapi_device /dev/dri/renderD128 \
-f lavfi -i color=size=1280x720:rate=25 \
-vf 'format=nv12,hwupload' \
-c:v h264_vaapi \
-frames:v 25 \
-f null -
[AVHWDeviceContext @ ...] libva: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
[AVHWDeviceContext @ ...] libva: /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so init failed
[AVHWDeviceContext @ ...] Failed to initialise VAAPI connection: -1 (unknown libva error).
Device creation failed: -5.
Failed to set value '/dev/dri/renderD128' for option 'vaapi_device': Input/output error
Error parsing global options: Input/output error
The versions installed in the NextPVR container are:
ffmpeg 5.1.9-0+deb12u1
intel-media-va-driver-non-free 23.1.1+ds1-1
libva2 2.17.0-1
libva-drm2 2.17.0-1
I also tested what upgrading the VAAPI stack from Debian Trixie would require. It would provide:
intel-media-va-driver-non-free 25.2.3
libva 2.22.0
libdrm 2.4.124
but it would also upgrade libc and several other core packages from Debian 12 to Debian 13, so I did not perform that upgrade.
As soon as I disable VAAPI in NextPVR, web playback works correctly.
Therefore this seems to be specifically related to the Intel VAAPI/media-driver version in the current NextPVR container and Arrow Lake-S.
Interestingly, Plex is running on the same Unraid server with the same /dev/dri device exposed and ships its own iHD_drv_video.so and works fine.
My questions is:
Is the Intel media-driver included in the current NextPVR Docker image known to be too old for Arrow Lake-S, and is there a plan to update it?
I'm running NextPVR in the official Docker container nextpvr/nextpvr_amd64 on Unraid.
I noticed playback issues while testing my recordings.
The host also has an Intel Arc A310, but that GPU is bound to vfio-pci and is not used by NextPVR.
The Arrow Lake iGPU is exposed to the NextPVR container as: /dev/dri/renderD128
The mapping on the host is:
pci-0000:00:02.0-card -> ../card1
pci-0000:00:02.0-render -> ../renderD128
Inside the NextPVR container:
crwxrwxrwx 1 root 18 226, 128 /dev/dri/renderD128
NextPVR runs as root, so this does not appear to be a permissions issue.
1. VAAPI / web playback
With VAAPI enabled in NextPVR, playing a recording in the web interface fails with: Failed to start requested stream
Testing VAAPI directly inside the NextPVR container reproduces the problem:
ffmpeg \
-hide_banner \
-vaapi_device /dev/dri/renderD128 \
-f lavfi -i color=size=1280x720:rate=25 \
-vf 'format=nv12,hwupload' \
-c:v h264_vaapi \
-frames:v 25 \
-f null -
[AVHWDeviceContext @ ...] libva: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
[AVHWDeviceContext @ ...] libva: /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so init failed
[AVHWDeviceContext @ ...] Failed to initialise VAAPI connection: -1 (unknown libva error).
Device creation failed: -5.
Failed to set value '/dev/dri/renderD128' for option 'vaapi_device': Input/output error
Error parsing global options: Input/output error
The versions installed in the NextPVR container are:
ffmpeg 5.1.9-0+deb12u1
intel-media-va-driver-non-free 23.1.1+ds1-1
libva2 2.17.0-1
libva-drm2 2.17.0-1
I also tested what upgrading the VAAPI stack from Debian Trixie would require. It would provide:
intel-media-va-driver-non-free 25.2.3
libva 2.22.0
libdrm 2.4.124
but it would also upgrade libc and several other core packages from Debian 12 to Debian 13, so I did not perform that upgrade.
As soon as I disable VAAPI in NextPVR, web playback works correctly.
Therefore this seems to be specifically related to the Intel VAAPI/media-driver version in the current NextPVR container and Arrow Lake-S.
Interestingly, Plex is running on the same Unraid server with the same /dev/dri device exposed and ships its own iHD_drv_video.so and works fine.
My questions is:
Is the Intel media-driver included in the current NextPVR Docker image known to be too old for Arrow Lake-S, and is there a plan to update it?