[vfio-users] amd rx480 invalid rom contents

P. Pronk vfio at pronk.nl
Fri Feb 10 23:23:54 UTC 2017


Follow-up on the issues I was experiencing, it looks like they are fixed 
by a new bios I got from MSI: 
https://www.techpowerup.com/vgabios/188263/188263

With this bios my PCIe Bus Errors are gone and I don't need to specify 
the rom file in the xml anymore.

Not sure if this is known to everyone, but I had some problems with the 
atiflash tool under linux as it did not recognise my RX480. It seems 
that this was because the RX480 rom's needs to be initialized before 
atiflash can access it. So in my case I needed to start my Windows 
virtual machine before atiflash recognised my card.

Kind rgds, Pim

On 23/01/17 15:37, P. Pronk 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> 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
>>>
>>>     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> 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 [1]
>>>             and the RX460 is a XFX R460P4TFG5:
>>>             https://www.techpowerup.com/vgabios/189230/189230 [2]
>>>
>>>             Cheers, Pim
>>>
>>>             _______________________________________________
>>>             vfio-users mailing list
>>>             vfio-users at redhat.com
>>>             https://www.redhat.com/mailman/listinfo/vfio-users [3]
>>>
>>>
>>>         Links:
>>>         ------
>>>         [1] https://www.techpowerup.com/vgabios/187387/187387
>>>         [2] https://www.techpowerup.com/vgabios/189230/189230
>>>         [3] https://www.redhat.com/mailman/listinfo/vfio-users
>>>
>>>
>>>
>>> _______________________________________________
>>> vfio-users mailing list
>>> vfio-users at redhat.com
>>> https://www.redhat.com/mailman/listinfo/vfio-users
>
> _______________________________________________
> vfio-users mailing list
> vfio-users at redhat.com
> https://www.redhat.com/mailman/listinfo/vfio-users




More information about the vfio-users mailing list