2x gaming PC's in 1, and Crossfire when only one native win 10 OS is running


Recommended Posts

For mouse/keyboard/sound I plan on getting a pci bracket usb-card that I can connect to one of the USB-headers on the motherboard. Then dedicating that header to the second VM, and have a USB sound adapter connected to the USB header to provide sound for one of the VM's. This is also how the mouse/keyboard/joystick gets connected. 4 ports should suffice.

 

That's a good idea. Had forgotten about the on board usb headers!

 

 

There is very helpful guide for passing trough usb onboard controllers: http://lime-technology.com/forum/index.php?topic=36768.0 Even I managed to pull this off :P

 

I have X79-mobo (Rampage IV BE) which itself has five usb controllers and I managed to get 4 usb3.0 ports for both VM which are hot plugable. I am sure it would work on X99 boards as they sure have at least same amount of usb controllers too. Also, there is even one controller left (which controls onboard usb 2.0). You just need to be carefull not to passtrough via same bus unraid stick is in : ) But sure, pcie bracket hooked in onboard usb-header would give lots of ports if needed.

Link to comment

...From what I remember when I tried it, the only guys pulling it off had cards that supported the new way of crossfire through PCIe, not needing the bridge. Unfortunately my cards didn't support that.

 

That's a very good point. I had completely forgotten about that. I'm going to upgrade to a single Polaris 10 card (490x?) when they are out and later down the line maybe I'll add a second one for crossfire. Hopefully by then crossfire will be working in unraid if it isn't already (using the inherent pcie bridge).

Link to comment

A lot of good information surfacing in this thread.

 

Thanks for the link to USB pass through guide contay. Will check it out when I start configuring.

 

I'm also gonna look into the MSI motherboard JustJoshin. Furthermore I was not clear with my idea for crossfire support in my last post, sorry about that. What I meant was for you to install windows 10 in parallell with unRAID. When both you and your wife will be using the PC, you boot up the unRAID OS. When you are using the PC alone, you boot into native windows 10, using all the system capasities for yourself. A restart in between will be necessary though, so if thats not acceptable for you, then my proposal is not sufficient. 

Link to comment

...I was not clear with my idea for crossfire support in my last post, sorry about that. What I meant was for you to install windows 10 in parallell with unRAID. When both you and your wife will be using the PC, you boot up the unRAID OS. When you are using the PC alone, you boot into native windows 10, using all the system capasities for yourself. A restart in between will be necessary though, so if thats not acceptable for you, then my proposal is not sufficient.

 

Are ok. No worries. Since I will be running plex and a few other things it isn't ideal. My wife may want to watch t.v for example if I'm gaming. It may however be a last resort / fallback option as I plan to get an Oculus Rift and I haven't heard anything about compatibility with unraid yet. Technically it's just usb and gpu pass through so should work fine but it is as they say, untested.

Link to comment

I'm not sure if crossfire support has been added as of yet.

 

Neither am I. But it would be nice to have.

 

 

I tried crossfire with my two R9 280X, but it didn't work. I could install the drivers and it would enable crossfire, but as soon as I ran 3D Mark the VM crashed.

This was last year, so haven't tried it in newer version.

 

I've been Running R9 290 in cross fire for quite some time now, I consider my VM to be very stable. Here is a copy of VM xml in case you see anything interesting. Are your video cards UEFI compatible? Just double checking.

 

ATI cards don't require a bridge for Cross-fire, it's all done in software with windows drivers. Nvidia products on the other hand requires a hardware bridge between cards.

 

<domain type='kvm' id='1' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>Kraken</name>
  <uuid>dedccfd4-255c-a89a-2b27-7d16c8da5f49</uuid>
  <description>win8gpu</description>
  <metadata>
    <vmtemplate name="Custom" icon="windows.png" os="windows"/>
  </metadata>
  <memory unit='KiB'>33030144</memory>
  <currentMemory unit='KiB'>33030144</currentMemory>
  <memoryBacking>
    <nosharepages/>
    <locked/>
  </memoryBacking>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='8'/>
    <vcpupin vcpu='1' cpuset='9'/>
    <vcpupin vcpu='2' cpuset='10'/>
    <vcpupin vcpu='3' cpuset='11'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough'>
    <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/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/vDisks/coil/vdisk1.img'/>
      <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/win8_1/Windows.iso'/>
      <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/win7/virtio-win-0.1.102.iso'/>
      <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='usb' index='0'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <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>
    <interface type='bridge'>
      <mac address='52:54:00:7c:e6:b8'/>
      <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/0'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/Kraken.org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x1532'/>
        <product id='0x0040'/>
        <address bus='5' device='3'/>
      </source>
      <alias name='hostdev0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x1532'/>
        <product id='0x011a'/>
        <address bus='5' device='2'/>
      </source>
      <alias name='hostdev1'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </hostdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </memballoon>
  </devices>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=02:00.0,bus=root.1,addr=01.0,multifunction=on'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=01:00.1,bus=root.1,addr=00.1'/>
  </qemu:commandline>
</domain>

 

I hope that helps.

Link to comment

I'm not sure if crossfire support has been added as of yet.

 

Neither am I. But it would be nice to have.

 

 

I tried crossfire with my two R9 280X, but it didn't work. I could install the drivers and it would enable crossfire, but as soon as I ran 3D Mark the VM crashed.

This was last year, so haven't tried it in newer version.

 

I've been Running R9 290 in cross fire for quite some time now, I consider my VM to be very stable. Here is a copy of VM xml in case you see anything interesting. Are your video cards UEFI compatible? Just double checking.

 

ATI cards don't require a bridge for Cross-fire, it's all done in software with windows drivers. Nvidia products on the other hand requires a hardware bridge between cards.

 

 

 

I hope that helps.

That is only partly true. Older cards doesn't support crossfire without the bridge. Mine did not have the possibility to activate crossfire unless the bridge was connected.

Link to comment

I've been Running R9 290 in cross fire for quite some time now, I consider my VM to be very stable. Here is a copy of VM xml in case you see anything interesting. Are your video cards UEFI compatible? Just double checking.

 

Glad to know crossfire is working for the newer cards that use don't require the hardware bridge. Very useful. Thanks.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.