tobimensch / aqemu

Official AQEMU repository - a GUI for virtual machines using QEMU as the backend
https://sourceforge.net/projects/aqemu/
GNU General Public License v2.0
502 stars 88 forks source link

Sync with latest interfaces #88

Open X-Ryl669 opened 3 years ago

X-Ryl669 commented 3 years ago

Hi,

This is not a rant, but a short list of all the oddities I've found in AQEMU and that could be improved.

Start up

I don't know why by the version I have in AUR (Archlinux) 0.9.4-2 does not start. It just segfaults, and running under GDB does not help since it fails in Qt's code. I've built the version from Git and it works.

Old interface

  1. I want to create a Ubuntu 20.4 VM. So I hit the "+" button for a new VM and the only choice I have for linux is Linux 2.6 (really ?). I think the version is misleading, and it should be removed. I want to run a Linux, the version is confusing.
  2. AQEMU network interface is not easy to understand. Moreover, the expect IP address should be displayed somewhere in the interface since it's somehow fixed in QEMU for native/user mode.
  3. Sound is failing (not a real issue for me), but QEMU does not accept the AC97 option anymore
  4. USB does not work. I can't start AQEMU as root, yet, I can't forward my USB device to QEMU (it works if run on the terminal)
  5. Drive is too complex. I have a .img file that's a QCOW2 file. Yet, I don't know where to set it up in the interface. Should it be a hard drive and in that case, it's not displayed correctly (should be a QCOW2 of 10GB): image or a storage device ? If I need to resize it first, how can I do it from the interface (not having to call qemu-img resize file manually?) Also the options in "Advanced" dialog don't really make sense.
  6. Displaying the QEMU command line is cool, but it would be better if we could copy & paste from the message box so we can run the command in a terminal to debug what's wrong.
  7. Similarly, having somewhere some place to enter additional arguments for QEMU launch command is mandatory since those are evolving and you can't really map 1:1 with a GUI easily.

Command line argument incompatibility

I know it's a lot of work to maintain the interface with a foreign software (and with a huge amount of parameters like QEMU). Clearly, many arguments that are hard coded in AQEMU don't work any more with new QEMU versions. Maybe a JSON file with a conversion from the GUI to the actual argument might be easier to support, so that adapting to a new interface would only require changing the JSON file and not the software (and thus, your user will send you new JSON). Typically something like:

{
   "net_native_user": "-net user",
   "net_native_hostfwd": "hostfwd:%s",
   "sound_ac97": "...etc..."
  ...
}

I hope it'll help. Again, it's not a complaint, but mainly a short list of possible improvments to make the user experience smoother.