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.

VM won't boot with AMD 380X ONLY after device specific display driver is installed.

Featured Replies

Hi all! I'm stumped, hoping to get some help.

 

I'm trying to run a Windows 10 VM. I have a couple of R9 380Xs lying around and I thought one would fit the bill. Oh, how I was wrong.

 

I'm able to install Windows 10 and even make it through the initial boot just fine. As soon as I install the drivers, though, the VM locks up immediately upon the driver being initialized. After that, I am unable to get into Windows using the video card - it gets to the "spinning balls" stage of loading, the balls juggle for a few moments, then it locks up. Using VNC works just fine, both before and after installing the driver. There are no errors or warnings in the log.

 

I've tried:

 

Disabling/enabling CSM (currently disabled) and booting from UEFI and legacy

Booting with and without vBIOS

Hyper-V (in VM settings) enabled and disabled

Changing between UVMF and seaBIOS, and between Q35 and i440fx

All of these changes in various combinations

 

I'm running unRAID 6.8.2. Here's my system hardware and VM XML:

 

M/B: ASUSTeK COMPUTER INC. MAXIMUS VIII HERO (BIOS is up to date)

CPU: Intel® Core™ i5-6600K CPU @ 3.50GHz

GPU: XFX AMD R9 380X

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='6'>
  <name>Desktop</name>
  <uuid>90bcd89d-9ca1-0c0c-9683-2a9e93cf3346</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='1'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='3'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-4.2'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/90bcd89d-9ca1-0c0c-9683-2a9e93cf3346_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='none'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <topology sockets='1' cores='4' threads='1'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/disks/SPCC_M2_PCIe_SSD_7EBD079C096100503819/domains/Desktop/vdisk1.img' index='3'/>
      <backingStore/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <alias name='virtio-disk2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/Win10_1909_English_x64.iso' index='2'/>
      <backingStore/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <boot order='2'/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/virtio-win.iso' index='1'/>
      <backingStore/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <alias name='ide0-0-1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='ide' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <controller type='usb' index='0' model='qemu-xhci' ports='15'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:21:d2:3e'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/1'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/1'>
      <source path='/dev/pts/1'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-6-Desktop/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'>
      <alias name='input0'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input1'/>
    </input>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x02' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
</domain>

 

It has been a while since I last had a 380 but I remember something about newer AMD drivers not being cooperative with pass through.

You might have to install an old version of the AMD driver first through VNC and then pass through the card and keep your fingers crossed. Unfortunately I don't remember which version any more but may be start with something around 2016.

 

If you dumped your own vbios then use it. It can only help.

  • Author
On 2/10/2020 at 1:36 AM, testdasi said:

You might have to install an old version of the AMD driver first through VNC and then pass through the card and keep your fingers crossed.

 

That did it! You're the best, thank you! We shall name our now functional word processing VM in your honor.

 

For anyone else who might read this seeking to fix the same issue, here's what I did to fix the issue and, most importantly, keep it from happening again.

 

Install The Correct Drivers - The Musical

1) Download Windows 10 64 bit WHQL Radeon Software Crimson version 16.10.1 (I got them from guru3d.com, drivers these old weren't available on AMDs site) and copy it to a USB drive.

2) Install Windows 10 like normal. When Windows boots for the first time, simply disable the network connection to prevent it from automatically updating the display drivers

3) Install previously downloaded drivers from USB drive.

 

Disable Automatic Driver Updates - A Waltz of Seven Steps

 

The previous instructions worked too well - Windows 10 would uninstall the drivers for the device altogether. Oops! 

 

1) Right click the Start button and select Control Panel.

2) Make your way to System and Security.

3) Click System, then Advanced System Settings (in the left sidebar).

4) Select the Hardware tab.

5) Press the Device Installation Settings button.

6) Choose No, and then press the Save Changes button.

7) Now high five yourself, virtually high five testdasi for being awesome and helpful.

 

You'll now have to update all of your drivers manually, display drivers or not, but at least you'll be able to do anything at all!

Edited by SoleInvictus
Oops! Second instructions worked too well.

Archived

This topic is now archived and is closed to further replies.

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.