Fix Hardware Acceleration using QSV not working. - Printable Version +- Jellyfin Forum (https://forum.jellyfin.org) +-- Forum: Support (https://forum.jellyfin.org/f-support) +--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting) +--- Thread: Fix Hardware Acceleration using QSV not working. (/t-fix-hardware-acceleration-using-qsv-not-working) |
Fix Hardware Acceleration using QSV not working. - jimmythejuicer24 - 2023-12-05 As the title reads, I'm trying to get hardware acceleration to work using QSV. Specs: - Ubuntu 22.04.3 LTS - Intel i5-6400 - Jellyfin Version 10.8.13 (through docker) FFmpeg logs: ffmpeg version 5.1.2-Jellyfin Copyright © 2000-2022 the FFmpeg developers built with gcc 10 (Debian 10.2.1-6) configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-shared --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-static --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc libavutil 57. 28.100 / 57. 28.100 libavcodec 59. 37.100 / 59. 37.100 libavformat 59. 27.100 / 59. 27.100 libavdevice 59. 7.100 / 59. 7.100 libavfilter 8. 44.100 / 8. 44.100 libswscale 6. 7.100 / 6. 7.100 libswresample 4. 7.100 / 4. 7.100 libpostproc 56. 6.100 / 56. 6.100 [AVHWDeviceContext @ 0x55b300a79f00] No VA display found for any default device. Device creation failed: -22. Failed to set value 'vaapi=va:,driver=iHD,kernel_driver=i915' for option 'init_hw_device': Invalid argument Error parsing global options: Invalid argument Checking QSV support: sudo /usr/lib/jellyfin-ffmpeg/vainfo --display drm --device /dev/dri/renderD128 Trying display: drm libva info: VA-API version 1.20.0 libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_20 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.20 (libva 2.20.0) vainfo: Driver version: Intel iHD driver for Intel® Gen Graphics - 23.4.0 (05e4d0d) 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 Checking OpenCL Runtime: sudo /usr/lib/jellyfin-ffmpeg/ffmpeg -v verbose -init_hw_device vaapi=vadev/dri/renderD128 -init_hw_device opencl@va ffmpeg version 6.0.1-Jellyfin Copyright © 2000-2023 the FFmpeg developers built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04) configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc libavutil 58. 2.100 / 58. 2.100 libavcodec 60. 3.100 / 60. 3.100 libavformat 60. 3.100 / 60. 3.100 libavdevice 60. 1.100 / 60. 1.100 libavfilter 9. 3.100 / 9. 3.100 libswscale 7. 1.100 / 7. 1.100 libswresample 4. 10.100 / 4. 10.100 libpostproc 57. 1.100 / 57. 1.100 [AVHWDeviceContext @ 0x5599240554c0] libva: VA-API version 1.20.0 [AVHWDeviceContext @ 0x5599240554c0] libva: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x5599240554c0] libva: Found init function __vaDriverInit_1_20 [AVHWDeviceContext @ 0x5599240554c0] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x5599240554c0] Initialised VAAPI connection: version 1.20 [AVHWDeviceContext @ 0x5599240554c0] VAAPI driver: Intel iHD driver for Intel® Gen Graphics - 23.4.0 (05e4d0d). [AVHWDeviceContext @ 0x5599240554c0] Driver not found in known nonstandard list, using standard behaviour. [AVHWDeviceContext @ 0x559924077980] 0.0: Intel® OpenCL HD Graphics / Intel® HD Graphics 530 [0x1912] [AVHWDeviceContext @ 0x559924077980] Intel QSV to OpenCL mapping function found (clCreateFromVA_APIMediaSurfaceINTEL). [AVHWDeviceContext @ 0x559924077980] Intel QSV in OpenCL acquire function found (clEnqueueAcquireVA_APIMediaSurfacesINTEL). [AVHWDeviceContext @ 0x559924077980] Intel QSV in OpenCL release function found (clEnqueueReleaseVA_APIMediaSurfacesINTEL). Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... Use -h to get full help or, even better, run 'man ffmpeg' I'm not sure what's wrong, all the permissions are fine. I did a last resort move and did 'chmod -R 777 /dev/dri' but it still didn't work. I've installed everything necessary on the website, what am I missing? RE: Fix Hardware Acceleration using QSV not working. - TheDreadPirate - 2023-12-05 The "validation" commands you ran were run on Ubuntu? Did you pass the GPU into the container? Can you share your docker command/docker compose? RE: Fix Hardware Acceleration using QSV not working. - jimmythejuicer24 - 2023-12-05 Yes I ran the validation commands on Ubuntu, that's what I'm using Here is the contents of docker-compose.yml: version: '23.0.0' services: jellyfin: image: jellyfin/jellyfin:latest container_name: jellyfin user: 1000:1000 group_add: - "109" - "44" network_mode: 'bridge' ports: - 8096:8096 volumes: - /home/lendro/jellyfin/configconfig - /home/lendro/jellyfin/cachecache - /home/lendro/jellyfin/mediamedia:ro devices: - /dev/dri/renderD128dev/dri/renderD128 - /dev/dri/card0dev/dri/card0 restart: 'unless-stopped' RE: Fix Hardware Acceleration using QSV not working. - TheDreadPirate - 2023-12-05 On the host system you added your user to the render group? And you don't need to pass card0 into the container, AFAIK. RE: Fix Hardware Acceleration using QSV not working. - jimmythejuicer24 - 2023-12-05 I thought I fixed it with this but it still doesn't work: version: '23.0.0' services: jellyfin: image: jellyfin/jellyfin:latest container_name: jellyfin group_add: - "109" - "44" network_mode: 'bridge' environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles - VERSION=docker ports: - 8096:8096 volumes: - /home/lendro/jellyfin/configconfig - /home/lendro/jellyfin/cachecache - /home/lendro/jellyfin/mediamedia:ro devices: - /dev/dridev/dri restart: 'unless-stopped' I still can't figure out what's wrong RE: Fix Hardware Acceleration using QSV not working. - TheDreadPirate - 2023-12-05 What is the output of Code: id lendro RE: Fix Hardware Acceleration using QSV not working. - jimmythejuicer24 - 2023-12-05 uid=1000(lendro) gid=1000(lendro) groups=1000(lendro),4(adm),24(cdrom),27(sudo),30(dip),44(video),46(plugdev),106(input),109(render),110(lxd),999(docker) RE: Fix Hardware Acceleration using QSV not working. - TheDreadPirate - 2023-12-05 I know you have a UID and GID in the environment config, but I think you also need Code: user: 1000:1000 https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-with-linux-virtualization RE: Fix Hardware Acceleration using QSV not working. - jimmythejuicer24 - 2023-12-05 version: '23.0.0' services: jellyfin: image: jellyfin/jellyfin:latest container_name: jellyfin user: 1000:1000 group_add: - "109" - "44" network_mode: 'bridge' environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles - VERSION=docker ports: - 8096:8096 volumes: - /home/lendro/jellyfin/configconfig - /home/lendro/jellyfin/cachecache - /home/lendro/jellyfin/mediamedia:ro devices: - /dev/dridev/dri restart: 'unless-stopped' Still doesn't work for me. Do you think it's possible that the changes aren't being updated? I added the line for timezone but the time stamps in the logs are still wrong. RE: Fix Hardware Acceleration using QSV not working. - TheDreadPirate - 2023-12-05 If you are running "docker-compose down" before upping again, it should be pulling in any changes to the compose file. Try recreating the container. docker-compose up --force-recreate |