Easily manage your QEMU virtual machines.
MFE v1 : First version, discontinued with no updates.
MFE v2 : Second version, discontinued with stability updates and bug fixes.
MFE v3 : Latest version, see the "mfe-v3" branch.
MyFastEmulator is a fork of the Quickemu project which aims to be a more complete and user-friendly version than Quickemu. But overall, it allows you to easily manage your QEMU virtual machines without any hassle. Each virtual machine configuration is requiring minimal but very useful configuration, such as total CPU cores, emulated cpu, RAM, and even more. The main objective of the project is to enable quick testing of desktop Linux distributions AND Windows operating systems where the virtual machines can be stored anywhere, such as external USB storage.
MyFastEmulator is faster than its competitors, for a few reasons. First, it uses emulation rather than pure virtualization. This allows, for example, to use a CPU NOT matching the host one. This also allows better VM performance and less CPU usage since it won't directly use the host CPU. Second, it's very minimal compared to virt-manager, for example. It requires very minimal configuration and doesn't have too much features. And lastly, because it uses KVM as the main accelerator. VMware just can't use KVM, while VirtualBox "sort of can" use it as an option (however, KVM on Windows isn't real KVM as we all know). virt-manager, on the other hand, uses KVM. But it's not as fast as MyFastEmulator. MyFastEmulator is also a frontend to the fully accelerated qemu-virgil. See the video where wimpysworld explains some of his motivations for creating the original script :
Clone this repository:
git clone --single-branch --branch=master https://github.com/AnErrupTion/MyFastEmulator.git
Install the qemu-virgil
snap. You can find details about how to install snapd
and qemu-virgil
on the Snap Store page for qemu-virgil.
Note that this will use the bleeding edge version of qemu-virgil (required for the last command).
snap install qemu-virgil --edge
snap connect qemu-virgil:kvm
snap connect qemu-virgil:raw-usb
snap connect qemu-virgil:removable-media
The Windows installer won't recognize your virtual HDD, which is (kind of) normal. To make it detect it, you'll have to install the VirtIO SCSI drivers. To do that, follow the steps below.
* Download the complete VirtIO drivers ISO file, rename it to whatever you want (example : virtio_drivers.iso
) then place it wherever you want (example : in the directory where there is MyFastEmulator).
* Edit your configuration file, and add this line : driver_iso="virtio_drivers.iso"
. Save the file, and close it.
* Boot the VM into the Windows installer of your choice (7, 10, etc...). Now, where the partitions should appear, click
The bug above has been fixed, thus it is not needed anymore to manually add the VirtIO drivers (it now uses AHCI, which is detected by both Windows and Linux distros).Load driver
. In the following message box, click Browse
, then go to the mounted ISO file, then go to amd64
, then click on the folder that matches the Windows version you're installing (for example, win7). Now, load the driver, and the partition should appear!
- Download an ISO image of a Linux distribution
- Create a VM configuration file, for example
your_configuration_file.conf
iso="focal-desktop-amd64.iso"
disk_img="focal-desktop-amd64.qcow2
disk=60G
(These are only a few options of MyFastEmulator. To see the full list of options, see the example.conf
file..)
- Use
myfastemu
to start the virtual machine:
./myfastemu -vm your_configuration_file.conf
- A Desktop shortcut can be created (in ~/.local/share/applications):
./myfastemu -vm your_configuration_file.conf -shortcut
- NOTE : If you have an error where it cannot find the virtual HDD or that you haven't specified an ISO image (with desktop shortcut, at the startup of the VM) then you need to add the full path of the virtual HDD AND ISO in the configuration file.
Which will output something like this:
Here are the full usage instructions:
Usage
./myfastemu -vm your_configuration_file.conf
You can also pass optional parameters
--delete : Delete the desktop shortcut.
--shortcut : Create a desktop shortcut.
--snapshot apply <tag> : Apply/restore a snapshot.
--snapshot create <tag> : Create a snapshot.
--snapshot delete <tag> : Delete a snapshot.
--snapshot info : Show disk/snapshot info.
- Add full macOS support
- Make display configuration more robust
- Improve stdout presentation
- Make disk image size configurable
- Improve snapshot management
- Add option to create a desktop launcher (shortcut) for a VM (quickemu-project#18)
- Add support for Virgil3D
- Add support for GL
- Get QEMU
-audiodev
working for audio input - Add Windows support
- Improve performance
- Add USB pass-through support
- Improve disk management