Jump to content

nyanmisaka

Members
  • Posts

    25
  • Joined

  • Last visited

Posts posted by nyanmisaka

  1. 8 hours ago, Beaniiman said:

    OK I tried that as well as "input" and got 2 different error messages. I never saw anything about creating a user anywhere, what do I do now?  Thanks for the help btw, learning slowly.

    # sudo usermod -aG render jellyfin
    sudo usermod -aG video jellyfin
    sudo usermod -aG input jellyfin
    usermod: group 'render' does not exist
    usermod: user 'jellyfin' does not exist
    usermod: user 'jellyfin' does not exist

     

     

    You didn't use the deb installation package, right? jellyfin user comes with the jellyfin-server*.deb package. If you use portable jellyfin build, you need to add the current user to the render group.

     

    usermod -aG render $USER
    usermod -aG video $USER

     

  2. 30 minutes ago, goodolwheatie said:

    Do you need a Linux 6.2 custom kernel for this to work? I tried running Docker Jellyfin with just unRaid 6.12 RC2 and it is detecting the video card after I did the probe stuff. I'm just getting these errors. It works fine if I use my IGPU Intel 13500.

     

    [h264_qsv @ 0x56080e203e80] Error during QSV decoding.: device failed (-17) Error while decoding stream #0:0: Input/output error [h264_qsv @ 0x56080e203e80] Err or during QSV decoding.: device failed (-17) Error while decoding stream #0:0: Input/output error

    Log_QSV_ARC.txt 704.17 kB · 0 downloads

     

    Correct. Linux 6.2 is the first version that has full ARC support at kernel level.

    -17 device failed error means your current kernel driver doesn't support QSV yet. You have to wait Unraid to update its kernel.

     

    Quote

    Jellyfin server 10.8.9+ and the latest jellyfin-ffmpeg5 support Intel ARC discrete GPU on both Windows and Linux 6.2+.

     

  3. 1 hour ago, Beaniiman said:

    Is this what you need?  See Attached.

    Log[1] 5.91 kB · 2 downloads

    You didn't set the correct permissions to allow Jellyfin to access /dev/dri/renderD128.

    We have detailed instructions on setting up hardware acceleration.

     

    On host:

    sudo usermod -aG render jellyfin

    sudo usermod -aG video jellyfin

     

    Docker:

    https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-with-linux-virtualization

     

    Also, use QSV instead of VA-API.

    • Thanks 1
  4. 2 hours ago, Beaniiman said:

     

    OK, now trying jellyfin for the first time and can not seem to get transcoding to work at all.  I just get an error during playback.  Anyone used jellyfin with an ARC GPU that could help out a newbie.

     

    Please share the ffmpeg transcode log file.

  5. Are you sure the FFmpeg cli used in Tdarr is the optimal? I don't see any reason you only get ~220fps (1080p?) on Arc.

     

    In Jellyfin you can get 600fps 1080p and 180~200fps 4k even with tone-mapping enabled.

     

    Also the unoptimized FFmpeg cli can result in high CPU usage.

  6. 20 minutes ago, ich777 said:

    But what are they using by default?

     

    If VA-API is used the latest Intel Media Drivers are not necessary and it should work right OOB. If they are using QuickSync by default it won't work, that's fore sure.

    I'm not really a Plex user, I have a copy from Plex for testing purposes but nothing more and as I noticed lately they seem to transform their platform a bit, at least it seems to me that they are taking a turn into a wrong direction.

     

    $ strings /usr/lib/plexmediaserver/lib/dri/iHD_drv_video.so | grep "iHD driver"
    
    Intel iHD driver for Intel(R) Gen Graphics - 22.4.4 (2bbbd9b)

     

    media-driver 22.4.4

     

    They don't enable libmfx/libvpl in their FFmpeg build configs. So they use VA-API on Intel.

    • Thanks 2
  7. On 2/19/2023 at 11:03 PM, ich777 said:

    You have to only replace the bz* files and the changes.txt file if you want to upgrade…

     

    Exactly, but since I‘m only testing whats currently possible with ARC I don‘t have to do this currently.

     

    This is also not entirely true… have you compiled the Kernel yourself? Maybe something went wrong there since I have no issue usig the card with Emby.

    I‘m not too sure about Plex because I don‘t know if they are using QuickSync (which is not ready yet for ARC) but if they are using the VA-API it should be no issue at all but I can also imagine if you have a second card installed which actually uses /dev/dri/renderD128 and your ARC card is /dev/dri/renderD129 in the system this will cause issues and you need to map it from the host to the container with something like that in the template:

    --device=/dev/dri/renderD129:/dev/dri/renderD128

    And you also have to map the card from 1 to 0 like:

    --device=/dev/dri/card1:/dev/dri/card0

     

    This should work for Plex too if they are using VA-API instead of QuickSync.

     

    https://forums.plex.tv/t/anybody-get-hw-transcoding-working-with-the-a380-on-ubunutu/823618

    I doubt it will work on Plex as they are still using outdated Intel UMD drivers and libs that don't match the upstream 6.2 kernel.

     

    And yes Plex only support VA-API interface instead of QuickSync interface in their modified FFmpeg.

    • Like 1
  8. 56 minutes ago, FlyingTexan said:

    You mentioned enabling ASPM in the bios.  Is that something all bios have?  Have you measured what it changes? I'm seeing people mention that intel came out with a recent update to address this for windows but it wasn't exactly successful. People saying it's still pulling 20w at idle. Not that that's the biggest issue in the world.

     

    Please refer to the motherboard manual. Most of the Intel boards have this option.

    And here's the guidance of enabling ASPM on MSI Z690 motherboard with ARC A380.

  9. Quote

    I know system ram is slower than VRAM but the igpus are still able to encode many more streams at once so was under the assumption it’s still fast enough. 

    14th Gen Core seems to be the best choice for you. But without the VRAM cap the ARC A770 LE 16GB can do even more than iGPU.

    I use AMD APU on my server because it is energy efficient. This prompted me to choose ARC and enable ASPM in BIOS to avoid high power consumption at idle state.

     

    Quote

    What is your take on the a380? Are you glad you have it? The one thing you stated that really has me perked up is the hw transcode having the same quality as software.

    130 bucks, MSI low profile A380. I don't gaming on it so it fits my use case perfectly. What I said is DG2 can match x265 software encoder at "medium preset" as per the slide from Intel. With slower presets I think x265 encoder is still the best but the FPS can be very slow even on modern processors.

     

    Quote

    Does that translate to x264 for Plex or not really matter yet because it’s not using the appropriate libraries?

    Yes but not quite, I also made some tweaks to Jellyfin's FFmpeg to unleash its fullest potential on both Linux and Windows.

     

    Quote

    Are you saying that Jellyfin supports HEVC->HEVC transcoding out of the box? 

    Yes, on supported clients such as Android App and Safari the HEVC->HEVC transcoding is supported out of the box. I used MS Edge with our web client preview for the FPS demonstration.

  10. 9 hours ago, jsrk said:

    Thank you for the explanation. Do you think we are going to see a transcode to AV1 option in jellyfin in the future? As almost all browsers have excellent AV1 support this could come in quite handy, especially if the bitrate is too high for the connection.

    Sure. But I don't have an ETA on it.

    • Thanks 1
  11. 14 hours ago, FlyingTexan said:

    Are you not able to use the system memory as the /tmp for transcoding and use the card for the power? If I recall, plex defaulted to using the SSD for transcoding and I made it switch to using my system memory since I have 64GB of it. Can you not allocate that memory to still be used for the transcoding process? Isn't that was resizable BAR is for to share those resources?  That's impressive for HEVC-HEVC.  I wish plex would move past x264 for it's codec and start enabling this. 

     

    It seems you don't understand how hardware transcoding works.

     

    Here's the main steps:

    Read Video.mkv => Demux => Raw HEVC bitstream => HW decoder => Decode frames to VRAM

    => Apply HW scaling/deinterlace/tonemapping filters in VRAM => HW encoder => Encode frames from VRAM => Raw H264 bitstream

    => HLS/DASH muxer => Write to your transcode temp folder => Play in your browsers and clients

     

    For high res content such as 4k the "Decode frames to VRAM" step costs VRAM a lot (800MB~1GB per video).

    So I was not talking about the capacity of your /tmp folder or RAM. It doesn't help the VRAM that used by HW decoder.

     

    Use RAM as the backup of VRAM at driver level is feasible but it is extremely slow, which involves too much memory copy-back between your VRAM and RAM through PCIe. Resizable BAR doesn't help too in this use case. That's why VRAM on high-end dGPUs is getting bigger and bigger.

     

    It seems Plex don't have plan to transcode to HEVC any time soon from their last reply in r/plex.

    I write code for Jellyfin so I added the HEVC encode back in 2020 and I use it for myself to save bandwidth.

    • Thanks 1
  12. @FlyingTexan

    @jsrk

    The main difference between iGPU and dGPU is the VRAM capacity and iGPU uses your RAM as VRAM, which means dGPU may run out of VRAM but iGPU won't. So you can't compare an entry level card ARC A380 6GB and iGPU directly when is comes to the maximum transcoding capacity. Just buy an ARC A770 LE with 16GB VRAM if you really need that capacity.

     

    In short, the advantages of ARC GPU are encoding quality, peak performance, as well as the QSV AV1 HW encoder that Jellyfin has planned to enable in the future.

     

    As for the quality, ARC / DG2 GPU can match the x265 SW encoder medium preset in many aspects but it's predecessor DG1 / Xe / UHD7xx series can't. Otherwise there's a huge performance penalty you will get on DG1 / Xe / UHD7xx. See https://github.com/intel/media-delivery/blob/master/doc/benchmarks/intel-data-center-gpu-flex-series/intel-data-center-gpu-flex-series.rst

     

    I used many recent Intel GPU such as Xe 96EU, DG1 MAX, ARC A380. Only the A380 can get such a decent performance without sacrificing the quality. I was thinking of buying the Quadro A2000 low profile card for my server but I find it is less efficiency and over priced than ARC in terms of video transcoding.

     

    Jellyfin 10.8.9 transcoding:

     

    4k HEVC SDR -> 1080p HEVC SDR: up to 450fps

    4k HEVC DOVI P5 -> 1080p HEVC SDR: up to 360fps

    4k HEVC DOVI P5 -> 4k HEVC SDR: up to 230fps

     

    4k_sdr_1080p.jpg.f0d3eb05583cb1b3dceb26b602fb56f5.jpg4k_dv_1080p.jpg.68d943bf124541d5704ec5c022ad91e8.jpg4k_dv_4k.jpg.a6f484a0eb5a0046051753e3d74ef247.jpg

    • Like 2
  13. Jellyfin 10.8.9 docker already supports using Quick Sync and VA-API on Intel Arc / DG2.

     

    On Windows you only need to install the latest driver from Intel.

    On Linux you need at least Linux 6.2 kernel. With this version you don't need to hack the Jellyfin build script.

     

    If you compile the kernel with an old config file make sure these new MEI configs are set:

    CONFIG_INTEL_MEI=m
    CONFIG_INTEL_MEI_ME=m
    CONFIG_INTEL_MEI_TXE=m
    CONFIG_INTEL_MEI_GSC=m
    CONFIG_INTEL_MEI_HDCP=m
    CONFIG_INTEL_MEI_PXP=m
    CONFIG_INTEL_MEI_WDT=m

     

    Then check these to make sure that the GuC/HuC firmware is loaded without any FAIL or ERROR.

    # dmesg | grep i915
    # cat /sys/kernel/debug/dri/0/gt/uc/guc_info
    # cat /sys/kernel/debug/dri/0/gt/uc/huc_info

     

    See also:

    https://github.com/jellyfin/jellyfin-ffmpeg/releases

    https://bbs.archlinux.org/viewtopic.php?id=279799

    https://gitlab.freedesktop.org/drm/intel/-/issues/7732

    • Like 1
  14. On 12/29/2021 at 9:18 PM, ich777 said:

    Seems like that's the case.

    Now I also know why QSV is also not supported (first post on this page), thank you for reporting this. :)

    Actually those 1 yrs+ posts are outdated. We have supported HDR10 TM on QSV in the later versions of 10.7.

     

    And with the release of 10.8 (alpha5), both VPP and OpenCL tone-mapping impl got much improved in terms of speed and stability.

     

    Current status of HDR tone-mapping support are as follows:

    https://jellyfin.org/docs/general/administration/hardware-acceleration.html#configuring-opencl--cuda--intel-vpp-tone-mapping

     

    hdrtm.png.d80ef8b54a9f405eab80c7a4d648430a.png

    • Like 1
×
×
  • Create New...