Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Term1t3

Members
  • Joined

  • Last visited

Everything posted by Term1t3

  1. This guide is compiled from several sources, including the excellent guides by SpaceInvader, as well as other helpful ones from various forums. This guide is intended for older Nvidia discrete graphics cards (it has only been tested on them), and most likely for AMD and all other brands as well. Tests were performed only in Legacy BIOS mode; UEFI was forcibly disabled in the motherboard settings wherever possible. This does not mean that UEFI boot will not work with this setup, but you may encounter issues with devices that are not UEFI-compatible. This includes older graphics cards manufactured before 2010. You can use the graphics card as the primary or secondary card for passthrough to the virtual machine. It should work in either case if you follow the instructions. This guide isn’t particularly relevant for newer NVIDIA 600+ series graphics cards or equivalent models from AMD or Intel released around the same time. If you’ve correctly dumped the VBIOS—and especially if you’re using the graphics card as a secondary one—things will be much easier for you: select the graphics card in the VM settings, then choose its sound card and VBIOS. Everything works out of the box in most situations. But you can use this guide as a backup plan or as a reference for basic graphics card passthrough (though I’m not positioning it as such). This guide is most likely not suitable for passing through integrated Intel/AMD graphics. As far as I know, more sophisticated passing-through methods with additional parameters are used for Intel. The following NVIDIA graphics cards have been tested: 8400GS (2007–2008) GT210 (2008–2009) GT520 (2011) Tested on the following systems: Windows 10 x64 Windows XP x64 Debian Trixie x64 It should work on all systems without any major issues (I haven’t encountered Code 43 or other errors; the drivers install correctly) Tests were performed on Unraid version 7.3.2, but it should work on 7.0.0 and later For experts in GPU Passthrough, here’s a more detailed description of the guide (so you don’t have to read the whole thing): it uses Seabios (and a custom patch from the mattkc.com forum), x-vga=true, and a manually dumped VBIOS (two graphics cards were used during the dump, but when running the VM, only one is used as the primary card). The patch from mattkc.com allows you to run virtual machines with 4 GB of RAM or more. I apologize in advance for any AI-related errors; I ran the text through DeepL because English isn’t my native language. I hope this guide will still be just as useful. Prerequisites: VT-x and VT-d/AMD-Vi/IOMMU must be enabled, as in any GPU passthrough guide. Basic knowledge of GPU passthrough. I will not go into all the technical details of how this technology works here; this guide contains only the essential information necessary for this specific scenario: passthrough and normal operation of a virtual machine with older graphics cards. Step One: VBIOS You’ll need to obtain a VBIOS for your graphics card (it might not be necessary for AMD cards, but I can’t verify that). I recommend doing this yourself using SpaceInvader’s guide (https://www.youtube.com/watch?v=FWn6OCWl63o) However, the script may not work on newer versions of Unraid. I’ve tweaked it for my own needs and fixed some errors I encountered along the way. https://github.com/Term1t3/Dump_GPU_vBIOS Please watch SpaceInvader’s video first, and also review the changes I made to get the script working in my case: https://github.com/SpaceinvaderOne/Dump_GPU_vBIOS/compare/master...Term1t3:Dump_GPU_vBIOS:master If you have an AMD graphics card, I recommend checking out this fork of the script: https://github.com/Goldmaster/Dump_GPU_vBIOS I highly recommend dumping the VBIOS for a graphics card that is NOT USED by UNRAID (as a secondary card). I’ve never been able to get the correct VBIOS with any Nvidia graphics card (I previously tried with a GTX 1030 and a GTX 1050 Ti). Using a graphics card as a secondary card always yields stable results. If you can’t connect two graphics cards to your system, temporarily connect them to another system and run Unraid on that one. If you don’t have a second PCI-E x16 slot but do have, for example, an x1 slot, buy a cheap x1-to-x16 riser card; I bought mine for $5 on AliExpress and it works great—I connected the second graphics card through it and successfully dumped the VBIOS. If you can’t dump the VBIOS due to an error, try binding the graphics cards to VFIO and/or disabling some framebuffer settings for the graphics cards in the Boot Menu (Unraid 7.3.2) http://[UNRAID-IP]/Main/Boot Step Two: VFIO After you’ve successfully dumped the VBIOS, you need to bind the graphics card to VFIO. You can do this at: http://[UNRAID-IP]/Tools/SysDevs Select your graphics card and its sound card (HDMI), if available. Click “Bind selected to VFIO at Boot” at the bottom and reboot the system (I recommend performing a cold reboot by turning the system off and on to fully reset the graphics card) During this and the next steps, you may encounter issues related to VFIO or starting the virtual machine. If this happens, see the Troubleshooting section below. Step 3: Configure the VM Create a new virtual machine. Let’s assume it will be Windows 10. In addition to the standard settings for configuring any virtual machine, the key settings you need to configure are: Machine: i440fx (latest version). Recommended. Provides maximum compatibility with older hardware. The Q35 didn’t always boot the system under certain configuration settings. BIOS: Seabios (required). Unraid can boot via UEFI if you prefer. However, I tested this configuration strictly with Unraid booting from BIOS. Memory (RAM): Start with 1 GB—this is important. You need to make sure the system boots to the Windows installer or loads an already installed Windows (if you’ve installed it previously). Then try increasing the RAM to 2 GB and higher, in 1 GB increments. Most likely, the system will stop booting at 2–4 GB; this is a Seabios bug. I’ll explain how to fix this below. Graphics Card: Select the graphics card you plan to pass through. Enable the “Multifunction” option if your graphics card has a built-in sound card (HDMI). Select the VBIOS for your graphics card. Add the sound card from your graphics card, if available (preferably as the first one, if you plan to add other sound cards as well). To avoid Code 10 and Code 12 errors (insufficient resources), do not select a virtual graphics card. For stable operation, the virtual machine should only have physical PCIe graphics cards. QEMU Command Line text field: Enter the following text, including all spaces (when saved, this setting may change slightly—for example, spaces may be added to the last line; this is normal): <qemu:override> <qemu:device alias='hostdev0'> <qemu:frontend> <qemu:property name='x-vga' type='bool' value='true'/> </qemu:frontend> </qemu:device> </qemu:override> Configure the remaining settings: vdisks, the ISO for system installation, and so on. Try starting the virtual machine as described in the Memory (RAM) section. Start with 1 gigabyte; each time the Windows installer boots successfully and displays an image (or Windows itself, if it’s installed), shut down the virtual machine and try increasing the memory by +1 gigabyte. Still booting? Add more. If you’ve reached 4 gigabytes or more and the Windows installer or Windows itself has booted correctly—congratulations! At this point, you can already use the virtual machine without any problems. (With the exception of common issues, such as sound problems; solutions can be found in the Troubleshooting section.) If you can’t start the virtual machine with 4 GB or more (I was only able to get it to work with 3 GB—if I set it to 4 GB, I only see Seabios loading on the screen; it doesn’t reach the Windows boot screen, and the system just keeps rebooting in a loop), try using the custom Seabios loader from this forum: https://forum.mattkc.com/viewtopic.php?p=2536#p2536 Save both files from the archive (bios.bin and pci_force32bit.patch) to your Unraid storage, for example, at the path /mnt/user/isos/custom_seabios Edit the VM and try adding more RAM, for example, 6 GB. Save the changes and open the editor again in XML mode. Add the following line to the <os> section: <loader readonly='yes' type='rom' format='raw'>/mnt/user/isos/custom_seabios/bios.bin</loader> Complete example (I selected “pc-i440fx-10.2” as the machine): <os> <type arch='x86_64' machine='pc-i440fx-10.2'>hvm</type> <loader readonly='yes' type='rom' format='raw'>/mnt/user/isos/custom_seabios/bios.bin</loader> </os> Save the file and try booting. The system should boot and display a screen. Troubleshooting Section 1. When dumping the VBIOS and VFIO bindings, if you frequently swap hardware components between reboots (such as swapping graphics cards between slots, or removing or adding a graphics card), you may encounter various issues with VFIO bindings. To start, I recommend forcibly clearing the VFIO bindings by deleting the files from the /boot/config folder (use the built-in file manager): vfio-pci.boot vfio-pci.cfg vfio-pci.bak Some files may be missing; this is normal. Reboot, then go back to the menu: http://[UNRAID-IP]/Tools/SysDevs You may need to click the “Acknowledge all PCI changes” button. Then you’ll need to reselect your devices (the graphics card along with its sound card, if applicable) and reboot again. 2. Error 127 when starting a VM: You may have frequently swapped graphics cards and forgotten to update the VM configuration correctly. Open the non-XML edit mode and make sure you’re assigning the correct graphics card (I recommend reselecting it by first choosing “none” or “virtual,” then selecting your graphics card again). Also, pay attention to the “Other PCI Devices” section at the bottom; there should be no devices related to the graphics card listed there. Uncheck any unnecessary boxes there, if present. Save your changes, reopen the editor, and add an XML entry for a custom Seabios file, if required. 3. Black screen or driver issues. If you haven’t disabled the Framebuffer yet (especially if you’re using the graphics card as the primary one), do so now. Go to the section: http://[UNRAID-IP]/Main/Boot Try disabling the Vesa/EFI Framebuffer first. Doesn’t help? Disable the Simple Framebuffer. Still no luck? Try enabling the “Block All Framebuffers” option. I used the last option right away, but I think that with most hardware, you can safely disable the Vesa/EFI/Simple Framebuffer without any issues. 4. Cracking/choppy sound: try to enable MSI interrupts. Use this utility: https://forums.guru3d.com/threads/windows-line-based-vs-message-signaled-based-interrupts-msi-tool.378044/ From this guide: https://docs.unraid.net/unraid-os/using-unraid-to/create-virtual-machines/windows-on-a-vm/#fix-hdmi-audio-with-msi-interrupts 5. Any other issues? Post in this thread, and I’ll try to help as time allows. Also, please share your experiences—how you managed to get an old graphics card working and what methods you used; I’m really interested in hearing about it. References: https://www.youtube.com/watch?v=FWn6OCWl63o https://www.youtube.com/watch?v=mM7ntkiUoPk https://youtu.be/f2VwlAw5xXU?si=EXxqaGCpJeg-V3iI&t=1670 https://forum.mattkc.com/viewtopic.php?p=2536#p2536

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.