pir8radio 1312 Posted January 20, 2023 Posted January 20, 2023 (edited) I have always ran emby bare metal on a physical server, usually due to me having multiple GPU's for transcoding and other stuff. Looking to virtualize but notice all other VM's just are not as snappy as running on my bare metal server. Giving them like 10 cpu's each... all the ram they need, and VM's are all on a raid... I have not put emby on a vm yet, i fear transcoding will suck... Looking for feedback from other Hyper-V users and how emby is working for you? How much have you stressed it? as in 4k 10bit transcodes, etc.. I get it wont do better than my GPU, and I have not looked into gpu passthrough yet.. i know its possible. Anyway just looking for feedback from actual emby hyper-v users... below is my server info... no SSD's spinning disk raid. Edited January 20, 2023 by pir8radio
jriker1 20 Posted January 22, 2023 Posted January 22, 2023 Yeah I just set it up the other day. Note not 100% sure but believe your cpu came out in 2014. I had something similar with a Dell Precision. Lots of cores but the age even running it on the primary OS wasn't the same. Also your drive test. That 1GiB test could be all cache. If I read right and your drive is all rust based raid drives, that's the speed of an NVME drive. Anyway, I have mine now running water cooled on a Ryzen 7950x with Windows 2022 and the Hyper-V role. I've allowed it to use up to 4 "virtual processors" for Emby and 4GB ram. Works faster than my prior mentioned precision. Since this is a rack mount 2U system I'm also not currently using a secondary GPU don't need it. Using the one that comes with the CPU. Also no passthru just whatever the default GPU is that Hyper-V sets up. Emby shows it's using hardware transcoding but for me it's doing this with WMV 720p and 1080p content. Works great. I do not have any 4k content that for my scenario would require transcoding. Everything I use thru Emby is using a NVidia Shield Pro TV. MP4, MKV, etc will all play direct.
pir8radio 1312 Posted January 24, 2023 Author Posted January 24, 2023 (edited) On 1/21/2023 at 6:47 PM, jriker1 said: Yeah I just set it up the other day. Note not 100% sure but believe your cpu came out in 2014. I had something similar with a Dell Precision. Lots of cores but the age even running it on the primary OS wasn't the same. Also your drive test. That 1GiB test could be all cache. If I read right and your drive is all rust based raid drives, that's the speed of an NVME drive. Anyway, I have mine now running water cooled on a Ryzen 7950x with Windows 2022 and the Hyper-V role. I've allowed it to use up to 4 "virtual processors" for Emby and 4GB ram. Works faster than my prior mentioned precision. Since this is a rack mount 2U system I'm also not currently using a secondary GPU don't need it. Using the one that comes with the CPU. Also no passthru just whatever the default GPU is that Hyper-V sets up. Emby shows it's using hardware transcoding but for me it's doing this with WMV 720p and 1080p content. Works great. I do not have any 4k content that for my scenario would require transcoding. Everything I use thru Emby is using a NVidia Shield Pro TV. MP4, MKV, etc will all play direct. THanks for the feedback.. Yes after digging in my spinning drive speed is in fact cache results.. i have the raid set to 50/50 read write, and i have 8 gigs of cache (should be 4/4gig).. so i just haven't been hitting the point where cache gets overrun. I was going to do the emby db on a ramdisk, but don't think ill need it. Raid has been doing a good job of using the cache. Yes they are older CPU's but i wanted the lots of cores for VM use.. I'm giving 10 virtual cores to each of my VM's, none of them so far use that much cpu time, emby should be the largest. I don't think my vm's showed up with a gpu hardware device, ill have to look... But yest download a 4k 10 bit video file, and try to transcode it to 1080p that is what i need emby to do for me.. my bare metal can handle a few of these concurrent transcodes, but I have found almost no xenon (without built in enc/dec capability) can handle eve one stream. Guess ill find out.. I'm dreading doing a fresh install of emby.. my emby has been on the OG database for many years lol. Edited January 24, 2023 by pir8radio
rbjtech 5284 Posted January 24, 2023 Posted January 24, 2023 I tried Hyper-V VM's a while back but as there is no GPU passthrough, resorted to bare metal for emby and then VM's on top for the non GPU roles. Using CPU (and an old CPU at that - only 2.3Ghz clock) for transcoding is going to kill the machine, lot's of cores or not. My i7 12700K (5Ghz out the box) using all 12/20 cores/threads is not a patch on even the iGPU (HD 770) - it will transcode significantly faster, using a fraction of the power and a fraction of the CPU overhead. It can run 8-10x 4K full remux transcodes with Tonemapping before it starts to bog down. Things have come a LONG way in ~8 years since those CPU's were released in AV stream processing. 1
TheITJedi 41 Posted January 25, 2023 Posted January 25, 2023 As someone whos running Emby Server in a Windows VM in HyperV. These things will help your performance greatly! GPU passthrough is going to be your friend for making transcoding fast. (otherwise its all gonna be on your CPU and its gonna be bad) You can pass multiple GPUs to a VM. The Emby Server (especially if you have a large amount of media) VM is going to want to live on an SSD and have its virtual swap (in VM settings) set to a different disk. This should also not be the same place where your library is stored. I recommend having the cache folder on a separate virtual disk on a separate SSD, this allows for transcoding to cache a bunch ahead without impacting IO of pulling media from your array or accessing the metadata and Emby databases. (This made a huge difference in performance) My VM is 4 Cores and 12GB memory. Here is a link with info for setting up GPU passthrough: https://www.techtarget.com/searchvirtualdesktop/tip/Running-GPU-passthrough-for-a-virtual-desktop-with-Hyper-V#:~:text=VM -GuestControlledCacheTypes %24true-,The new method of assigning a GPU to a Hyper,that you plan to allocate. (Note, this will keep that GPU from being available to the base HyperV server.) 1
rbjtech 5284 Posted January 25, 2023 Posted January 25, 2023 26 minutes ago, TheITJedi said: As someone whos running Emby Server in a Windows VM in HyperV. These things will help your performance greatly! GPU passthrough is going to be your friend for making transcoding fast. (otherwise its all gonna be on your CPU and its gonna be bad) You can pass multiple GPUs to a VM. The Emby Server (especially if you have a large amount of media) VM is going to want to live on an SSD and have its virtual swap (in VM settings) set to a different disk. This should also not be the same place where your library is stored. I recommend having the cache folder on a separate virtual disk on a separate SSD, this allows for transcoding to cache a bunch ahead without impacting IO of pulling media from your array or accessing the metadata and Emby databases. (This made a huge difference in performance) My VM is 4 Cores and 12GB memory. Here is a link with info for setting up GPU passthrough: https://www.techtarget.com/searchvirtualdesktop/tip/Running-GPU-passthrough-for-a-virtual-desktop-with-Hyper-V#:~:text=VM -GuestControlledCacheTypes %24true-,The new method of assigning a GPU to a Hyper,that you plan to allocate. (Note, this will keep that GPU from being available to the base HyperV server.) Thanks for this - I could never get the GPU to passthrough but this was some years ago. It has to be Windows SERVER right - this can't be done as a hyper-v role on Windows 11 Pro for example ?
TheITJedi 41 Posted January 25, 2023 Posted January 25, 2023 1 minute ago, rbjtech said: Thanks for this - I could never get the GPU to passthrough but this was some years ago. It has to be Windows SERVER right - this can't be done as a hyper-v role on Windows 11 Pro for example ? I have never tried to do it on a Win10/Win11 HyperV host, but it should work the same. I know with Windows Server 2016+ you can (which would be Win10 20H2 or newer). 1
pir8radio 1312 Posted January 27, 2023 Author Posted January 27, 2023 yea what i read it should work on win 10 too..
jriker1 20 Posted February 1, 2023 Posted February 1, 2023 On 1/25/2023 at 10:59 AM, TheITJedi said: GPU passthrough is going to be your friend for making transcoding fast. (otherwise its all gonna be on your CPU and its gonna be bad) You can pass multiple GPUs to a VM. My Ryzen 7950x has the built in APU I guess will call it. Do we know why even though my Emby virtual has just the built in Microsoft Hyper-V Video, that when I'm transcoding it's showing hardware transcoding? Maybe Emby is confused or because it's an integrated GUP I don't need to pass it through? Don't think that's the case, however also don't want to loose the GPU for my KVM switch which I believe happens if you passthrough a GPU to the virtual. Think also can't take snapshots anymore either.
pir8radio 1312 Posted February 3, 2023 Author Posted February 3, 2023 On 2/1/2023 at 10:26 AM, jriker1 said: My Ryzen 7950x has the built in APU I guess will call it. Do we know why even though my Emby virtual has just the built in Microsoft Hyper-V Video, that when I'm transcoding it's showing hardware transcoding? Maybe Emby is confused or because it's an integrated GUP I don't need to pass it through? Don't think that's the case, however also don't want to loose the GPU for my KVM switch which I believe happens if you passthrough a GPU to the virtual. Think also can't take snapshots anymore either. no clue, none of my hyperv VM's see any kind of gpu on the host server.
vmcosco 24 Posted July 27, 2023 Posted July 27, 2023 On 1/25/2023 at 11:59 AM, TheITJedi said: Here is a link with info for setting up GPU passthrough: https://www.techtarget.com/searchvirtualdesktop/tip/Running-GPU-passthrough-for-a-virtual-desktop-with-Hyper-V#:~:text=VM -GuestControlledCacheTypes %24true-,The new method of assigning a GPU to a Hyper,that you plan to allocate. (Note, this will keep that GPU from being available to the base HyperV server.) Sorry to revive an old thread. I am going down this road. Is all of that command line work in this link being done in the host (Windows Server) or in the Hyper-V VM?
Teredactle 37 Posted October 20, 2023 Posted October 20, 2023 I've done some reading on this topic, no way you will get Win10/11 to get GPU passthrough to work reliably, MS made it this way, at most it's a hack. You need to run server to make it work where you can PGPU. I've been running Emby on a Win 10 Hyper-V VM for some time (almost a year?) and it's been working great, most devices use direct play so I don't have much load. I have a new (old) machine that has the E3-1245v5 as well as a M2000 GPU in it, both IntelSync and the Nvidia can offer fast transcodes but not if you run in a Win10/11 HyperV VM. I'm thinking of running it on the machine directly and anything else can go in a VM... haven' made the move yet, but ran some quick tests and both the IntelQS and Nvidia are seen by Emby, just unsure just how much it will help as most of my devices can direct play...
jriker1 20 Posted October 21, 2023 Posted October 21, 2023 Same here. I've been running Emby fine without hardware transcoding support but I try and make sure everything is in a format that my NVidia Shield Pro supports. i do notice though sometimes just the audio will transcode and for some reason even though I've given the virtual 8 cores of my Ryzen 7950x water cooled, it will still be very jerky on playback. Almost like Hyper-V isn't really allowing full use of those cores in the virtual. You know monitoring that can be difficult as even though in the virutal may show 100% CPU utilization on all cores, the Hyper-V host will look like nothing is going on in task manager.
Teredactle 37 Posted November 25, 2023 Posted November 25, 2023 Apparently Win11 allows the use of GPU sharing in a VM; going to install that on a different SSD to test out soon; if it works I may just switch to Windows11 so i can keep running emby in a VM but also be able to share the GPUs
caffeineshock 18 Posted November 25, 2023 Posted November 25, 2023 (edited) windows 11 rtx 3070 gpu-p emby inside a windows vm with 16gb ram and a hand full of cores (the only reason i use windows). works flawlessly since... ever the same gpu is also assigned to a few other vms. check my comment here. im super happy with the setup and how it works without a single issue Edited November 25, 2023 by caffeineshock 1
Kassad 0 Posted November 20, 2024 Posted November 20, 2024 I like the idea of running Emby server on a VM, I'm just curious what the advantage is. What use-case would you want to do it?
feerlessleadr 173 Posted November 21, 2024 Posted November 21, 2024 can't speak for anyone else, but I run a windows 11 VM on one of my proxmox hosts, and on the W11 machine I run emby. I passthrough my intel iGPU to the VM along with a 10gbe nic, and it works beautifully. I mainly run it in a VM so that I can easily backup windows using proxmox backup server. Plus, my W11 machine would always seem to go down whenever the family and I were away from the house for an extended period of time. Fortunately for me, I was able to pickup some new hardware, and considering Debian (which proxmox is based on) is so stable, anytime I have an issue on Windows, I can just login to proxmox and turn off and turn on the VM again without physically needing to be there.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now