If you want, here is a working i440fx libvirt xml file using r9 290 I would say much thing about your command line:
- You are not using OVMF. For modern cards, i think it is much more suitable. - Is your R9 your boot card? If it is the case, it is 'initailized' by linux a way or another. This is not good :/ - I would delete ALL unneeded devices like your second passed through device, second drive, sound card... To target only your problematic device - Why providing the rom file of the card? Are you trying to make it pass for another one? (like providing a r9 290x rom for a r9 290?) - Do you use isolcpu? Or any kind of cpu pinning? Actually libvirt is quite easy to configure and provide much more interesting features like cpu pinning... -- Deldycke Quentin On 22 August 2017 at 16:12, Jiri Novak <jiri.no...@ghorland.net> wrote: > Hi, > > not sure in this case, with other GPU, R7 240 it works fine, there's > nothing else on the same iommu group than the gpu and it's soundcard. > When I started teting out things like this some time ago libvirt didn't > allow to set up all the things that were needes for vga passthrough, so > I've just trashed and stayed like that :) Might retry now on debian 9, if > it supports what I need or not. > Anyway, with libvirt it's usually more difficult to fix the wrong > commandline so I'm trying to find out what is actually wrong to be able to > fix it, not to hope libvirt will work out of the box and if not, I'm doomed > :) > > Gh. > > Quentin Deldycke wrote: > > Hello, > > I think that first, you should use libvirt. > I believe that most bugs are from a badly made qemu command line, bad > isolations or stull like this. > > Libvirt => less pain, more working vms! > > > > -- > Deldycke Quentin > > > On 22 August 2017 at 13:16, Jiri Novak <jiri.no...@ghorland.net> wrote: > >> Hi, >> >> I've got back again to testing the RX 480 setup with tips I got >> previously (like using i440fx instead of q35) and got a bit further, now >> I can run it at least in 2D mode (if I use driver from windows update) >> on windows 10 rev 1703. >> >> If I install full driver from AMD website, the host hangs during install >> and after that, it runs about 2-3minutes after boot until it hangs. >> With driver from windows update, it hangs when I run any game. >> >> Any ideas what to try next, how to find out what's wrong? >> >> Qemu commandline: >> >> LC_ALL=C >> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin >> QEMU_AUDIO_DRV=pa /usr/bin/taskset -c 4-7,20-23 >> /usr/bin/qemu-system-x86_64 \ >> -name 12-wingame \ >> -machine pc-i440fx-2.8,accel=kvm,usb=off \ >> -cpu host \ >> -object >> memory-backend-file,id=mem0,size=16G,mem-path=/dev/hugepages1g,share=off >> \ >> -numa node,nodeid=0,memdev=mem0 \ >> -m 16G \ >> -realtime mlock=off \ >> -smp sockets=1,cores=4,threads=2 \ >> -uuid 4baaaaaa-aaf5-aaaaaa-919d-aaaaaaacaaaa \ >> -nographic -no-user-config -nodefaults -no-hpet \ >> -rtc base=localtime,driftfix=slew \ >> -global kvm-pit.lost_tick_policy=discard \ >> -boot d \ >> -drive >> file=/dev/Z-ssd/qemu/12-wingame,if=none,id=drive-virtio- >> disk0,format=raw,cache=none,aio=native >> \ >> -drive >> file=/dev/Z-ssd/data/games-blizzard,if=none,id=drive-virtio- >> disk1,format=raw,cache=none,aio=native >> \ >> -device virtio-scsi-pci,bus=pci.0,addr=0x5 \ >> -device scsi-hd,drive=drive-virtio-disk0 \ >> -device scsi-hd,drive=drive-virtio-disk1 \ >> -netdev tap,id=netdev0,ifname=V0300t12,script=no,downscript=no \ >> -device >> virtio-net-pci,netdev=netdev0,id=net0,mac=42:42:42:00:00:0c, >> bus=pci.0,addr=0x6 >> \ >> -device >> vfio-pci,host=02:00.0,id=hostdev6,bus=pci.0,multifunction= >> on,addr=0x3,x-vga=on,romfile=/root/roms/Sapphire.RX480.4096.161002.rom >> \ >> -device vfio-pci,host=02:00.1,id=hostdev7,bus=pci.0,addr=0x3.0x1 \ >> -device vfio-pci,host=07:00.0,id=hostdev2,bus=pci.0,addr=0x4 \ >> -vga none \ >> -soundhw hda \ >> -device virtio-rng-pci \ >> -chardev stdio,id=seabios \ >> -device isa-debugcon,iobase=0x402,chardev=seabios \ >> -msg timestamp=on \ >> >>/var/log/kvm/12-wingame.stdout 2>>/var/log/kvm/12-wingame.stderr & >> >> Usually I don't manage to get any error, though once the host managed to >> spit out this to console (when it crashed after 2 minutes with amd driver) >> >> INFO: rcu_sched detected stalls on CPUs/tasks: >> [ 1558.573332] 2-...: (0 ticks this GP) idle=a16/0/0 >> softirq=17601/17601 fqs=1 >> [ 1558.573400] 17-...: (1 GPs behind) idle=9c8/0/0 >> softirq=13311/13311 fqs=1 >> [ 1558.573452] 20-...: (24 GPs behind) idle=be0/0/0 >> softirq=30971/30972 fqs=1 >> [ 1558.573505] 21-...: (4 GPs behind) idle=4a0/0/0 >> softirq=26182/26183 fqs=1 >> [ 1558.573557] 23-...: (0 ticks this GP) idle=b45/140000000000000/0 >> softirq=30549/30549 fqs=1 >> [ 1558.573615] (detected by 14, t=5252 jiffies, g=47014, c=47013, >> q=40045) >> [ 1558.573670] Task dump for CPU 2: >> [ 1558.573672] swapper/2 R running task 0 0 1 >> 0x00200008 >> [ 1558.573680] 0000000000000083 640fb4432252d28b 0000016601c54f00 >> 0000000000000002 >> [ 1558.573685] ffffffffb78b2320 0000000000000004 ffffffffb7205d60 >> ffffffffb78b2320 >> [ 1558.573689] ffffc24a4028a0d0 ffffffffb78b2518 0000000000000005 >> ffffffffb70cbb2a >> [ 1558.573693] Call Trace: >> [ 1558.573705] [<ffffffffb7205d60>] ? intel_idle+0x100/0x110 >> [ 1558.573712] [<ffffffffb70cbb2a>] ? cpuidle_enter_state+0xea/0x2b0 >> [ 1558.573717] [<ffffffffb6cb9504>] ? cpu_startup_entry+0x154/0x240 >> [ 1558.573721] [<ffffffffb6c4805d>] ? start_secondary+0x14d/0x190 >> [ 1558.573724] Task dump for CPU 17: >> [ 1558.573726] swapper/17 R running task 0 0 1 >> 0x00200008 >> [ 1558.573729] 0000000000000083 fc4308ad94b8ed74 0000016749d5af00 >> 0000000000000011 >> [ 1558.573734] ffffffffb78b2320 0000000000000004 ffffffffb7205d60 >> ffffffffb78b2320 >> [ 1558.573737] ffffc24a4044a0d0 ffffffffb78b2518 0000000000000005 >> ffffffffb70cbb2a >> [ 1558.573741] Call Trace: >> [ 1558.573746] [<ffffffffb7205d60>] ? intel_idle+0x100/0x110 >> [ 1558.573750] [<ffffffffb70cbb2a>] ? cpuidle_enter_state+0xea/0x2b0 >> [ 1558.573753] [<ffffffffb6cb9504>] ? cpu_startup_entry+0x154/0x240 >> [ 1558.573756] [<ffffffffb6c4805d>] ? start_secondary+0x14d/0x190 >> [ 1558.573758] Task dump for CPU 20: >> [ 1558.573759] swapper/20 R running task 0 0 1 >> 0x00200008 >> [ 1558.573763] 0000000000000083 39fde3c30b22afa7 0000016b9477af00 >> 0000000000000014 >> [ 1558.573767] ffffffffb78b2320 0000000000000004 ffffffffb7205d60 >> ffffffffb78b2320 >> [ 1558.573771] ffffc24a4050a0d0 ffffffffb78b2518 0000000000000005 >> ffffffffb70cbb2a >> [ 1558.573774] Call Trace: >> [ 1558.573778] [<ffffffffb7205d60>] ? intel_idle+0x100/0x110 >> [ 1558.573782] [<ffffffffb70cbb2a>] ? cpuidle_enter_state+0xea/0x2b0 >> [ 1558.573785] [<ffffffffb6cb9504>] ? cpu_startup_entry+0x154/0x240 >> [ 1558.573788] [<ffffffffb6c4805d>] ? start_secondary+0x14d/0x190 >> [ 1558.573790] Task dump for CPU 21: >> [ 1558.573792] swapper/21 R running task 0 0 1 >> 0x00200008 >> [ 1558.573795] 0000000000000083 6b8f35123dc25bdb 0000016b9477af00 >> 0000000000000015 >> [ 1558.573799] ffffffffb78b2320 0000000000000004 ffffffffb7205d60 >> ffffffffb78b2320 >> [ 1558.573803] ffffc24a4054a0d0 ffffffffb78b2518 0000000000000005 >> ffffffffb70cbb2a >> [ 1558.573806] Call Trace: >> [ 1558.573810] [<ffffffffb7205d60>] ? intel_idle+0x100/0x110 >> [ 1558.573814] [<ffffffffb70cbb2a>] ? cpuidle_enter_state+0xea/0x2b0 >> [ 1558.573817] [<ffffffffb6cb9504>] ? cpu_startup_entry+0x154/0x240 >> [ 1558.573820] [<ffffffffb6c4805d>] ? start_secondary+0x14d/0x190 >> [ 1558.573822] Task dump for CPU 23: >> [ 1558.573824] qemu-system-x86 R running task 0 18608 1 >> 0x00000800 >> [ 1558.573827] 0000000000000000 ffffffffc1551560 0000000000000000 >> 0000000000000000 >> [ 1558.573831] ffff9404e1c00040 ffffffffc153d9a7 0000000000000000 >> ffff9404e1c02760 >> [ 1558.573835] ffffffffc1519882 0000000000000000 ffff9404e1c02760 >> 0000000000000004 >> [ 1558.573839] Call Trace: >> [ 1558.573882] [<ffffffffc153d9a7>] ? x86_emulate_insn+0x257/0xcf0 [kvm] >> [ 1558.573909] [<ffffffffc1519882>] ? >> emulator_pio_in_emulated+0x102/0x190 [kvm] >> [ 1558.573937] [<ffffffffc1539d31>] ? writeback+0x61/0x210 [kvm] >> [ 1558.573962] [<ffffffffc1535e1d>] ? writeback_registers+0x4d/0x60 [kvm] >> [ 1558.573972] [<ffffffffc09dc21f>] ? atomic_switch_perf_msrs+0x6f/0xa0 >> [kvm_intel] >> [ 1558.574011] [<ffffffffc15252e3>] ? >> kvm_arch_vcpu_ioctl_run+0x6b3/0x1600 [kvm] >> [ 1558.574035] [<ffffffffc151f2fb>] ? kvm_arch_vcpu_load+0x5b/0x270 [kvm] >> [ 1558.574039] [<ffffffffb6c30765>] ? __kernel_fpu_end+0x35/0x100 >> [ 1558.574059] [<ffffffffc150b4b5>] ? kvm_vcpu_ioctl+0x315/0x5d0 [kvm] >> [ 1558.574063] [<ffffffffb6ca1800>] ? wake_up_q+0x70/0x70 >> [ 1558.574066] [<ffffffffb6cb8799>] ? __wake_up_common+0x49/0x80 >> [ 1558.574069] [<ffffffffb6e1603f>] ? do_vfs_ioctl+0x9f/0x600 >> [ 1558.574092] [<ffffffffc151b898>] ? kvm_on_user_return+0x68/0xa0 [kvm] >> [ 1558.574094] [<ffffffffb6e16614>] ? SyS_ioctl+0x74/0x80 >> [ 1558.574111] [<ffffffffb720627b>] ? system_call_fast_compare_end+0 >> xc/0x9b >> [ 1558.574116] rcu_sched kthread starved for 5248 jiffies! g47014 c47013 >> f0x2 RCU_GP_WAIT_FQS(3) ->state=0x100 >> [ 1558.574186] rcu_sched W 0 8 2 0x00000000 >> [ 1558.574189] ffff9414d1facc00 0000000000000000 ffff9404f8c3e080 >> ffff9404ffad8240 >> [ 1558.574193] ffff9404f8c6f0c0 ffffa25a400b7db0 ffffffffb72015d3 >> ffffa25a400b7de0 >> [ 1558.574197] 000000010004b899 ffff9404ffad8240 0000000000000003 >> ffff9404f8c3e080 >> [ 1558.574201] Call Trace: >> [ 1558.574205] [<ffffffffb72015d3>] ? __schedule+0x233/0x6d0 >> [ 1558.574208] [<ffffffffb7201aa2>] ? schedule+0x32/0x80 >> [ 1558.574211] [<ffffffffb7204dae>] ? schedule_timeout+0x17e/0x310 >> [ 1558.574217] [<ffffffffb6ce3e50>] ? del_timer_sync+0x50/0x50 >> [ 1558.574220] [<ffffffffb6cdd605>] ? rcu_gp_kthread+0x505/0x850 >> [ 1558.574223] [<ffffffffb6cb8799>] ? __wake_up_common+0x49/0x80 >> [ 1558.574226] [<ffffffffb6cdd100>] ? rcu_note_context_switch+0xe0/0xe0 >> [ 1558.574230] [<ffffffffb6c965d7>] ? kthread+0xd7/0xf0 >> [ 1558.574234] [<ffffffffb6c96500>] ? kthread_park+0x60/0x60 >> [ 1558.574238] [<ffffffffb72064f5>] ? ret_from_fork+0x25/0x30 >> >> Thanks, >> Gh. >> >> >> _______________________________________________ >> vfio-users mailing list >> vfio-users@redhat.com >> https://www.redhat.com/mailman/listinfo/vfio-users >> >> > >
<domain type='kvm'> <name>win10</name> <uuid>df565f2f-5743-494d-9a37-06cc3ef0801e</uuid> <memory unit='KiB'>20480000</memory> <currentMemory unit='KiB'>20480000</currentMemory> <memoryBacking> <hugepages/> </memoryBacking> <vcpu placement='static'>6</vcpu> <cputune> <vcpupin vcpu='0' cpuset='1'/> <vcpupin vcpu='1' cpuset='2'/> <vcpupin vcpu='2' cpuset='3'/> <vcpupin vcpu='3' cpuset='5'/> <vcpupin vcpu='4' cpuset='6'/> <vcpupin vcpu='5' cpuset='7'/> <emulatorpin cpuset='7'/> </cputune> <os> <type arch='x86_64' machine='pc-i440fx-2.4'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE-pure-efi.fd</loader> <nvram>/var/lib/libvirt/qemu/nvram/win10_VARS.fd</nvram> <bootmenu enable='yes'/> </os> <features> <acpi/> <apic/> <pae/> <hap state='on'/> <pvspinlock state='on'/> </features> <cpu mode='host-passthrough' check='none'> <topology sockets='1' cores='3' threads='2'/> <feature policy='disable' name='hypervisor'/> </cpu> <clock offset='localtime'> <timer name='rtc' present='yes' tickpolicy='catchup' track='guest'/> <timer name='pit' present='yes' tickpolicy='delay'/> <timer name='hpet' present='yes' tickpolicy='discard'/> <timer name='kvmclock' present='yes'/> <timer name='hypervclock' present='yes'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <pm> <suspend-to-mem enabled='no'/> <suspend-to-disk enabled='no'/> </pm> <devices> <emulator>/home/rholk/sbin/custqemu</emulator> <controller type='pci' index='0' model='pci-root'/> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller> <controller type='usb' index='0' model='nec-xhci'> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/> </controller> <channel type='unix'> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x00' slot='0x19' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </source> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x09' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0000' bus='0x0b' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0000' bus='0x0c' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/> </hostdev> <memballoon model='none'/> </devices> </domain>
_______________________________________________ vfio-users mailing list vfio-users@redhat.com https://www.redhat.com/mailman/listinfo/vfio-users