Xaero

Members
  • Posts

    413
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Xaero

  1. I'll have to add a check to see if the container exists, and is running, and start it if not... Also, the script only needs to be run if the container has been updated, or it's configuration has been edited and saved (which causes a force update)
  2. It's not 4k that causes issues with color, it's HDR. Lots of 1080p HDR content and 4k non-HDR content exists. If I'm not mistaken, Emby has HDR profiles, though I'm not sure how well they work. I may, once I have finished moving, investigate hacking some color profile stuff into the decode wrapper to attempt correcting the washed out colors (it's just adding some additional parameters to ffmpeg, kinda like we do with nvdec)
  3. Available codec options are: h264 (default) H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 hevc (default) H.265 / HEVC (High Efficiency Video Coding) mpeg2video MPEG-2 video mpeg4 MPEG-4 part 2 vc1 SMPTE VC-1 vp8 (default) On2 VP8 vp9 (default) Google VP9" [/Code] You need not change anything for mpeg4 to be excluded. Everything with default next to it is ALLOWED to be transcoded by the GPU and *should* have good support on most Nvidia cards. Everything without default can be specified and most of them *should* work, but can have problems. (Notably, mpeg4 and VC1) Suffice it to say that leaving the "#" before the CODECS line should be sufficient for most users.
  4. Slackbuilds *has* released the new driver. No buildscripts available publicly though, so I can't just set up a buildbot with the copious number of CPU cores available to me to churn out builds with new nvidia driver releases sadly.
  5. That's pretty much to be expected. When using QuickSync, Plex will both Decode and Encode using the Quicksync pipelines exposed by your CPU. When using nvidia's nvenc, by default, Plex will use your CPU for decoding, and nvenc for encoding. You could create a wrapper that uses -hwaccel qsv to use QuickSync for decoding, and nvenc for encoding, which would result in similar CPU usage to using QuickSync. At the end of the day, the nvenc/nvdec support is really only useful if you have a CPU that DOES NOT have QuickSync video.
  6. I have a large number of gzip archives that I would like to bind mount into a directory. The contents can be read-only, but the archives have to remain gz. In the past I've used archivemount and a script for this, but archivemount doesn't seem to be available for unraid, are there any solutions for this?
  7. Each driver and kernel version requires manual work on the part of the Linuxserver.io team, so while possible, it doesn't seem feasible. If they do decide to support it, I would suggest they auto detect the last driver version for each card - which can be facilitated with code found in the MHWD tool for Manjaro, and Jockey for Ubuntu.
  8. Here's a similar bug with the dashboard I got after rebooting on 6.7.0 rc7: Not sure if it's directly related. Haven't been able to resolve it yet, but haven't tried rebooting again, either.
  9. HAHAHA I can't believe I left that in there. Originally, I was using /bin/bash -c which resulted in a bashism making the concatenation cause the script in the container to error out with "invalid codec: vp9" even though it was totally valid. Switching for sh -c fixed it but I left my concat workaround in there. Thanks for the fix EDIT: I have moved wget to the HOST side in the latest revision of the script. neither curl or wget is guaranteed to be present inside the docker, since this script was written for unraid, and unraid ships with wget stock - we're using that. I could add a pure bash download function - but that seems unnecessarily complicated.
  10. Updated the nvdec wrapper script on gist: https://gist.github.com/Xaero252/9f81593e4a5e6825c045686d685e2428 Now pulls a much more robust wrapper script from https://github.com/revr3nd/plex-nvdec/ Also supports a more robust codec filter using that script. Will only patch if the transcoder isn't currently running. Can still be run on a schedule via user scripts.
  11. Had been meaning to implement this myself. I just updated my script on gist. The new script pulls the latest version of revr3nds script and applies it. It also supports a list of codecs in a variable near the top of the script if you need to change them for any reason.
  12. @Djoss Any chance of adding SSLH support for this docker? It enables SSH access on the SSL port so that you can SSH into the server using the SSL port on locked down networks. I realize a VPN works around this as well, but would be a neat addition.
  13. RIP. I see you have PCIe ACS overrides enabled, a Windows 10 VM and then unraid is also reporting that there is no nvidia device available for the runtime. To my knowledge, if you are passing through your GPU to a VM and then also intending to use it with the docker, you are going to have a bad time. When the GPU is handed over to the VM it's like it was physically unplugged from unraid, and then physically plugged into the VM. When the VM shuts down, the GPU gets plugged back into unraid, but the nvidia docker runtime doesn't know this until it's been restarted. Hence it working when you restart the docker. Also, you usually shouldn't need to enable PCIe ACS overrides for passthrough unless some weird shenanigans are going on. EDIT: I'm not exactly an expert on unraid/qemu/docker - just a general Linux junkie, I could be very wrong, but from glancing over your diagnostic logs that's what I'd assume is happening.
  14. Yeahhhhhhhhhhhhh, the blight of my existence, currently lol.
  15. I wrote a script that can be used to automatically re-apply the wrapper on a schedule so that when Plex is updated you don't have to manually re-apply the wrapper script. That wrapper script is missing "exec" See my gist post here: https://gist.github.com/Xaero252/9f81593e4a5e6825c045686d685e2428 Lines 19-27 contain the wrapper script that executes the default "Plex Transcoder" which we move to "Plex Transcoder2" You'll see there that I start each transcoder line with "exec" To fix your wrapper (which would break with mpeg4 avi files): #!/bin/sh exec /usr/lib/plexmediaserver/Plex\ Transcoder2 -hwaccel nvdec "$@"
  16. Are you sure you are using the latest version of the script? The inclusion of `exec` should let the processes die normally (and works as intended, from extensive testing) - indicating you may not have the correct wrapper script in use. Second, when watching nvidia-smi dmon -s u; It is important to note that there are separate columns for different usage metrics. For example, there is a column for the gpu core itself, the "streaming multiprocessor" (sm), memory, the nvenc and nvdec pipes. The nvenc column only refers to encoding, while the nvdec column only refers to decoding. From there, keep in mind that with the latest version of the script and mpeg4 avi media, the card will only be used for encoding, as the decoder vomits on that particular type of media. I am using a Quadro P2000, for reference which is very closely related to your P4000. I will note that currently I have abysmal 4k transcoding performance for some unknown reason. For example, here's my server currently: You can see my CPU usage is quite loaded - but the Plex Media Server and the transcoder are using barely any CPU. This is because I'm currently converting ~1.8TB of *.7z archives to *.gz archives. You an also see there is a small amount of usage on the enc and dec side of the graphics card. It's a 1080p video being transcoded to 1080p; so the usage is low. Once I close the browser tab with the video, the encode process drops off the GPU, but not until the tab is closed, or I stop that stream within the tab. Edit2: Yes, I know of tmux and screen - was just pulling up windows for demonstration, I don't normally monitor my server actively unless I'm trying to diagnose an issue lol
  17. By default, Plex only encodes with this unraid build and the GPU passed through. There's a way to enable decoding as well; but it is not officially supported by the Linuxserver.io, Plex, or unraid teams. Here's a script I've modified that can be used via the user scripts plugin on a schedule to enable the decoding support: https://gist.github.com/Xaero252/9f81593e4a5e6825c045686d685e2428 I will update that script as needed, until Plex adds official nvdec support. Also note that nvenc and nvdec DO NOT offload audio transcoding. This generally is of no concern, unless you are dealing with lossless Atmos audio, which can be quite substantial to downmix and transcode.
  18. Did you see my post a couple pages back: Go to Settings > VM Options > Advanced > Edit Configuration > Add Parameter menu of the guest after powering it down and add the following parameter: hypervisor.cpuid.v0 = "FALSE" Seems to be somehow required for VMWare ESXI nvidia passthrough for CUDA and other advanced features to work.
  19. I'm not sure but I think it's unraid that's missing the terminal info. I believe it was ncurses that is stripped down. I thought someone earlier in the thread fixed it but changing their terminal emulation. What unraid version and terminal are you using and what emulation? Slackware package for tmux come with tmux and tmux-256color terminfo: https://slackware.pkgs.org/14.2/slackware-testing-x86_64/tmux-2.2-x86_64-2.txz.html EDIT: To answer your questions though: Unraid-nvidia 6.7.0-rc7 I've tried using export and `TERM=xterm tmux` but still results in the error as tmux still tries to use it's own terminfo (which obviously doesn't exist) I've since copied over a working terminfo from my ArchLinux server for the interim, and the issue is resolved. Seeing as the official slackware packages for tmux have terminfo for it included, it makes sense to package it that way.
  20. @dmacias tmux seems to be missing the terminfo for tmux, resulting in backspace being broken again. Just fyi.
  21. You may have to manually supply the BIOS for the consumer cards. The Quadro P620 should play well in a VM, however. Edit: I see you are running esxi, my bad; try doing this: Someone on Reddit reported that to work getting the drivers installed on Windows, hopefully it does for Linux as well. Should only apply to *consumer* cards. The Quadro, again, should play well in a VM.
  22. 160TB usable here (192TB raw platters). Norco RPC-4224 SuperMicro X10DRL-IO 2x 1tb intel 660p for cache 24x Shucked WD Red 8TB drives from BestBuy black friday last year (over 60% off the price of the raw reds) 64gb DDR4-2133 ECC nVidia Quadro P2000 Not exactly happy with my HBA situation. Currently have an IBM M1015 connected to an HP port expander. The IBM card reports the drives as "standby" even though they are spun up. And the port expander only negotiates 3gb/s links (24 drives through two 4 port 3gb/s links is down to 1gb/s total bandwidth per drive) Going to be upgrading that, but not a lot of controllers that support IT mode and handle 24 disks. I'd like to not use a port expander but may be forced to.
  23. That'd be the obvious thing I didn't think of. Yeah, if the GPU got passed through to a VM or something it might vanish from nvidia-smi. Always learning.
  24. If you have anything clearing /tmp regularly, or the kernel is trying to clear memory because you are nearly out, the file would get deleted. Why is this being done in lieu of the plugin calling nvidia-smi via exec? Surely polluting tmpfs is avoidable in this case? Just curious, there's probably a good reason I can't think of.
  25. The container data becomes present over time. The support page has documentation on how to pass thru something to make it happen instantly but recommends against it for security reasons If you leave it running the GUIDs should eventually become the container names. I don't normally run netdata.