Please consider my proposed code updates to allow QtEmu to work with later versions of QEMU.
Hello Sergio,
First and foremost, thanks for continuing the development of QtEmu. While using the latest version that you released, I ran into some issues when trying to use later versions, 7.1+, of QEMU. For example, QtEmu will not even start VMs under version 7.1 or later because the -soundhw option has been removed. In addition, the -smp option no longer supports zero-value arguments (e.g., cores=0) under these newer versions. And, it is not possible to use WHPX acceleration, which makes a big diference for Windows-based VMs.
All that said, even though I am not a developer, I made an attempt to add some updates to your current code to fix some of these issues and allow the use of newer QEMU versions. In the machine.cpp code file, I updated it to check to see if the cpuArgs are > 0 before appending them to the qemuCommand. In the same file, I removed the -soundhw argument and replaced it with the appropriate -device option. In addition, I updated the Machine Boot Configuration interface (in machineconfigboot.cpp, machineconfigboot.h, machine.cpp, and machine.h) to allow the option to enable SSH support and additional network adapters.
Similarly, I updated it to also allow the user to specify additional QEMU boot arguments. Sadly, none of these options can be saved because that was above my coding expertise. Nonetheless, it hopefully gives you a bit inspiration and structure to consider adding these in the future. Speaking of which, I was able to compile the Linux version of QtEmu and I see that the WHPX acceleration option is available. I wanted to test my updates on Windows as well, but I was not sure how to compile the code on this platform.
That said, I would truly appreciate it if you would provide build instructions for compiling on Windows (as you did on Installation page -- https://gitlab.com/qtemu/gui/-/blob/master/INSTALL.md -- for Linux) so that I may do further testing. In short, please let me know what you think of my purposed code tweaks in general.
Gracias y saludos, Bernard