On Mon, 30 Aug 2021 at 21:29, Programmingkid <programmingk...@gmail.com> wrote: > I found out that there are two pc-bios folders. One in the root directory > and one in the build directory. QEMU is looking in the pc-bios folder > located inside the build folder. The qemu_vga.ndrv file is only located > in the root directory pc-bios folder. I think a good solution to this > issue is to first remove one of the pc-bios folders. I'm not sure if it > is just me who has two pc-bios folders or if everyone does.
Having two pc-bios folders is expected. The one in the source tree is the one which has the files we actually carry around in git. The one in the build tree is created by 'configure' and populated with symbolic links back to the files in the source tree. We need this one because the QEMU executable doesn't (and shouldn't) know where the source tree is: when it is looking for files it will look in places relative to the location of the executable itself (ie relative to the build tree) as well as places set by configure (used when you install QEMU and its various supporting files). The reason qemu_vga.ndrv is not in the pc-bios folder in the build tree is because when that file was added we forgot to add handling for it in configure. I'm not sure why nobody else has fallen over this in the intervening 3 years: running QEMU from the build tree will never find the file, and it will not be installed via 'make install' either. (The pc-bios symlink stuff is a bit of a mess, as the comment about it in configure notes. Perhaps meson now offers a cleaner way to handle this? In particular pc-bios/meson.build already has to carry around a complete list of all the bios blobs, so it could probably create the symlink farm itself.) thanks -- PMM