[Support] ich777 - Nvidia/DVB/ZFS/iSCSI/MFT Kernel Helper/Builder Docker


906 posts in this topic Last Reply

Recommended Posts

2 hours ago, ich777 said:

Even if I implement this, I don't think the version of QEMU that is shipped with Unraid supports that feature or am I wrong?

From what I read in the linked thread, it's my understanding that it does work but there are some limitations. Will very much need some support from LimeTech to fully utilize the feature. Maybe @scorcho99 can chime in and elaborate.

Link to post
  • Replies 905
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Unraid Kernel Helper/Builder With this container you can build your own customized Unraid Kernel.   Prebuilt images for direct download are on the bottom of this post.   By

CHANGELOG: 08.04.2021: Changed template to be compatible with unRAID v6.9.2 19.03.2021: Added possibility to load AMD Drivers/Kernel Module amdgpu on startup and install 'r

Im still confused by him. He does not want to update to 8.6.3 from 8.6.2 due to personal reasons. Yet he keeps saying the only thing it fixed was a venerability. So I guess that he needs this venerabi

Posted Images

On 2/14/2021 at 1:13 PM, rjlan said:

From what I read in the linked thread, it's my understanding that it does work but there are some limitations. Will very much need some support from LimeTech to fully utilize the feature. Maybe @scorcho99 can chime in and elaborate.

Intel GVT-g is now implemented in the Unraid-Kernel-Helper, no additions to the syslinux file are needed, these are integrated when building the images and loaded at boot.

 

Hope that helps, eventually I will create a Plugin for this but this will take some time...

Link to post
3 hours ago, ich777 said:

Intel GVT-g is now implemented in the Unraid-Kernel-Helper

 

Hi ich777 does qemu still need to be complied with the correct options for it to be usable from VM?

 

 

 

 

 

 

Link to post
On 2/14/2021 at 12:24 AM, ich777 said:

Exactly.

Eventually install the GPU Statistics plugin from @b3rs3rk so you see the utilistion in your dashboard.

 

And yes you only need the Nvidia build.

Apologies for the delay in response, but I just had a chance to implement the changes.  They went flawlessly!  

 

Thanks so much @ich777 for all your hard work, it's most appreciated!  Also thanks to @yogy for writing out the steps for dummies like me!  

 

I also installed @b3rs3rk's plugin and it's working great, too!

 

I've been using unRAID since...2013 (2012?) and I've been consistently impressed by the patience, knowledge, and overwhelming amount of support that the community provides.  You guys are the best - thanks!

Link to post
1 hour ago, SimonF said:

Hi ich777 does qemu still need to be complied with the correct options for it to be usable from VM?

That's dependent on what you want to do with the iGPU, you can use it inside a Container for hardware acceleration and that was the main goal.

But yes, some features are missing, but as said above that's dependent on the things you want to do.

Link to post

I don't know anything about this thread but was pinged because of my gvt-g thread. Its also been awhile since I did that.

 

"All" I had to do to get unraid to use gvt-g was rebuild the kernel used with the gvt-g flags turned on as they were disabled in the default build. The qemu version was fine as is IIRC, although it was compiled without openGL support (not surprising) and openGL is required to allow the gvt-g slices to render to a dma buffer which many people make use of with gvt-g. It still had use even without that feature.

Link to post
3 hours ago, scorcho99 said:

I don't know anything about this thread but was pinged because of my gvt-g thread.

I've already integrated the GVT-g into the Unraid-Kernel-Helper so that everyone can build it easily.

 

3 hours ago, scorcho99 said:

The qemu version was fine as is IIRC, although it was compiled without openGL support (not surprising) and openGL is required to allow the gvt-g slices to render to a dma buffer which many people make use of with gvt-g.

But wouldn't it be possible to recompile it? I eventually can integrate this into the Kernel-Helper so that QEMU is fully capable of GVT-g (haven't read much about GVT-g what is all possible and what to do next).

Eventually @limetech can integrate it natively into QEMU but I think the main goal for them is now to relase 6.9.0...

 

3 hours ago, scorcho99 said:

It still had use even without that feature.

A user uses this now for HW acceleration for software in the VM and he says that it runs about 3 times as fast as if you don't GVT-g.

Link to post

EDIT: Found the post where you say you had to disable the container for 6.8.3 by starting from this last page of the topic and then going backwards. Might be worth adding a note to the 1st post in the topic so others will know that the Docker container is only available after upgrading to 6.90 beta 35 or later. I've downloaded the prebuilt 6.8.3 with Nvidia drivers from the 1st post and moved the files into place on my USB flash drive and rebooted. Alas I'm now stuck as I can't seem to find the GPU UUID that's needed to add parameters in the Plex Docker container.

 

EDIT#2: OK, decided to pull the trigger and install 6.9RC2. Installed the Nvidia Plugin using CA and then made the required changes to my Plexinc official Docker container. Transcodes show that they're being done in hardware (the HW indicator is shown), but it appears to be using my CPU and not the GPU (a GTX970). I do have a lifetime PlexPass so I'm pretty sure I've met all the requirements to allow GPU transcoding. Any idea how I can force it to use the GPU?

 

@ich777 Excuse me if I'm blind but I can't seem to find the Docker container via CA anymore - just the plugin which I already have installed. I'm running 6.8.3 still so I could download one of your prebuilt images (just need Nvidia drivers) if the container is no longer available under 6.8.3. Or has the Docker container name changed? Sorry if it's been mentioned elsewhere in this forum topic but 28 pages is a lot to skim through and my searches of the topic haven't found any mention of where the Docker container can be found.

Edited by AgentXXL
typos and clarification + updated info
Link to post
5 hours ago, AgentXXL said:

GPU UUID

You need the Unraid-Kernerl-Helper Plugin and that will show you your UUID.

 

5 hours ago, AgentXXL said:

(the HW indicator is shown)

What kind of file are you teanscoding, are you sure that the card is capable of transcoding it?

What is the output of 'watch nvidoa-smi'?

Please try to install the GPU Statistics Plugin feom @b3rs3rk and you will have a nice little overview of the usage of your GPU in your Dashboard and also see the transcoding status.

Link to post
14 hours ago, ich777 said:

You need the Unraid-Kernerl-Helper Plugin and that will show you your UUID.

 

What kind of file are you teanscoding, are you sure that the card is capable of transcoding it?

What is the output of 'watch nvidoa-smi'?

Please try to install the GPU Statistics Plugin feom @b3rs3rk and you will have a nice little overview of the usage of your GPU in your Dashboard and also see the transcoding status.

 

EDIT/UPDATE: while my GTX970 supports x.265/HEVC with YUV 4:2:0 chroma subsampling, it does NOT support x.265/HEVC content with a bit depth higher than 8. A lot of my 4K content is 10 bit, so that's why it's the CPU doing the transcode and not the GPU. Thanks again regardless for the work you've done to assist in enabling HW transcoding.

 

The files I'm transcoding are 4K remuxes ripped to a MKV container from UHD Blu-ray. I already have the GPU Statistics plugin installed but it didn't show me anything about transcoding. Combined with my CPU usage of around 40% across all cores, I'm pretty sure the GPU is not doing any transcoding even though it supports NVENC up to 4K HEVC 4:2:0. I could see this happening if the files were 4K HEVC 4:4:4 but that's pretty rare. The card is a GTX970 which will eventually get upgraded to either a 3060 or 3070 when availability and pricing has settled down.

 

I did not try 'watch nvidia-smi' during a transcode but will give it a try to see if it provides any more details.

 

To confirm, the changes made to the Plexinc official Docker container were:

 

1. add --runtime=nvidia to the Extra Parameters section

2. add variable NVIDIA_VISIBLE_DEVICES with the correct GPU UUID

3. add variable NVIDIA_DRIVER_CAPABILITIES with setting all

 

Also note that the topic [Plugin] Nvidia Driver mentions finding the UUID by going to Plugins --> Nvidia Driver but it's actually at Settings --> Nvidia Driver. Regardless, thank you for your efforts to make this easier. I'm sure I'll eventually figure it out.

 

unRAID-GPU-Statistics-Plugin.jpg

Edited by AgentXXL
Added GPU Statistics output picture
Link to post
1 hour ago, AgentXXL said:

EDIT/UPDATE: while my GTX970 supports x.265/HEVC with YUV 4:2:0 chroma subsampling, it does NOT support x.265/HEVC content with a bit depth higher than 8. A lot of my 4K content is 10 bit, so that's why it's the CPU doing the transcode and not the GPU. Thanks again regardless for the work you've done to assist in enabling HW transcoding.

May I ask which CPU do you own? As from what I've see in your iGPU should be capable of transcoding almost everything like my i5-10600.

Just install my Intel-GPU-TOP plugin from the CA App (also works on 6.8.3) and add a device to your template with the path '/dev/dri' and you should be good to go (that applies to Emby, Jellyfin, Plex)...

 

You should be able to transcode plenty of streams with the Intel iGPU and also there is no artificial limit of simultaneous transcodes. ;)

(Just be sure to set it in the BIOS to your primary GPU)

Link to post
Just now, ich777 said:

May I ask which CPU do you own? As from what I've see in your iGPU should be capable of transcoding almost everything like my i5-10600.

Just install my Intel-GPU-TOP plugin from the CA App (also works on 6.8.3) and add a device to your template with the path '/dev/dri' and you should be good to go (that applies to Emby, Jellyfin, Plex)...

 

You should be able to transcode plenty of streams with the Intel iGPU and also there is no artificial limit of simultaneous transcodes. ;)

(Just be sure to set it in the BIOS to your primary GPU)

 

I was having numerous issues with my old dual Xeon (x5650) setup so I broke down and bought an Intel i9-10940x and x299 motherboard (the only ones that support LGA2066 sockets). Alas the i9-10940x does NOT have an iGPU so I can't use Intel Quicksync.... 😪  My mistake as I didn't look close enough to confirm the i9-10940x had Quicksync support. The reason for choosing to go with a newer Intel CPU was made primarily because I needed more PCIe lanes, which only the 'X' series Core i9 offer. I also went with the Intel as I knew Quicksync could help, but alas not in my case for the processor I chose. A very costly blunder....

 

Link to post
10 minutes ago, AgentXXL said:

Intel i9-10940x and x299 motherboard (the only ones that support LGA2066 sockets)

Oh didn't notice that... :P

 

Try to get a cheap 1050Ti or something similar (but nower days that's really difficult to get a graphics card for cheap), the 1050Ti should cover you just fine and doesn't need external power.

Link to post
30 minutes ago, ich777 said:

Oh didn't notice that... :P

 

Try to get a cheap 1050Ti or something similar (but nower days that's really difficult to get a graphics card for cheap), the 1050Ti should cover you just fine and doesn't need external power.

 

Yes, I took a look and the 1050TI/1660TI/Super are highly inflated in price right now. I'll just have to stick it out until I can get the 3060 or 3070. Which could be a long while - there are reports surfacing that there's a pretty high failure rate on the new 3000 series cards. Combined with the crypto-miners grabbing everything they can, it's likely to be a LONG wait...

 

As an option to try and resolve this, I'm going to re-purpose my old i7-6700K microATX system and try running it with just Plex on a stripped down Linux distro. The i7-6700K does have an iGPU but I'll likely put the GTX970 in it as well, to aid in transcoding when there's a supported format.

 

Edited by AgentXXL
Added info about using older i7-6700K.
Link to post

As this thread is very long, maybe i miss one important page; I would like to confirm (or not) if I understand the process to "activate" iSCSI on my UnRAID server.

- I Download the Unraid Custom iSCSI builtin v6.8.3.
- I replace the files (bzroot, bz***) in this package on my usb stick

After, process to configuration of iSCSI Target in CLI

Only this ?

Link to post
6 minutes ago, Janus said:

- I Download the Unraid Custom iSCSI builtin v6.8.3.
- I replace the files (bzroot, bz***) in this package on my usb stick

Exactly replace all bz* files on your USB boot device from the archive (keep in mind to first uninstall Python if you have it installed through the NerdPack, a custom version is needed for iSCSI that is already integrated).

 

Or you could upgrade to Unraid 6.9.0RC2 and install the iSCSI Plugin from the CA App (the iSCSI app is only visible if you are on 6.9.0beta35+)

 

6 minutes ago, Janus said:

After, process to configuration of iSCSI Target in CLI

You can also download the Unraid-Kernel-Helper Plugin from the CA App and you should be able to configure it from the GUI, but please excuse my poor web coding skills...

The GUI is very basic and it works.

 

But you can also do it over the CLI...

Link to post
4 hours ago, ich777 said:

Exactly replace all bz* files on your USB boot device from the archive (keep in mind to first uninstall Python if you have it installed through the NerdPack, a custom version is needed for iSCSI that is already integrated).

Man, you made me fall in love a second time with UnRAID. The only option that was missing (in my opinion) is now available.

 

I tested it on a laptop, with a copy of my real server key and it worked.

 

Only question. On boot, I can see the system is "unable to load nvidia-smi". Is it because the nVidia card is not present or because, by changing the kermel, the driver must be reinstalled ?

 

Thanks again ...

Link to post
5 hours ago, Janus said:

Only question. On boot, I can see the system is "unable to load nvidia-smi". Is it because the nVidia card is not present or because, by changing the kermel, the driver must be reinstalled ?

Yes, because I don't built an image with iSCSI and Nvidia, is an upgrade to 6.9.0RC2 possible?

 

Since you can install everything (Nvidia, iSCSI, DVB,...) via plugins over the CA App, otherwise I have to build you an image for 6.8.3 that includes Nvidia & iSCSI...

 

EDIT: Btw I run 6.9.0rc2 from the first day and never had a crash, so it's pretty stable I think.

Link to post

HI @ich777 its a reach, but I wondered what sort of effort would be required to add the gasket.ko and apex.ko kernel drivers
 to your build process?

 

It allows support for the coral AI hardware for object detection on some CCTV systems.

 

Thanks for your consideration / possible or not etc

 

 

Edited by local.bin
Updated link to working post
Link to post
31 minutes ago, local.bin said:

It allows support for the coral AI hardware for object detection on some CCTV systems.

For 6.9.0rc2 I think I can add this as a Plugin if you are interested in that, other than that, this should be possible to implement in my Unraid-Kernel-Helper.

Link to post
31 minutes ago, ich777 said:

For 6.9.0rc2 I think I can add this as a Plugin if you are interested in that, other than that, this should be possible to implement in my Unraid-Kernel-Helper.

That is very kind thank you.

 

Whichever is easier to implement I guess as personally I do not mind.

 

I use Unraid-Kernel-Helper for adding my intel graphics drivers and it works well, but I guess for others the plugin could be more accessible perhaps?

Link to post
22 hours ago, ich777 said:

Or you could upgrade to Unraid 6.9.0RC2 and install the iSCSI Plugin from the CA App (the iSCSI app is only visible if you are on 6.9.0beta35+)

It's not a problem for me to update. The process is the same ?

- The custom kernel for v6.9 is in this thread ? (I only see 6.8.3 on the first post)

- I also need to install nvidia driver after or they are included ?

Thanks

Link to post
1 hour ago, Janus said:

It's not a problem for me to update. The process is the same ?

Yes and no, just update to 6.9.0RC2, reboot and then go to the CA App and install whatever you want (after the reboot you will see that in the CA App are plugins for iSCSI and Nvidia).

 

In versions 6.9.0rc2+ installation of the drivers is done by plugins.

 

EDIT: Give the Nvidia drivers a little time to download since these are a file about 130MB in size... :)

Just follow the instructions on screen.

Link to post
On 2/15/2021 at 11:39 AM, bonustreats said:

Apologies for the delay in response, but I just had a chance to implement the changes.  They went flawlessly!  

 

Thanks so much @ich777 for all your hard work, it's most appreciated!  Also thanks to @yogy for writing out the steps for dummies like me!  

 

I also installed @b3rs3rk's plugin and it's working great, too!

 

I've been using unRAID since...2013 (2012?) and I've been consistently impressed by the patience, knowledge, and overwhelming amount of support that the community provides.  You guys are the best - thanks!

 

Just wanted to follow up with some (slightly) odd behavior, though I'm not quite sure where the issue may be coming from.  I've noticed my CPU spooling up to 4-7% usage and just kind of hanging out there while nothing's going on - no Plex stream or VM running.  At the same time, my GPU comes out of P8 (idle) to P0 and also just kind of hangs out for a while.  I then initiate a transcoded Plex stream and terminate it after a few minutes and the system returns to normal (1-2% CPU load).  This morning, I was able to catch the cycle: I checked to make sure my dockers were running and updated Plex.  The CPU/GPU load stayed elevated until I started, then terminated a Plex transcode and it went back to 'normal.'   

 

I don't think I've seen this behavior (at least with the CPU) before upgrading, but I honestly can't say that for certain.  Image of the CPU load and ethernet traffic is attached, as well as the diagnostics file.  I was looking through the system log and saw this repeated a couple thousand times:

 

Feb 18 05:43:11 Radagast kernel: resource sanity check: requesting [mem 0x000c0000-0x000fffff], which spans more than PCI Bus 0000:00 [mem 0x000c0000-0x000dffff window]
Feb 18 05:43:11 Radagast kernel: caller _nv000709rm+0x1af/0x200 [nvidia] mapping multiple BARs

 

And thought maybe my GPU got stuck in a loop or something?  Wasn't sure if I should post here, so if it isn't related to the plug-ins, I'd be glad to start a separate thread.

 

Thanks very much!

 

Edit: just wanted to further point out the CPU and network spikes at ~05:45 (that was me downloading Plex update) and the other at ~07:30 initiating the Plex transcode.

Plex_Oddity.PNG

radagast-diagnostics-20210218-1559.zip

Edited by bonustreats
Graph clarification
Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.