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 <[email protected]> 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 <[email protected]> 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
>> [email protected]
>> 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
[email protected]
https://www.redhat.com/mailman/listinfo/vfio-users