jrockow Posted May 12, 2022 Share #1 Posted May 12, 2022 I hope someone can give me a definitive answer. Is it possible to run Jellyfin, with a working QSV, on a box built with an Intel i7-4790 CPU? I used the TinyCore RedPill loader and configured the system using the GeminiLake build, (even though I believe the i7 is Haswell) first the 7.0 then the 7.1 DSM images. I configured it as a 920+, based on everything I've read about HW accelleration. The basic NAS works well, Jellyfin loads and runs well. I just can't get it to use the QSV. I have read countless posts about people struggling with QSV. I have been thru countless configurations but just can't get QSV working. I am about ready to give up. If I knew for sure, from someone who has actually done it, that what I'm trying to do, with the i7 and GeminiLake build, that it's possible, I will continue to work on it. I just would like to know it's been done. Thanx! Quote Link to comment Share on other sites More sharing options...
IG-88 Posted May 13, 2022 Share #2 Posted May 13, 2022 On 5/12/2022 at 8:43 PM, jrockow said: Is it possible to run Jellyfin, with a working QSV, on a box built with an Intel i7-4790 CPU? yes syno's i915 supports everything up to 9th gen ootb, the driver version in 7.0/7.1 is the same as in 6.2.3 and 918/920 have the same driver version too the thing missing in tc or rp-loader is usually the additional firmware files as the driver is the same you could just use the i915 firmware files from thr 918+ 6.2.3 extra.lzma from here https://xpenology.com/forum/topic/28321-driver-extension-jun-103b104b-for-dsm623-for-918-3615xs-3617xs/ just extract the files with 7zip (extra.lzma\extra\usr\lib\firmware\i915\) and copy them to /lib/fimrware/i915/ in you 7.x installation after doing this and a reboot there should be devices in /dev/dri jellyfin for 7.x can be downloaded here https://synocommunity.com/package/jellyfin or https://github.com/publicarray/spksrc/releases Quote Link to comment Share on other sites More sharing options...
jrockow Posted May 13, 2022 Author Share #3 Posted May 13, 2022 (edited) I'll try this if you think it will help, but I just want you to know that I already have "card0" and "renderD128" in devices. Should I be using "geminilake"? I should also mention I'm using Jellyfin 10.8.0 beta2 Edited May 13, 2022 by jrockow Quote Link to comment Share on other sites More sharing options...
jrockow Posted May 13, 2022 Author Share #4 Posted May 13, 2022 I had high hopes that this nightmare was coming to an end, but the changes you suggested didn't seem to make any difference. My Firestick still pauses every few seconds and then starts again. Looking at the Jellyfin remux file I don't think it's working. Hopefully you'll spot something that this rookie didn't. FFmpeg.Remux-2022-05-13_18-02-10_native_c11ae7c318ee249d338101415454096e_eb08e975082a6e028d8741ba3757d2ec_234dc448.log Quote Link to comment Share on other sites More sharing options...
jrockow Posted May 14, 2022 Author Share #5 Posted May 14, 2022 Not sure what I'm doing but I listed out the devices and it appears I have the i915 kernel installed? 0000:00:02.0 Class 0300: Device 8086:0412 (rev 06) DeviceName: Onboard IGD Subsystem: Device 1043:8534 Kernel driver in use: i915 Quote Link to comment Share on other sites More sharing options...
IG-88 Posted May 14, 2022 Share #6 Posted May 14, 2022 On 5/13/2022 at 10:30 PM, jrockow said: I'll try this if you think it will help, but I just want you to know that I already have "card0" and "renderD128" in devices. if you have this everything should be fine with the driver and its qsv support maybe use these two for testing with dsm https://synocommunity.com/package/ffmpeg https://synocommunity.com/package/jellyfin and you can have look here about it too, there are some screenshots https://xpenology.com/forum/topic/61498-asrock-j5040-hw-transcoding/ 23 hours ago, jrockow said: My Firestick still pauses every few seconds and then starts again. maybe first test with a normal browser to check that things work in general i do remeber there where problems with HDRtone mapping, check that tone mapping is disabled you could also try to use syno's videostation, there are patches available to make it work without a valid serial number in dsm Quote Link to comment Share on other sites More sharing options...
jrockow Posted May 15, 2022 Author Share #7 Posted May 15, 2022 This is driving me crazy! No matter what confiuration I try I can't get it work. Is it possible because I used "geminilake" as opposed to "apollolake" or another platform to build my loader? Is it possible that because I'm using DSM7.1 instead of DMS7.0? I'm looking for some other reason besides the usual "/dev/dri", etc., suggestions. Quote Link to comment Share on other sites More sharing options...
IG-88 Posted May 15, 2022 Share #8 Posted May 15, 2022 17 minutes ago, jrockow said: Is it possible because I used "geminilake" as opposed to "apollolake" or another platform to build my loader? no, the driver is all the same and geminilake is used in 920+ too, so if you use 918+ with geminilake its the same as using 920+ i use a i3-9100, thats even more different and its working (i tested with my live system and thats still 6.2.3) 25 minutes ago, jrockow said: Is it possible that because I'm using DSM7.1 instead of DMS7.0? not likely as all (even 6.2.3) use the same i915 driver that was backported by synology to kernel 4.4 51 minutes ago, jrockow said: No matter what confiuration I try I can't get it work. if you want to pin it down it need systematic and kind of documentation whats done if you can configure QSV in jellyfin (needs to be done after installation of the package) and get a stream at the other end (different resolution as source to make sure its transcoding) then QSV is working the way it should (stuttering or not), like in the other thread i would disable the ahead transcoding as it will needlessly block the system with a high load, also check the system load to see whats going on with the cpu, if the load is >90% the there is something wrong maybe start simple with a 1920x1080 source and trancode to 1280x720 the test client should be something like a normal computer (linux, windows) and a browser like firefox or chrome and you can also stay off jellyfin and try syno's own videostation (https://github.com/Yanom1212/synocodectool-patch) if you have a spare disk you can also try a test install of dsm 6.2.3 918+ or open media vault and test with that Quote Link to comment Share on other sites More sharing options...
jrockow Posted May 15, 2022 Author Share #9 Posted May 15, 2022 (edited) Whenever I look at the REMUX file it always appears the input and out files are the same. Also, I never saw my CPU useage above 15%. Is there a way to prove that my device (card0 and renderD128) are actually linked to the continer? Input #0, mpegts, from 'http://192.168.1.29:8097/LiveTv/LiveStreamFiles/036fe23abdf44dcf9f839d59bf41da13/stream.ts': Duration: N/A, start: 44439.858411, bitrate: N/A Program 5 Stream #0:0[0x71]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, progressive), 1280x720 [SAR 1:1 DAR 16:9], Closed Captions, 59.94 fps, 59.94 tbr, 90k tbn Stream #0:1[0x73](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s Stream #0:2[0x74](spa): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, mono, fltp, 96 kb/s Stream #0:3[0x7b]: Data: scte_35 Output #0, hls, to '/config/transcodes/10660ef86c440fc6959b10d58a707202.m3u8': Metadata: encoder : Lavf59.16.100 Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 59.94 fps, 59.94 tbr, 90k tbn Stream #0:1: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Edited May 15, 2022 by jrockow Quote Link to comment Share on other sites More sharing options...
jrockow Posted May 17, 2022 Author Share #10 Posted May 17, 2022 (edited) I've learned a lot since I first started with this problem, but obviously not enough yet. My latest test is with the new 10.8.0-beta3. If I play a stream with transcoding set to NONE, or VAAPI it seems to play OK. When I switch to QSV it fails... [AVHWDeviceContext @ 0x561b1c6302c0] libva: /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so init failed I don't see a /usr/lib/jellyfin-ffmpeg/ directory. It appears I'm using... ffmpeg version 4.4.1-Jellyfin Copyright (c) 2000-2021 the FFmpeg developers Not sure if that's the correct version; it was loaded as part of 10.8.0 To use QSV on Linux with recent Intel iGPUs the nonfree Intel media driver is required for full hardware acceleration. If you are using jellyfin-ffmpeg version 4.4.1-2 or higher it is included and you do not need to install it seperatly. Edited May 17, 2022 by jrockow Quote Link to comment Share on other sites More sharing options...
jrockow Posted May 18, 2022 Author Share #11 Posted May 18, 2022 A bit more of the error message...... [AVHWDeviceContext @ 0x562ec7f4c780] libva: /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so init failed [AVHWDeviceContext @ 0x562ec7f4c780] Failed to initialise VAAPI connection: 1 (operation failed). Device creation failed: -5. Failed to set value 'vaapi=va:,driver=iHD,kernel_driver=i915' for option 'init_hw_device': Input/output error Error parsing global options: Input/output error Quote Link to comment Share on other sites More sharing options...
IG-88 Posted May 19, 2022 Share #12 Posted May 19, 2022 On 5/15/2022 at 11:10 PM, jrockow said: Is there a way to prove that my device (card0 and renderD128) are actually linked to the continer? what i wrote about was not docker container, it was about a native install of the files by packages (https://synocommunity.com/package/ffmpeg, https://synocommunity.com/package/jellyfin) Quote Link to comment Share on other sites More sharing options...
jrockow Posted May 21, 2022 Author Share #13 Posted May 21, 2022 It's now my understanding, from what I've read on the forums, my i7-4790 is a Haswell, 4th Gen CPU, and is not capable of Quick Sync, only VAAPI. Quote Link to comment Share on other sites More sharing options...
jrockow Posted May 21, 2022 Author Share #14 Posted May 21, 2022 What do you think of my plan to install a GTX1050 TI instead of upgrading my CPU? Are the drivers available in Red Pill Tiny Core? Quote Link to comment Share on other sites More sharing options...
jrockow Posted June 10, 2022 Author Share #15 Posted June 10, 2022 On 5/13/2022 at 4:25 PM, IG-88 said: yes syno's i915 supports everything up to 9th gen ootb, the driver version in 7.0/7.1 is the same as in 6.2.3 and 918/920 have the same driver version too the thing missing in tc or rp-loader is usually the additional firmware files as the driver is the same you could just use the i915 firmware files from thr 918+ 6.2.3 extra.lzma from here https://xpenology.com/forum/topic/28321-driver-extension-jun-103b104b-for-dsm623-for-918-3615xs-3617xs/ just extract the files with 7zip (extra.lzma\extra\usr\lib\firmware\i915\) and copy them to /lib/fimrware/i915/ in you 7.x installation after doing this and a reboot there should be devices in /dev/dri jellyfin for 7.x can be downloaded here https://synocommunity.com/package/jellyfin or https://github.com/publicarray/spksrc/releases Does this mean i915 doesn't apply to an 11th gen Intel i5-11400? My latest attempt at transcoding is an ASUS D500SC mobo with the i5-11400 CPU. I built it as a DS920+, geminilake-7.1.0-42661. I copied the i915 files as instructed, Jellyfin works fine, just don't have a /DEV/DRI folder. I first tried Jellyfin 10.8.0-beta3, and then the Linuxserver-Jellyfin, both Docker versions. After 2 months and several hardware variations, I think I will drop over if I ever actually see anything transcode! Quote Link to comment Share on other sites More sharing options...
IG-88 Posted June 29, 2022 Share #16 Posted June 29, 2022 On 6/10/2022 at 10:09 PM, jrockow said: I copied the i915 files as instructed, Jellyfin works fine, just don't have a /DEV/DRI folder. I first tried Jellyfin 10.8.0-beta3, and then the Linuxserver-Jellyfin, both Docker versions. After 2 months and several hardware variations, I think I will drop over if I ever actually see anything transcode! you won't have the ability of intel quick sync video with a 11th gen cpu as the best thats possible now is 10th gen (with a extended driver, https://xpenology.com/forum/topic/59909-i915ko-backported-driver-for-intel-10th-gen-ds918-ver-701-up3/) transcoding would still be possible as long as there is enough raw cpu power, if all cores hit 100% then you have maxed out whats possible that way hardware assisted with intel qsv will only work if there is a proper kernel driver loaded and you see devices in /dev/dri if that a deal breaker then you might be better off with a system that uses a normal recent kernel (5.x), like open media vault, depends on what you are looking for but a lot of things that are possible with dsm will work on omv too (you can even get you existing mdadm/lvm2 raid mounted in omv (https://xpenology.com/forum/topic/42793-hp-gen8-dsm-623-25426-update-3-failed/?do=findComment&comment=200475) Quote Link to comment Share on other sites More sharing options...
jrockow Posted June 29, 2022 Author Share #17 Posted June 29, 2022 (edited) I have since swapped the 11th gen Intel i5-11400 for a i5-7500 7th gen CPU. I built the loader for a DS920+, and I now have the devices in /dev/dri. However, neither QSV or VAAPI still doesn't work for me. See the logs below. That said, even though it's not working I'm not sure that's my real problem. When I connect to a stream that needs to transcode it doesn't appear my CPU is being taxed much at all. From what I can tell, using TOP, my CPU never uses more than 5-8%. Maybe I'm not looking in the right place? Bottom line, I'm trying to solve the stuttering problem I get when attaching a client via the internet. SET TO QSV ffmpeg version 5.0.1-Jellyfin Copyright (c) 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=-lfftw3 --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-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. 17.100 / 57. 17.100 libavcodec 59. 18.100 / 59. 18.100 libavformat 59. 16.100 / 59. 16.100 libavdevice 59. 4.100 / 59. 4.100 libavfilter 8. 24.100 / 8. 24.100 libswscale 6. 4.100 / 6. 4.100 libswresample 4. 3.100 / 4. 3.100 libpostproc 56. 3.100 / 56. 3.100 Device creation failed: -542398533. Failed to set value 'vaapi=va:,driver=iHD,kernel_driver=i915' for option 'init_hw_device': Generic error in an external library Error parsing global options: Generic error in an external library SET TO VAAPI ffmpeg version 5.0.1-Jellyfin Copyright (c) 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=-lfftw3 --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-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. 17.100 / 57. 17.100 libavcodec 59. 18.100 / 59. 18.100 libavformat 59. 16.100 / 59. 16.100 libavdevice 59. 4.100 / 59. 4.100 libavfilter 8. 24.100 / 8. 24.100 libswscale 6. 4.100 / 6. 4.100 libswresample 4. 3.100 / 4. 3.100 libpostproc 56. 3.100 / 56. 3.100 [AVHWDeviceContext @ 0x557e89bee600] No VA display found for device /dev/dri/renderD128. Device creation failed: -22. Failed to set value 'vaapi=va:/dev/dri/renderD128' for option 'init_hw_device': Invalid argument Error parsing global options: Invalid argument Edited June 29, 2022 by jrockow Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.