Return to Level1Techs.com

Video Editing from KVM Guest?

I need to start video editing in Premier or Final Cut - or something as good - so I’m going to use KVM with a Windows or OSX guest. A few questions:

I have 1 GPU, so I’ll have to split the resources it has - leaving a little bit for the Linux host. What do you think will yield the best performance from the host perspective? What about Windows vs OSX guest? Any other suggestions?

Thanks!

Don’t think you’ll get the gpu acceleration you need for your guest if you’re not passing it through from the host. What system do you have? If you have an igpu you can use that as a gpu for the host, if not and you have a slot available a cheap amd gpu(basically plug and play on any recent distro) is an idea. You can put it in a lower slot and probably choose it as primary display device in your bios, same can be done with an igpu.

Davinci Resolve

1 Like

Unless you have a fantastically expensive GPU with SR-IOV then this is likely not possible.

Honestly it is not a bad idea - video editing is a complex process that can be approached in way that having VMs is not a bad idea.

For example a digest server can make editing much less demanding.

That said, you seem to just approaching video editing as you did not provide any specifics.
In that case the best solution is a cheap GPU from best buy and VM passthrough.
Or an SSD and multiboot.

There are other options (like Single GPU passthrough), but those are nowhere friendly to a beginner.

What about using Looking Glass with KVM’d video editing? I suppose I could try Davince Resolve on the Linux host, but I don’t really want to install proprietary software on the host.

I thought the GPU passthrough was more for gaming performance - and that apps like Adobe don’t utilize GPUs well anyway… So I figured dedicating all of the GPU memory to the guest would be enough. Is this faulty thinking?

Looking glass will allow you to see what is on the VM GPU. It would certainly work, but you would still need two graphic cards for a simple setup.

GPU pass-through is for application that need native GPU power - today that is even your photoshop and premiere. There is no driver for Windows to use the Linux GPU - at least nothing approaching stable.

Too make long story short - even little power Premiere needs is too much for your CPU to handle.
The GPU does not have to be powerful, but it has to be dedicated to the windows or mac guest.

If you only work with DNxHD. H264 has to be transcoded.

Use a Nvidia GPU because CUDA is still superior to OpenCL. You will need to allocate at least 8 hyperthreaded cores for decent performance. A 12 core or 16 core is pretty much what you want if you want to work at the same time on the host OS, and edit in the VM. Final Cut is not a good option because it needs the Radeon VII which is still a reset issue GPU.

Thanks guys… Will think on it more. Maybe I’ll try out native editing in Resolve for now - but will eventually need a VM for proaudio (like Ableton live).

What would make this easier is a Dual GPU from AMD, like Apple has… Hopefully the next gen from AMD will be dual GPU again.

Actually, not as simple. The Dual GPU solutions use a PLX chip and upstream is still lumped into the same IOMMU group. You need direct PCI-E lanes to the CPU in separate IOMMU groups to have a host GPU functioning at the same time as your VM GPU. You need to have a 12-16 core CPU with good IOMMU separation, and a ton of PCI-E lanes.

So this raises the question: can I have a 2nd GPU in Linux that is basically ‘off’ (power consumption-wise) most of the time while not in use? Seems like the most elegant solution is getting a 2nd GPU and using Looking Glass to enable it on the same display via GPU passthrough for the guest!

Either that or keep it low power. 1650 Super might be a good candidate for Looking Glass at low power consumption.

1 Like

Ah because it is passed through it doesn’t matter Nvidia has shit Linux support because the drivers would just be used in Windows/OSX eh? Sounds good… I already have 1 AMD GPU.

BTW, I found this thread about my question: https://www.reddit.com/r/unRAID/comments/cz7ieu/can_i_turn_off_a_gpu_when_its_vm_is_not_in_use/

If using looking glass though both GPUs would be on. The Linux one less so but still used as it is displaying the image from the VM GPU by GPU to GPU memory copy.

If you just just have a monitor connected to the VM GPU you can effectively not use the Linux one during that time.

Of course, sorry I wasn’t clear. I meant reducing its power while not in use. Yes, when using the VM w/ GPU passthrough on a Linux host, then 2nd GPU + looking glass will have to be my method.

1 Like

Yeah, for 144hz I would recommend a 1650 Super.

Seems like:
– Adobe/Premier has better optimization for nvidia
– OSX in (k)VMs might be harder to support in the (nearish) future (ARM, etc)
– OSX in KVM will likely only work with GPU passthrough with AMD GPUs?
– Looking Glass works with both nvidia & AMD

I’ll look into a bit more which GPU looking glass is happier with. I guess I would slightly prefer AMD GPUs because of their better Linux drivers - and since I already have one.

1650 Super has good NVENC support should you ever need it. and more critically, it’s power efficient at lower power draw.

5500 XT 4GB is 7nm, but the Linux drivers are kind of in rough shape in the stable builds. You basically have to use bleeding edge Mesa.

So it seems I have 2 PCIe x16 4.0 slots, but if I use both at the same time, then the second one runs at x4 only (x570 motherboard)… So I wonder if the passed through GPU will use less PCIe bandwidth with looking glass - and the host GPU should remain in the x16 slot (with the passed through GPU in the x4 slot).
Thoughts?

EDIT: actually the performance shouldn’t be that much different between x16 & x4… Though the question still stands.

Lane bandwidth depends on the PCI-E version. PCI-E 3 doesn’t magically become PCI-E 4. Your best bet is keep the guest GPU in the primary slot and get a 5500 XT 4GB for the x4 since you’re not doing intense gaming on it.