Emulator selection per VM

a_user

New Member
Oct 20, 2020
5
0
1
I have multiple QEMU binaries that may all be getting used at the same time for different VMs. It seems like Proxmox assumes that "/usr/bin/kvm" will be what gets used (actually it seems like the binary or symlink HAS to be called "kvm").

I was able to successfully compile pve-qemu with my changes. I made some changes to QemuServer.pm (mainly overriding $kvm_binary in config_to_command) and using `qm start <>` I can confirm that my build is working as expected. The idea was to put the location of the QEMU binary in the *.conf file; however this does not seem to be enough. Using the WebUI still uses /usr/bin/kvm. If the VM crashes then the conf file get reset and my new parameter for the QEMU binary removed.

How would I go about modifying Proxmox to accomplish this (or is there already a way)?
 
How would I go about modifying Proxmox to accomplish this (or is there already a way)?
You already changed QemuServer.pm, so just change more that resets the things you don't like. Every manual change you do has to be tracked in order to be applicable after and upgrade. Another way would be to get your changes accepted upstream.
 
The issue was that I had to restart the daemon to pick up the changes to the file. SEEMS to be working now :).

I am not familiar with the code (and tbh my Perl-fu is terrible) so I was hoping someone who does have a good understanding of the code (maybe from the Proxmox team) could give some guidance on whether changing that one file is enough to (from all code paths):
a) add parameters to the config file.
b) override the QEMU binary that is used.