[vfio-users] amd rx480 invalid rom contents
P. Pronk
vfio at pronk.nl
Mon Jan 23 23:24:50 UTC 2017
That would be interesting to see indeed. Actually I bought the RX460
because first I wanted to use my old HD7850, but then my pc didnt even
want to boot (linux, didnt try windows). It just hanged seconds after
grub loading with a lot of those PCIe Bus Error's. Then I tried a couple
Nvidia NVS295's I had but I couldnt get them to work properly (driver
issues which caused mismatching colours).
Probably there is just something wrong with that MSI RX480, as it gave
those PCI-E Bus Error's also when it was the only GPU in my system
(while I was waiting for the RX460). But then again, it's strange that
the rom could be extracted correctly with GPU-Z under Windows.
I did a Unique Heaven test and the results where not bad, ~1350 points
and 53fps. But during some scenes it seemed the camera movement slowed
down and then sped up significantly a couple of times. It didnt look
like that was intentionaly but that said there was no drop in fps. Will
do some more tests tomorrow as I am also not yet really happy with the
sound quality (too much noise sometimes).
Yes, I extracted the uefi bios from
edk2.git-ovmf-x64-0-20170120.b2426.gaa961de.noarch.rpm. See xml below.
Cheers, Pim
--------------------------
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
<name>win8</name>
<uuid>8a96e6b2-6396-4e84-ba3b-dedcb1e3d997</uuid>
<memory unit='KiB'>8388608</memory>
<currentMemory unit='KiB'>8388608</currentMemory>
<memoryBacking>
<hugepages/>
</memoryBacking>
<vcpu placement='static'>4</vcpu>
<cputune>
<vcpupin vcpu='0' cpuset='2'/>
<vcpupin vcpu='1' cpuset='3'/>
<vcpupin vcpu='2' cpuset='6'/>
<vcpupin vcpu='3' cpuset='7'/>
</cputune>
<numatune>
<memory mode='preferred' nodeset='0'/>
</numatune>
<os>
<type arch='x86_64' machine='pc-i440fx-xenial'>hvm</type>
<loader readonly='yes'
type='pflash'>/usr/share/ovmf/OVMF-win8.fd</loader>
<nvram>/var/lib/libvirt/qemu/nvram/win8_VARS.fd</nvram>
<bootmenu enable='no'/>
</os>
<features>
<acpi/>
<apic/>
<hyperv>
<relaxed state='on'/>
<vapic state='on'/>
<spinlocks state='on' retries='8191'/>
</hyperv>
</features>
<cpu mode='host-model'>
<model fallback='allow'/>
<topology sockets='1' cores='2' threads='2'/>
</cpu>
<clock offset='localtime'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>
<timer name='hpet' present='no'/>
<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>/usr/bin/kvm-spice</emulator>
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source
dev='/dev/disk/by-path/ip-192.168.1.2:3260-iscsi-iqn.2017-01.nl.serv:zpool.virtual-lun-0'/>
<target dev='sda' bus='scsi'/>
<boot order='1'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<controller type='pci' index='0' model='pci-root'/>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01'
function='0x2'/>
</controller>
<controller type='scsi' index='0' model='virtio-scsi'>
<driver queues='4'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02'
function='0x0'/>
</controller>
<interface type='bridge'>
<mac address='52:54:00:f4:37:6f'/>
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03'
function='0x0'/>
</interface>
<sound model='ich6'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04'
function='0x0'/>
</sound>
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</source>
<rom file='/var/lib/libvirt/roms/113-MSITV341MH.152.rom'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05'
function='0x0'/>
</hostdev>
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/>
</source>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a'
function='0x0'/>
</hostdev>
<hostdev mode='subsystem' type='usb' managed='yes'>
<source>
<vendor id='0x0141'/>
<product id='0x2d55'/>
</source>
</hostdev>
<hostdev mode='subsystem' type='usb' managed='yes'>
<source>
<vendor id='0x0168'/>
<product id='0xc11d'/>
</source>
</hostdev>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x08'
function='0x0'/>
</memballoon>
</devices>
<qemu:commandline>
<qemu:env name='QEMU_PA_SAMPLES' value='4096'/>
<qemu:env name='QEMU_AUDIO_DRV' value='pa'/>
<qemu:env name='QEMU_PA_SERVER' value='/run/user/1000/pulse/native'/>
</qemu:commandline>
</domain>
On 23/01/17 22:51, Scott wrote:
> Hi
>
> I downloaded a rom from the Internets. There is a common site that
> has a library of them. I have been meaning to try without the rom
> file too. Not sure it's necessary.
>
> I think you have a tougher time because you have two AMD cards. I am
> able to blacklist the AMD driver completely because my "other card" is
> Intel.
>
> Are you using the uefi bios for your virtual machine?
>
> scott
>
> On Jan 23, 2017 9:37 AM, "P. Pronk" <vfio at pronk.nl
> <mailto:vfio at pronk.nl>> wrote:
>
> On 2017-01-23 12:13, Manuel Ullmann wrote:
>
> depending on the Polaris being a reference card
>
> Thanks for your comments, but it seems the MSI Gaming X series is
> not a reference card (its factory overclocked).
>
> So the vBios being bricked by the manufacturr should be also
> kept in mind.
>
> I dont think this is the case here, as using GPU-Z under Windows
> shows a valid EFI rom. It seems a Linux issue only, I have
> submitted a case with MSI to see what they say.
>
> On 23/01/17 02:46, Scott wrote:
>
> Here is my xml in case it helps:
>
> Thanks, if I add the rom (the one I saved using GPU-Z under
> Windows) my display turns on.
>
> Unfortunately it didnt work then yet, as my dmesg was flooded with
> the following message:
> vfio-pci 0000:01:00.0: BAR 0: can't reserve [mem
> 0xc0000000-0xcfffffff 64bit pref]
>
> This was caused due grub loading vesafb for the RX480 as the
> graphical terminal was enabled. So in /etc/default/grub I had to
> add GRUB_GFXPAYLOAD_LINUX="text" and disable 'GRUB_GFXMODE' (not
> sure about the last one as maybe thats implicit but it doesnt hurt
> either).
>
> Unfortunately that does mean I cant use ddccontrol it seems, as
> that complains about missing a framebuffer driver. Therefore I've
> also asked Asus whether they plan to support choosing the primary
> vga slot like Gigabyte does and they said 'they will discuss this
> internally'.
> My Asus support agent actually had never heard of vfio before and
> repeatedly said that Asus only supports multiple GPU's when using
> SLI/Crossfire. So maybe if more people would contact their local
> Asus support agent and request this feature they are more willing
> to look at it? Who takes the hint? ;)
>
> I had to install the driver twice as the first time the install
> failed, but at the moment the GPU appears to be working correctly.
> Now first on to sound before I do some 3D testing.
>
> Kind rgds, Pim
>
>
> Best regards,
> Manuel
>
> Here is my xml in case it helps:
>
> <domain type='kvm'>
> <name>dozer</name>
> <uuid>989e9ee8-2e0a-asdf-asdf-00a41fdb1b31</uuid>
> <title>dozer</title>
> <memory unit='KiB'>8388608</memory>
> <currentMemory unit='KiB'>8388608</currentMemory>
> <memoryBacking>
> <hugepages/>
> </memoryBacking>
> <vcpu placement='static'>4</vcpu>
> <cputune>
> <vcpupin vcpu='0' cpuset='4'/>
> <vcpupin vcpu='1' cpuset='5'/>
> <vcpupin vcpu='2' cpuset='6'/>
> <vcpupin vcpu='3' cpuset='7'/>
> </cputune>
> <os>
> <type arch='x86_64' machine='pc-i440fx-xenial'>hvm</type>
> <loader readonly='yes'
> type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader>
> <nvram>/var/lib/libvirt/qemu/nvram/dozer_VARS.fd</nvram>
> <boot dev='hd'/>
> </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='rtc' tickpolicy='catchup'/>
> <timer name='pit' tickpolicy='delay'/>
> <timer name='hpet' present='no'/>
> <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>/usr/bin/kvm-spice</emulator>
> <disk type='file' device='disk'>
> <driver name='qemu' type='qcow2'/>
> <source file='/var/lib/libvirt/images/dozer.qcow2'/>
> <target dev='sda' bus='scsi'/>
> <address type='drive' controller='0' bus='0' target='0'
> unit='0'/>
> </disk>
> <disk type='block' device='disk'>
> <driver name='qemu' type='raw' cache='none' io='native'/>
> <source dev='/dev/sdb1'/>
> <target dev='sdb' bus='scsi'/>
> <address type='drive' controller='0' bus='0' target='0'
> unit='1'/>
> </disk>
> <controller type='usb' index='0' model='ich9-ehci1'>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x06'
> function='0x7'/>
> </controller>
> <controller type='usb' index='0' model='ich9-uhci1'>
> <master startport='0'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x06'
> function='0x0' multifunction='on'/>
> </controller>
> <controller type='usb' index='0' model='ich9-uhci2'>
> <master startport='2'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x06'
> function='0x1'/>
> </controller>
> <controller type='usb' index='0' model='ich9-uhci3'>
> <master startport='4'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x06'
> function='0x2'/>
> </controller>
> <controller type='scsi' index='0' model='virtio-scsi'>
> <driver queues='4'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x05'
> function='0x0'/>
> </controller>
> <controller type='pci' index='0' model='pci-root'/>
> <interface type='network'>
> <mac address='52:54:00:bb:4f:3b'/>
> <source network='default'/>
> <model type='virtio'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x03'
> function='0x0'/>
> </interface>
> <interface type='bridge'>
> <mac address='52:54:00:de:52:c9'/>
> <source bridge='br0'/>
> <model type='virtio'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x09'
> function='0x0'/>
> </interface>
> <hostdev mode='subsystem' type='pci' managed='yes'>
> <source>
> <address domain='0x0000' bus='0x01' slot='0x00'
> function='0x0'/>
> </source>
> <rom file='/var/lib/libvirt/roms/MSI.RX480.4096.160720.rom'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x02'
> function='0x0'/>
> </hostdev>
> <hostdev mode='subsystem' type='pci' managed='yes'>
> <source>
> <address domain='0x0000' bus='0x01' slot='0x00'
> function='0x1'/>
> </source>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
> function='0x0'/>
> </hostdev>
> <hostdev mode='subsystem' type='usb' managed='yes'>
> <source>
> <vendor id='0x24f0'/>
> <product id='0x0137'/>
> </source>
> </hostdev>
> <hostdev mode='subsystem' type='usb' managed='yes'>
> <source>
> <vendor id='0x1532'/>
> <product id='0x0016'/>
> </source>
> </hostdev>
> <hostdev mode='subsystem' type='usb' managed='yes'>
> <source>
> <vendor id='0x045e'/>
> <product id='0x070f'/>
> </source>
> </hostdev>
> <memballoon model='virtio'>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x08'
> function='0x0'/>
> </memballoon>
> </devices>
> </domain>
>
> On Sun, Jan 22, 2017 at 4:30 PM, P. Pronk <vfio at pronk.nl
> <mailto:vfio at pronk.nl>> wrote:
>
> Thanks, that's good to know and I will try to specify
> the rom.
>
> In the mean time, do you know which bios revision your
> card has?
> The other revision is
> https://www.techpowerup.com/vgabios/185395/msi-rx480-8192-160719
> <https://www.techpowerup.com/vgabios/185395/msi-rx480-8192-160719>
>
> So is it 113-MSITV341MH.151 or 113-MSITV341MH.152 ?
>
> Pim
>
>
>
> On 2017-01-22 20:46, Scott wrote:
>
> I have that msi rx480 card working with pass through.
>
> Note I had a much easier time using the uefi bios.
> I am
> currently
> specifying a rom file in my XML for my video card
> but I don't
> think
> that's entirely necessary.
>
> scott
>
> On Jan 22, 2017 12:47 PM, "P. Pronk"
> <vfio at pronk.nl <mailto:vfio at pronk.nl>> wrote:
>
> On Sun, 22 Jan 2017 11:55:57 +1100, Luke
> Yelavich
> wrote:
>
> Who is the manufacturer of both
> your AMD
> cards? So far as I
> understand
> things, its up to the manufacturer of the
> card to
> provide the
> appropriate ROM
> to suit the configuration of the card. Its
> likely that
> a ROM/BIOS
> update may
> fix your RX 480 card. Do both cards work
> under a pure
> Windows
> environment?
>
>
> That's a simple question but a difficult
> answer to get a
> pure
> Windows environment working again ;)
>
> Anyway, I got the following results after
> using GPU-Z
> under Windows:
> The RX480 is a MSI Gaming X 8G:
> https://www.techpowerup.com/vgabios/187387/187387
> <https://www.techpowerup.com/vgabios/187387/187387> [1]
> and the RX460 is a XFX R460P4TFG5:
> https://www.techpowerup.com/vgabios/189230/189230
> <https://www.techpowerup.com/vgabios/189230/189230> [2]
>
> Cheers, Pim
>
> _______________________________________________
> vfio-users mailing list
> vfio-users at redhat.com <mailto:vfio-users at redhat.com>
> https://www.redhat.com/mailman/listinfo/vfio-users
> <https://www.redhat.com/mailman/listinfo/vfio-users> [3]
>
>
> Links:
> ------
> [1]
> https://www.techpowerup.com/vgabios/187387/187387
> <https://www.techpowerup.com/vgabios/187387/187387>
> [2]
> https://www.techpowerup.com/vgabios/189230/189230
> <https://www.techpowerup.com/vgabios/189230/189230>
> [3]
> https://www.redhat.com/mailman/listinfo/vfio-users
> <https://www.redhat.com/mailman/listinfo/vfio-users>
>
>
>
> _______________________________________________
> vfio-users mailing list
> vfio-users at redhat.com <mailto:vfio-users at redhat.com>
> https://www.redhat.com/mailman/listinfo/vfio-users
> <https://www.redhat.com/mailman/listinfo/vfio-users>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20170124/a86c8008/attachment.htm>
More information about the vfio-users
mailing list