The guide assumes that you have a functioning Unraid server with a GPU attached, and a dummy plug installed into the GPU. It also assumes that you have the ability to restart your Unraid sever a couple of times, as noted in the guide.
6. Preparing Unraid
1. First, some housekeeping. (click me)
- Update Unraid to the most recent public version.
(Tools>Update OS)
This guide was prepared using 6.8.3.
- Install Community Applications if you haven’t already.
Simply pastehttps://raw.githubusercontent.com/Squidly271/community.applications/master/plugins/community.applications.plg
into your Plugins/Install Plugin section.
- Dynamix has quite a few useful applications that we can use. You can install these from the (newly added) Apps tab.
- Dynamix System Information
- Dynamix System Statistics
- Dynamix System Temperature
- Dynamix SSD TRIM
- Install the Unassigned Devices and Unassigned Devices Plus plugin.
- Install the Fix Common Problems Plugin.
- Open “Fix Common Problems” from the Plugins tab.
- Scan and address any warnings or errors found.
- Scan and address any warnings or errors found.
- Go to the Tools tab. Click “Docker Safe New Perms” and click “Yes I want to do this” and then start. Leave the dialog box open and let it finish.
Do not run this if you have a preclear in progress or if the mover is running. Wait for those processes to finish first.
2. Configure CPU Isolation (click me)
- Turn off running VMs and and Dockers, then turn off the VM and Docker services in Settings>Docker, and Settings>VM Manager.
- Go to Settings>System Settings>CPU Pinning then scroll down to CPU Isolation.
Cores that are highlighted are isolated from the Unraid host. (therefore dedicated to VM/Docker use) Unraid itself only needs a few cores to operate at peak performance. In my case, I have a few cores to spare, so this is what mine looks like. In the case of a 6 or 8 core system, one or two physical or logical cores is enough. Unraid/Linux prefer to use lower cores, so leave 0/1 for the host and isolate the rest.
This requires an Unraid host restart. Do not restart now, there are more changes that require a restart.
3. Configure Network Settings (click me)
- Go to Settings>Network settings
I’m recommending disabling bonding, but leaving bridging enabled. My network interface looks like this.
(I have the IP address reserved in the router, so I don’t have static enabled here.)
4. Configure VM Manager (click me)
- Navigate to Settings>VM Manager
- You can change the Default VM and ISO storage path if you want, otherwise just leave these default.
- Download the VirtIO driver if you haven’t already.
- Select the network bridge that corresponds to the network interface we configured earlier.
In most cases it’s “br0” - Set PCIe ACS override to “Both”.
This requires an Unraid host restart. You should restart after this step.
5. Make changes to the BIOS of your Unraid server (click me)
These settings will vary with each platform, so you’re on your own for the most part.
- Disable UEFI boot, only allow booting from Legacy devices.
Ensure that the Flash device is still first in your boot order. - Enable IOMMU if your motherboard has a section for it.
- Enable VT-D, VT-X, and/or AMD-V if available.
- Save changes (usually
F10
) and boot Unraid. - Now that Unraid is back online, turn VMs and Dockers back on in Settings>Docker, and Settings>VM Manager.
6. Configure Shares (click me)
- The following shares should be set to cache “Prefer” or cache “Only”.
If you’re not sure which option to use, use “Prefer”.- appdata
- domains
- isos
- systems
- Invoke the mover in the Main tab (scroll down to the bottom)
Wait for this process to finish before moving on to the next step. If you don’t see any cache activity, and the move button is lit up again, the process is finished.
7. Prepare GPU BIOS for passthrough (click me)
This is typically necessary with Nvidia GTX and RTX cards.
This should not be necessary with AMD and Nvidia Quadro cards, buy may help in some cases.
You have two options: The easy/lazy way (this is what I do), or the direct extraction way.
I will cover both below.
- The easy/lazy way
- Find your GPU on this website
- Download the vBIOS for the card (In this case I have a Zotac RTX 2070 Mini)
- [Advanced] You can also use BIOS files that are not meant for your GPU.
If you do this, you’re on your own, I’m not responsible if you brick your card. In most cases you should be OK, for instance I used the “AMP Extreme” BIOS on my Mini card with great results. - Use HxD to open your card’s BIOS that you downloaded
- Press
CTRL+F
and search for “vga compatible”
- Highlight everything above the line that starts with something like “UªtëK” and delete it.
(everything above the red line, it may take a while to scroll up and highlight everything)
- Press “OK” at this dialog box
- Go to “File”, “Save as…”
- Navigate to your isos share on Unraid, and save it with a name - make sure to add the extension
.rom
- Direct BIOS extraction
- Install your GPU into a native Windows PC
- Use GPU-Z to export your BIOS by clicking this button
- Upload the BIOS to your isos share on unraid