[Solved] OVMF OpenSUSE 15.1 UEFI not available in virt-manager

I see in youtube videos and the QEMU wiki to put in the exact command of a folder that I don’t have as a user nor the root user and that is for the UEFI to work which I need for my GPU (I believe). And I’m not even sure I’ve gotten the VFIO setup right yet so I’m going to make another topic for that.

In the meantime I want to get the UEFI option in virt manager to be visible but the commands aren’t giving me the correct path, and the files don’t match up at all!

so for the nvram =[
"/usr/share/ovmf I don’t have that folder. It’s named “ovmf-x86_64” and it doesn’t contain the following stuff:

(finishing the first part of the command)
/ovmf/x64 < that doesn’t exist either /OVMF_CODE.fd:/usr/share/ovmf/x64/OVMF_VARS.fd"]

So here’s a printout of the ls command for each of those folders

And before that: here’s my current (not saved yet) config file

nvram = [

"/usr/share/qemu/ovmf-x86_64-ms-4m-code.bin:/usr/share/qemu/ovmf-x86_64-ms-4m-var$

“/usr/share/qemu/ovmf-x86_64-ms-code.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin”,

]

The backend to use for handling stdout/stderr output from

QEMU processes.

tim@linux-lgui:/usr/share> ls ov*

gdb_uefi-ovmf-x86_64-4m.py
gdb_uefi-ovmf-x86_64-ms-4m.py
gdb_uefi-ovmf-x86_64-ms.py
gdb_uefi-ovmf-x86_64-opensuse-4096-4m.py
gdb_uefi-ovmf-x86_64-opensuse-4096.py
gdb_uefi-ovmf-x86_64-opensuse-4m.py
gdb_uefi-ovmf-x86_64-opensuse.py
gdb_uefi-ovmf-x86_64.py
gdb_uefi-ovmf-x86_64-suse-4m.py
gdb_uefi-ovmf-x86_64-suse.py

As you can tell I created this many times because the interface is trash, I can’t figure out how to modify an already created VM, so there you go.

So what directory do I go to to get the following command to work:

nvram = [
#   "/usr/share/qemu/ovmf-x86_64-ms-4m-code.bin:/usr/share/qemu/ovmf-x86_64-ms-4m-var$
#   "/usr/share/qemu/ovmf-x86_64-ms-code.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin",
]

Has this file given me the correct directory? Is the top line the one I uncomment? I don’t want to keep on creating VMs and having to delete them as it’s taking up space and I have to manually delete each one in multiple directories or find them with a disk usage program.

Thanks,

Tim.

According to OpenSuse’s Virtualization documentation you need to install qemu-ovmf-x86_64. Then you should get those folders and files you’re missing.
See more here.

I have that version but the files in the folder don’t match or don’t have the files listed in the command.

I just don’t know which file to use in the following text:

"/usr/share/qemu/ovmf-x86_64-ms-4m-code.bin:/usr/share/qemu/ovmf-x86_64-ms-4m-var$

“/usr/share/qemu/ovmf-x86_64-ms-code.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin”, ]

Which file do I use?

This is the example given in the configuration file. So does the command need to be modified to work for my system? What ls outputs do you need to know what directory will work?

Here is the ls of that folder:

tim@linux-lgui:/usr/share/qemu> ls ovmf*

ovmf-x86_64-4m.bin
ovmf-x86_64-4m-code.bin
ovmf-x86_64-4m-vars.bin
ovmf-x86_64.bin
ovmf-x86_64-code.bin
ovmf-x86_64-ms-4m.bin
ovmf-x86_64-ms-4m-code.bin
ovmf-x86_64-ms-4m-vars.bin
ovmf-x86_64-ms.bin
ovmf-x86_64-ms-code.bin
ovmf-x86_64-ms-vars.bin
ovmf-x86_64-opensuse-4096-4m.bin
ovmf-x86_64-opensuse-4096-4m-code.binovmf-x86_64-opensuse-4096-4m-vars.binovmf-x86_64-opensuse-4096.bin
ovmf-x86_64-opensuse-4096-code.bin
ovmf-x86_64-opensuse-4096-vars.bin
ovmf-x86_64-opensuse-4m.bin
ovmf-x86_64-opensuse-4m-code.bin
ovmf-x86_64-opensuse-4m-vars.bin
ovmf-x86_64-opensuse.bin
ovmf-x86_64-opensuse-code.bin
ovmf-x86_64-opensuse-vars.bin
ovmf-x86_64-suse-4m.bin
ovmf-x86_64-suse-4m-code.bin
ovmf-x86_64-suse-4m-vars.bin
ovmf-x86_64-suse.bin
ovmf-x86_64-suse-code.bin
ovmf-x86_64-suse-vars.bin
ovmf-x86_64-vars.bin
tim@linux-lgui:/usr/share/qemu>

/etc/libvirt/qemu.conf

nvram = [
“/usr/share/ovmf/x64/OVMF_CODE.fd:/usr/share/ovmf/x64/OVMF_VARS.fd”
]

That’s the command from the arch wiki so how do I match it for my system:

linux-lgui:/usr/share # cd ov*

linux-lgui:/usr/share/ovmf-x86_64 # ls
gdb_uefi-ovmf-x86_64-4m.py gdb_uefi-ovmf-x86_64-opensuse-4m.py
gdb_uefi-ovmf-x86_64-ms-4m.py gdb_uefi-ovmf-x86_64-opensuse.py
gdb_uefi-ovmf-x86_64-ms.py gdb_uefi-ovmf-x86_64.py
gdb_uefi-ovmf-x86_64-opensuse-4096-4m.py gdb_uefi-ovmf-x86_64-suse-4m.py
gdb_uefi-ovmf-x86_64-opensuse-4096.py gdb_uefi-ovmf-x86_64-suse.py
linux-lgui:/usr/share/ovmf-x86_64

While you all are viewing this and trying to figure it out as I am (I may just try uncommenting a line of text as a test), I’ve got another issue for a separate post:

My Nvidia GPU isn’t using VFIO:

tim@linux-lgui:~> sudo lspci -nnk -d 10de:2182
[sudo] password for root:
05:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:XXXX (rev a1)
Subsystem: eVga.com. Corp. Device [3842:XXXX
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia_drm,nvidia
tim@linux-lgui:~>

Did you install the qemu-ovmf-x86_64 package using OpenSuse’s repo’s (zypper / YaST)? The folders and files should have been created automatically then, including default OpenSuse configuration files.

Normally you should use the full filename when referencing a file and since the documentation have the full filenames listed, my guess is it’s the 2nd line that is correct.

I’m on Tumbleweed (not 15.1) and don’t use virtualization, so unless others chimes in with help, perhaps it’s better to ask in OpenSuse’s forum. Direct link to their Virtualization section is here (you need to register an account to be able to post of course).

#nvram = [“/usr/share/qemu/ovmf-x86_64-ms-code.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin”]

I’m trying that command and hopefully I’ll get UEFI access in virt-manager. O.K. that didn’t work, virt-manager says UEFI not found.

Also, I uncommented all three lines and still nothing:

follows this scheme.

nvram = [
“/usr/share/qemu/ovmf-x86_64-ms-4m-code.bin:/usr/share/qemu/ovmf-x86_64-ms-4m-vars.bin”,
“/usr/share/qemu/ovmf-x86_64-ms-code.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin”,
“/usr/share/qemu/aavmf-aarch64-code.bin:/usr/share/qemu/aavmf-aarch64-vars.bin”
]

Why can I not access the UEFI mode? These files exist and I can see them in the following directory:

linux-lgui:/home/tim # ls /usr/share/qemu/
bios-256k.bin
bios.bin
efi-e1000e.rom
efi-e1000.rom
efi-eepro100.rom
efi-ne2k_pci.rom
efi-pcnet.rom
efi-rtl8139.rom
efi-virtio.rom
efi-vmxnet3.rom
keymaps
kvmvapic.bin
linuxboot.bin
linuxboot_dma.bin
multiboot.bin
ovmf-x86_64-4m.bin
ovmf-x86_64-4m-code.bin
ovmf-x86_64-4m-vars.bin
ovmf-x86_64.bin
ovmf-x86_64-code.bin
ovmf-x86_64-ms-4m.bin
ovmf-x86_64-ms-4m-code.bin
ovmf-x86_64-ms-4m-vars.bin
ovmf-x86_64-ms.bin
ovmf-x86_64-ms-code.bin
ovmf-x86_64-ms-vars.bin
ovmf-x86_64-opensuse-4096-4m.bin
ovmf-x86_64-opensuse-4096-4m-code.bin
ovmf-x86_64-opensuse-4096-4m-vars.bin
ovmf-x86_64-opensuse-4096.bin
ovmf-x86_64-opensuse-4096-code.bin
ovmf-x86_64-opensuse-4096-vars.bin
ovmf-x86_64-opensuse-4m.bin
ovmf-x86_64-opensuse-4m-code.bin
ovmf-x86_64-opensuse-4m-vars.bin
ovmf-x86_64-opensuse.bin
ovmf-x86_64-opensuse-code.bin
ovmf-x86_64-opensuse-vars.bin
ovmf-x86_64-suse-4m.bin
ovmf-x86_64-suse-4m-code.bin
ovmf-x86_64-suse-4m-vars.bin
ovmf-x86_64-suse.bin
ovmf-x86_64-suse-code.bin
ovmf-x86_64-suse-vars.bin
ovmf-x86_64-vars.bin
pxe-e1000.rom
pxe-eepro100.rom
pxe-ne2k_pci.rom
pxe-pcnet.rom
pxe-rtl8139.rom
pxe-virtio.rom
qemu-icon.bmp
qemu-ifup
qemu_logo_no_text.svg
sgabios.bin
trace-events-all
vgabios.bin
vgabios-bochs-display.bin
vgabios-cirrus.bin
vgabios-qxl.bin
vgabios-ramfb.bin
vgabios-stdvga.bin
vgabios-virtio.bin
vgabios-vmware.bin
linux-lgui:/home/tim #

So I don’t understand the issue.

UPDATE – RESTART THE LIBVIRT SERVICE

If you do not restart the service, then the configuration will not update. So both myself and the configuration example in the text file had it correct. Wow, thank the Arch community and their wiki for that tidbit, or I’d be stuck until I rebooted, not knowing what worked.