<div dir="ltr">I realized that I don't quite understand how does the ROM file that we can pass in QEMU command line work. I have three cards of the same model but coming from the different vendors. When I extract ROMs from these cards, I get different files. The card on the boot slot gives a much smaller file and other two cards give files of slightly different sizes:<div><br><div><div>-rw-rw-r--  1 nick nick 118784 Dec 14 21:53 vbiosrx480_03.rom</div><div>-rw-rw-r--  1 nick nick  58880 Dec 14 21:53 vbiosrx480_04.rom</div><div>-rw-rw-r--  1 nick nick 118272 Dec 14 19:57 vbiosrx480_06.rom</div></div><div><br></div></div><div>I am also seeing the following error in dmesg:</div><div><div>[Sat Jan  6 09:26:58 2018] vfio-pci 0000:04:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff</div><div>[Sat Jan  6 09:26:58 2018] vfio-pci 0000:04:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff</div></div><div><br></div><div>But other than that the card actually works without issues. So, the questions I have are:</div><div><br></div><div>1) What is the significance of this ROM file and why is it needed?</div><div>2) What would happen if I apply some changes to it? For example, I can edit it in Polaris bios editor. If I change the memory timings and use that changed file, will it take effect when this GPU is assigned to a VM or would the actual flashed bios take precedence?</div><div>3) What should I expect if I use bios from one maker of, say, Radeon 480 RX on the same model another maker (i.e. Sapphire vs AMD)?</div><div><br></div><div>Thank you,</div><div>Nick</div><div><br></div><div><br></div></div>