unRAID Server OS 6.3 Released
Today we are formally announcing the general availability of unRAID Server OS version 6.3. For a full debrief, we encourage you to review the announcement post in our forums. This release primarily contains critical security and bug fixes, so users are encouraged to upgrade as soon as possible. In addition, there were several webGui improvements and enhancements, and one major new feature:
Intel IGD Pass Through to Virtual Machines
A frequent request we receive is GPU pass through support for integrated graphics devices. Unfortunately, there are a lot of complexities with IGDs that traditional discrete GPUs don’t have, which has prevented us from making this possible in earlier versions. Thankfully due to upgrades in the Linux kernel and QEMU 2.7, we are now able pass through these devices to VMs. Here are just a few of the use cases:
If you have a server that can be physically close to your primary TV, graphics pass through can be used on that system to enable a VM to act as a media player, delivering the best possible media player / playback performance. With IGD support now for this, the server itself can be smaller form factor (no need to house a large GPU) and be more efficient at power and cooling.
If you want to combine the benefits of your desktop and server into a single physical system, unRAID has been able to do that for some time, but now you don’t need to use a discrete GPU for that purpose. If your only need for a desktop is basic productivity, web browsing, and media playback applications (no high-performance 3D games), an IGD is more than enough to suit that need again reducing the physical size of the system you need, its power consumption, and the amount of cooling you have to provide.
From one of our user’s in the forum:
Thanks for this great feature!
It is working awesome.
I’ve installed a Ubuntu 16.04 VM with the IGD feature.
Then i’ve installed Emby any drivers and the right ffmpeg version.
Now i can use vaapi for the transcoding feature in Emby.
I can watch 5 TV streams with max 20% CPU usage.
To take advantage of this new feature in the first RC, however, you will have to know some of the caveats:
- You must have an Intel CPU with an IGD (SandyBridge or newer)
- The iGPU device must be at PCI address 00:02.0 for this to work
- There is limited support for Q35 and/or OVMF VMs
- If booting into unRAID’s GUI boot mode, this feature may not work or may be more unstable
There are two modes for IGD assignment and each have their pros and cons. Which ones are available to you depends on your hardware. If you have a processor older than SandyBridge, stop now, this is not going to work for you.
Legacy mode is available to all Intel IGDs back through SandyBridge. The high level overview is that “legacy” mode is much like our GeForce support, the IGD is meant to be the primary and exclusive graphics in the VM. Additionally you must use SeaBIOS with the i440FX chipset (no Q35, no OVMF) and the IGD device must be the primary host graphics device (no VNC primary / IGD secondary). Legacy mode should work with both Linux and Windows guests (and hopefully others if you’re so inclined).
UPT (Universal Passthrough)
UPT mode is only available for Broadwell and newer processors. In UPT mode, the IGD is meant to be a secondary graphics device in the VM (the primary would be a VNC enabled emulated graphics device). Between the emulated graphics and IGD you can setup mirroring so you actually have a remote-capable, hardware accelerated graphics VM. However, there are some VMs where UPT mode will work without a primary graphics device (e.g. LibreELEC). In this setting, the OS must load before the graphics will display (you won’t see the SeaBIOS or OVMF boot loaders).
Our suggestion to users is to primarily focus on Legacy mode and only try UPT mode if there are specific requirements pushing you to do so. Alex Williamson’s blog on the subject has a lot more detail, but I’ve summarized much of what he wrote here.
How do I do it?
To take advantage of this feature, simply create or edit an existing VM and select your integrated GPU for the Graphics device. That’s all there is to it!
This feature is still under development but please let us know how this feature works for you in our forums.