July 8, 201510 yr If by output you mean seen video, yes, this card used to be in a HTPC running OpenELEC, and is used to configure the BIOS on this MB. This part confuses me a bit, and I didn't mean it as "does this card even work on its own", I more meant have you outputted to it as a VM or etc... on your unRAID setup?. The configuring of the BIOS? Is this your only GPU on the system? I didn't look above to see. I guess looking more at the title of this thread the answer would be a definite yes... Which would make a whole lot of sense!.. If so, you'd certainly have to stub it, or unRAID will grab it exclusively (this is outputting as your console screen, right?), and I have no clue if that would work right. However you can try stubbing it, unRAID will not have a GPU to output to (aka, headless), and you would then assign it to your VM. You can find instructions for stubbing in the guide for passing through a NIC. If that works out for you (which I'm pretty sure it will), you can then mark this as solved!
July 8, 201510 yr Author I have not gotten it to passthrough a VM. So if I get these back from lspci 01:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 520] (rev a1) 01:00.1 Audio device: NVIDIA Corporation GF119 HDMI Audio Controller (rev a1) lspci -n 01:00.0 0300: 10de:1040 (rev a1) 01:00.1 0403: 10de:0e08 (rev a1) I should edit my syslinux.cfg to this: append pci-stub.ids=10de:1040,10de:0e08 initrd=/bzroot Then this goes into my VM's XML file: <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </source> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/> </source> </hostdev> Correct? Edit: It appears the information is already in the XML file, so I guess just stub the devices and reboot. Testing that now.
July 8, 201510 yr Author Well... that's a fail, both the above syslinux.cfg change and the following result in the terminal coming up on my monitor instead of a blank screen. append pci-stub.ids=10de:1040 initrd=/bzroot
July 8, 201510 yr Then this goes into my VM's XML file: <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </source> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/> </source> </hostdev> Correct? Edit: It appears the information is already in the XML file, so I guess just stub the devices and reboot. Testing that now. For a GPU, no.. You don't use the "easy" way to pass a GPU, you need to use the devices tag at the bottom.. Easiest way... Do everything in the VM manager (unstub if needed), create but don't start. Click edit XML, copy it somewhere, save this for changing later. I recommend using notepad++ for any edit/saving of XML, preferably set to Unix filetype in settings. Start over, re-add stub, then you can add whatever is needed for under manual XML editing if the GPU no longer shows up in the VM manager when stubbed.
July 8, 201510 yr Well... that's a fail, both the above syslinux.cfg change and the following result in the terminal coming up on my monitor instead of a blank screen. append pci-stub.ids=10de:1040 initrd=/bzroot That is unfortunate, not sure what to say if it is entered correctly yet it is still being used by UnRAID.
July 8, 201510 yr Author Switched back to the AMD 5450 (initial card used, preferred) lspci 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cedar [Radeon HD 5000/6000/7350/8350 Series] 01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Cedar HDMI Audio [Radeon HD 5400/6300 Series] lspci -n 01:00.0 0300: 1002:68f9 01:00.1 0403: 1002:aa68 syslinux.cfg append pci-stub.ids=1002:68f9 initrd=/bzroot VM XML: <domain type='kvm'> <name>Kodibuntu</name> <uuid>ad55ac2e-871a-04af-5d92-1c325046b84e</uuid> <description>MC HTPC</description> <metadata> <vmtemplate name="Custom" icon="ubuntu.png" os="ubuntu"/> </metadata> <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>2</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='1'/> </cputune> <os> <type arch='x86_64' machine='pc-q35-2.3'>hvm</type> <loader type='pflash'>/usr/share/qemu/ovmf-x64/OVMF-pure-efi.fd</loader> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='2' threads='1'/> </cpu> <clock offset='utc'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <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/VM/Kodibuntu/vdisk1.img'/> <target dev='hdb' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x05' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/cache/appdata/VM ISOs/kodibuntu-14.0-helix_amd64.iso'/> <target dev='hda' bus='ide'/> <readonly/> <boot order='2'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <master startport='0'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0' multifunction='on'/> </controller> <controller type='sata' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </controller> <controller type='pci' index='0' model='pcie-root'/> <controller type='pci' index='1' model='dmi-to-pci-bridge'> <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/> </controller> <controller type='pci' index='2' model='pci-bridge'> <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/> </controller> <controller type='ide' index='0'/> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/> </controller> <filesystem type='mount' accessmode='passthrough'> <source dir='/mnt/user/XBMC/'/> <target dir='XBMCSettings'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/> </filesystem> <interface type='bridge'> <mac address='52:54:00:ba:a2:df'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/> </interface> <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/Kodibuntu.org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x02' slot='0x06' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/> </source> <address type='pci' domain='0x0000' bus='0x02' slot='0x07' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x046d'/> <product id='0xc52b'/> </source> </hostdev> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x02' slot='0x08' function='0x0'/> </memballoon> </devices> </domain> Then, full shutdown, disconnect power, cold boot... still getting terminal output on the monitor during boot. Attempt to start VM results in: 2015-07-08 16:13:04.029+0000: starting up libvirt version: 1.2.15, qemu version: 2.3.0 LC_ALL=C PATH=/bin:/sbin:/usr/bin:/usr/sbin HOME=/ QEMU_AUDIO_DRV=none /usr/bin/qemu-system-x86_64 -name Kodibuntu -S -machine pc-q35-2.3,accel=kvm,usb=off,mem-merge=off -cpu host -drive file=/usr/share/qemu/ovmf-x64/OVMF-pure-efi.fd,if=pflash,format=raw,unit=0 -m 2048 -realtime mlock=on -smp 2,sockets=1,cores=2,threads=1 -uuid ad55ac2e-871a-04af-5d92-1c325046b84e -nographic -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Kodibuntu.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -boot strict=on -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 -device ich9-usb-ehci1,id=usb,bus=pci.2,addr=0x3.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.2,multifunction=on,addr=0x3 -device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x4 -drive file=/mnt/user/VM/ice vfio-pci,host=01:00.1,id=hostdev1,bus=pci.2,addr=0x7 -device usb-host,hostbus=9,hostaddr=2,id=hostdev2 -device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x8 -msg timestamp=on Domain id=2 is tainted: high-privileges Domain id=2 is tainted: host-cpu char device redirected to /dev/pts/0 (label charserial0) 2015-07-08T16:13:04.441339Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,id=hostdev0,bus=pci.2,addr=0x6: vfio: failed to set iommu for container: Operation not permitted 2015-07-08T16:13:04.441380Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,id=hostdev0,bus=pci.2,addr=0x6: vfio: failed to setup container for group 13 2015-07-08T16:13:04.441391Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,id=hostdev0,bus=pci.2,addr=0x6: vfio: failed to get group 13 2015-07-08T16:13:04.441404Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,id=hostdev0,bus=pci.2,addr=0x6: Device initialization failed 2015-07-08T16:13:04.441418Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,id=hostdev0,bus=pci.2,addr=0x6: Device 'vfio-pci' could not be initialized 2015-07-08 16:13:04.481+0000: shutting down Any editing I do for anything not Windows related, I use Notepad++.
July 8, 201510 yr Unless you can get unRAID to not use the card, I would assume you are SOL. I believe Jon may have some tricks up his sleeve, however it is surprising that stubbing it has no useful effect on this.
July 8, 201510 yr Author Well... reading this page for archlinux it looks like I may need a second GPU. Which means I either get a PCI GPU or a different motherboard with more PCI-E slots as the current one only has one x16, one x4, and two x1 slots. The sad part is, I have a 990FX board (two x16, one x4, one x1)... however it has a damaged CPU socket and the manufacturer refused to repair it... silly ASRock. PCI GPU idea comes from this post
July 8, 201510 yr Unless you can get unRAID to not use the card, I would assume you are SOL. I believe Jon may have some tricks up his sleeve, however it is surprising that stubbing it has no useful effect on this. You can pass through the card even though unraid outputs to the card after stubbing it. It works with my hardware. From what I know there isn't any reason to hide the card from unraid as unraid doesn't load any drivers for it.
July 8, 201510 yr Author Unless you can get unRAID to not use the card, I would assume you are SOL. I believe Jon may have some tricks up his sleeve, however it is surprising that stubbing it has no useful effect on this. You can pass through the card even though unraid outputs to the card after stubbing it. It works with my hardware. From what I know there isn't any reason to hide the card from unraid as unraid doesn't load any drivers for it. What is your build though? Also, include any relevant BIOS settings that had to be changed.
July 8, 201510 yr Unless you can get unRAID to not use the card, I would assume you are SOL. I believe Jon may have some tricks up his sleeve, however it is surprising that stubbing it has no useful effect on this. You can pass through the card even though unraid outputs to the card after stubbing it. It works with my hardware. From what I know there isn't any reason to hide the card from unraid as unraid doesn't load any drivers for it. What is your build though? Also, include any relevant BIOS settings that had to be changed. I used Version 6.0.0. I have a Gigabyte ds3p motherboard and a Gainward gtx 760 and 5450 that I don't remember the brand of. I only had to enable the iommu option in the BIOS. The gtx 760 only works when in the second pcie slot, but I'm not sure if its the motherboard or the gtx that is the problem. I did put some options for iommu in my syslinux.cfg, but I'm away on vacation and my PC is turned off, so can't check until next week.
July 8, 201510 yr Well, that looks like another kick in the pants requiring a second GPU. Not really. The 5450 ( It might be 6450) works in the first pcie slot. You should not worry about the fact that unraid uses the card for the console as unraid doesn't bind the card. When unraid starts the VM it does the binding to vfio automatically and switches the card to the VM. I haven't really read through your thread, so I'm not sure what your problem is. But it might be that your motherboard doesn't fully support iommu.
July 8, 201510 yr Author Tenativly marking this solved. Found this post put that in my syslinux.cfg along with my stub for the GPU/sound card and I have Unbuntu 12.04 LTS on my TV out the HDMI port! Now I just need to figure out how to pass my CIR header (Device IO=220h, IRQ=10) to the VM that will become my HTPC once I build an OpenELEC with VirtIO.
July 8, 201510 yr I was just about to post parts of that line for you to try, after digging around in the back of my mind
July 8, 201510 yr I'm glad that you got it working, and I also learned a thing or two about being able to assign a GPU to a VM being used by unRAID (minus IGP of course....lame!..LOL).
July 8, 201510 yr Author I was just about to post parts of that line for you to try, after digging around in the back of my mind Well, if you're bored, I do need help getting that CIR header passed through to the VM. When I had this MB as a bare metal machine in Windows or OpenELEC it worked fine... however, it doesn't show up in the device list in unRAID nor can I pin it down in the pci tables.
July 8, 201510 yr What is a CIR header? Infrared? I would guess it is serial based, so you might be able to use this for passing through <hostdev mode='capabilities' type='misc'> <source> <char>/dev/ttyS0</char> </source> </hostdev> Where /dev/ttyS0 is the device you are passing through. You will have to change it to match your device. I do not know if this will work, but hopefully it does
July 8, 201510 yr Author What is a CIR header? Infrared? I would guess it is serial based, so you might be able to use this for passing through <hostdev mode='capabilities' type='misc'> <source> <char>/dev/ttyS0</char> </source> </hostdev> Where /dev/ttyS0 is the device you are passing through. You will have to change it to match your device. I do not know if this will work, but hopefully it does Yeah, CIR = Consumer Infrared Receiver. Guess I just need to hunt down that device. Going to make a separate thread since this is a different issue.
July 22, 201510 yr Author Will the solution at the top also apply to Intel hardware? Unlikely as it is AMD specific tags in the configuration. I would start your own thread.
Archived
This topic is now archived and is closed to further replies.