What should I say? I didn't like the existing QEMU interfaces for Windows, so I made my own.
Release | Link |
---|---|
Stable | Link |
Pre-releases | Link |
Last update: 28th January, 2023 with 1.0.0.5307_b1
Starting with 0.7, the versioning scheme looks like this:
Feature | Content |
---|---|
Major | increments with every first feature update in a year |
Minor | becomes 0 when major increments, else it increments with every feature update within a year |
Micro | becomes 0 with every feature update, else increments by 1 with every bugfix update |
Nano | is the build number |
If _dev
is added, it's a pre-release not meant for production.
If _b1
and a number are added, the EmuGUI version is in a state where minor features can still be added, but it starts to focus on stability. Generally, you shouldn't use it for production as it's still a pre-release.
If _rc
and a number are added, the release is meant to be focused solely on stability and completeness, but still not for productive use.
For the update checker, a version code is being used instead of the number. Here's how it increments:
Update type | Next version code |
---|---|
Preview update | current version code + 1 |
Bugfix/minor update | current version code + 1 |
Feature update | current version code rounded up to the next hundred (e. g. 4237 becomes 4300) |
Component | Requirement |
---|---|
OS | Windows 10, Windows Server 2016 or later (x64); The latest (LTS) version of your Linux distribution (x64) |
Python | 3.6 or newer |
Processor | x64 Dual Core Processor with @2.6 GHzÂą |
RAM | 6 GBÂą |
HDD | 2 GBÂą |
These requirements will be valid starting 11th November, 2025. If you are better than that, it is automatically supported.
Component | Requirement |
---|---|
OS | Windows 10 Version 1607, Windows Server 2016 or later (x64); The latest (LTS) version of your Linux distribution (x64) |
Python | 3.9 or newer |
Processor | x64 Processor with 4 threads (can be 2 or 4 cores) and @2.5 GHzÂą |
RAM | 8 GB (12 GB if using integrated graphics)Âą |
HDD | 4 GBÂą |
Graphics | DirectX 11 or OpenGL 3.3² |
Âą This is the absolute minimum, the required performance depends on the operating system you want to run.
² It's for your host operating system, not for EmuGUI.
- Python 3
- PyQt 6
- PySide 6
- QEMU
- Python Magic
- requests
- Get QEMU and install it
- Get EmuGUI and extract it
- Run emugui.exe in the EmuGUI directory.
- Set the QEMU paths at the Settings/QEMU tab.
- Create a new virtual machine and start it.
-
Open your terminal and type in one of the commands to update your system, depending on your distro:
- Arch:
sudo pacman -Syu
- Debian/Ubuntu:
sudo apt-get update && sudo apt-get upgrade
- Fedora/RHEL 8:
sudo dnf upgrade --refresh
orsudo dnf update
- Gentoo:
sudo emaint -a sync && sudo emerge --ask --verbose --update --deep --newuse @world
- RHEL 7:
sudo yum update
- SUSE and openSUSE Leap:
sudo zypper patch && sudo zypper up
- openSUSE Tumbleweed:
sudo zypper patch && sudo zypper dup
- Arch:
-
Open your terminal and type in one of the commands to install QEMU, depending on your distribution:
- Arch:
sudo pacman -S qemu
- Debian/Ubuntu:
sudo apt-get install qemu
- Fedora:
sudo dnf install @virtualization
- Gentoo:
sudo emerge --ask app-emulation/qemu
- RHEL:
sudo yum install qemu-kvm
- (open-)SUSE:
sudo zypper install qemu
- Arch:
-
Starting with EmuGUI 2.0, you also need to install (lib)xcb-cursor0 in order for this to work.
- Arch:
sudo pacman -S libxcb-cursor
- Debian/Ubuntu:
sudo apt install libxcb-cursor-dev
- Fedora:
sudo dnf install libxcb-cursor
- Gentoo:
sudo emerge -av x11-libs/libxcb-cursor
- RHEL:
sudo yum install libxcb-cursor
- (open-)SUSE:
sudo zypper in libxcb-cursor
- Arch:
-
Get EmuGUI from this website and extract it.
-
Run emugui in the EmuGUI directory (if it fails from file manager, open a terminal inside the directory and type
./emugui
). -
Set the QEMU paths at the Settings/QEMU tab (either
/usr/bin/qemu-system-*
or justqemu-system-*
). -
Create a new virtual machine and start it.
Another tip: If you want a machine to run with KVM, you must open a terminal inside the directory and type: sudo ./emugui
.
- Close out of EmuGUI before updating.
- Open your internet browser of choice and go to the EmuGUI repository.
- If the most recent version of EmuGUI is newer than the one you're currently running, download and extract the EmuGUI zip file.
- If you have external BIOS files in the root directory of your old EmuGUI installation, copy these into the root directory of the new one.
- Start the new EmuGUI installation. You might need to reinstall some virtual machines.
- Building on Windows (Python Venv, Qt installed via Python, with PyInstaller)
- Building on Windows (Python Venv, Qt installed via Python, with cx_Freeze)
- Building on Windows (Python Venv, Qt installed via official installer, with PyInstaller)
- Building on Windows (Python Venv, Qt installed via official installer, with cx_Freeze)
- Building on Windows (Anaconda, with PyInstaller)
- Building on Windows (Anaconda, with cx_Freeze)
- Building on Linux (Python Venv, Qt installed via Python)
- Building on Linux (Python Venv, Qt installed via official installer)
- Building on Linux (Anaconda)
- Install Python. You can get it here
- Get QEMU and install it
- Install Git. You can get it here
- Install Visual Studio Code. You can get it here
- Open a terminal and type:
git clone https://github.com/Tech-FZ/EmuGUI.git
- Open Visual Studio Code in that folder.
- Open a terminal WITHIN VS Code and type:
python -m pip install --upgrade pip venv
- After that is done, type:
python -m venv your-venv-name
OUTSIDE of the code folder. You can call it whatever you want, but don't forget that it is NOT allowed to get into the EmuGUI repository under any circumstances. - Wait until VS Code notices your venv and select it. You might need to restart the editor for it to recognize your virtual environment after it has been created.
- With your virtual environment selected, try to run a Python script. If it throws an error, that's okay. We just need to activate the venv anyway.
- Within the terminal VS Code just opened, type:
pip install --upgrade pip PyInstaller PyQt6 PyQt6-tools PySide6 python-magic-bin requests python-dateutil psutil pywin32
- After this is done, run the main.py script.
- To compile the program for users who don't have Python installed, type:
PyInstaller --icon .\EmuGUI.ico .\emugui.py
- After that is finished, copy the code into the dist folder PyInstaller created.
- Run the executable in the dist folder. If your antivirus puts it into quarantine, don't worry as this should be a false positive and restore it.
- If it works, have fun! If not, try to start again from number 9.
- Install Python. You can get it here
- Get QEMU and install it
- Install Git. You can get it here
- Install Visual Studio Code. You can get it here
- Open a terminal and type:
git clone https://github.com/Tech-FZ/EmuGUI.git
- Open Visual Studio Code in that folder.
- Open a terminal WITHIN VS Code and type:
python -m pip install --upgrade pip venv
- After that is done, type:
python -m venv your-venv-name
OUTSIDE of the code folder. You can call it whatever you want, but don't forget that it is NOT allowed to get into the EmuGUI repository under any circumstances. - Wait until VS Code notices your venv and select it. You might need to restart the editor for it to recognize your virtual environment after it has been created.
- With your virtual environment selected, try to run a Python script. If it throws an error, that's okay. We just need to activate the venv anyway.
- Within the terminal VS Code just opened, type:
pip install --upgrade pip cx_Freeze PyQt6 PyQt6-tools PySide6 python-magic-bin requests python-dateutil psutil pywin32
- After this is done, run the main.py script.
- To compile the program for users who don't have Python installed, type:
cxfreeze -c emugui.py --target-dir dist --icon EmuGUI.ico
- After that is finished, copy the code into the dist folder cx_Freeze created.
- Run the executable in the dist folder. If your antivirus puts it into quarantine, don't worry as this should be a false positive and restore it.
- If it works, have fun! If not, try to start again from number 9.
- Install Python. You can get it here
- Get QEMU and install it
- Install Git. You can get it here
- Install Visual Studio Code. You can get it here
- Install Qt from the following site (you need a Qt account for that)
- You only need the Qt Creator.
- Open a terminal and type:
git clone https://github.com/Tech-FZ/EmuGUI.git
- Open Visual Studio Code in that folder.
- Open a terminal WITHIN VS Code and type:
python -m pip install --upgrade pip venv
- After that is done, type:
python -m venv your-venv-name
. OUTSIDE of the code folder. You can call it whatever you want, but don't forget that it is NOT allowed to get into the EmuGUI repository under any circumstances. - Wait until VS Code notices your venv and select it. You might need to restart the editor for it to recognize your virtual environment after it has been created.
- With your virtual environment selected, try to run a Python script. If it throws an error, that's okay. We just need to activate the venv anyway.
- Within the terminal VS Code just opened, type:
pip install --upgrade pip PyInstaller PySide6 python-magic-bin requests python-dateutil psutil pywin32
- After this is done, run the main.py script.
- To compile the program for users who don't have Python installed, type:
PyInstaller --icon .\EmuGUI.ico .\emugui.py
- After that is finished, copy the code into the dist folder PyInstaller created.
- Run the executable in the dist folder. If your antivirus puts it into quarantine, don't worry as this should be a false positive and restore it.
- If it works, have fun! If not, try to start again from number 9.
- Install Python. You can get it here
- Get QEMU and install it
- Install Git. You can get it here
- Install Visual Studio Code. You can get it here
- Install Qt from the following site (you need a Qt account for that)
- You only need the Qt Creator.
- Open a terminal and type:
git clone https://github.com/Tech-FZ/EmuGUI.git
- Open Visual Studio Code in that folder.
- Open a terminal WITHIN VS Code and type:
python -m pip install --upgrade pip venv
- After that is done, type:
python -m venv your-venv-name
. OUTSIDE of the code folder. You can call it whatever you want, but don't forget that it is NOT allowed to get into the EmuGUI repository under any circumstances. - Wait until VS Code notices your venv and select it. You might need to restart the editor for it to recognize your virtual environment after it has been created.
- With your virtual environment selected, try to run a Python script. If it throws an error, that's okay. We just need to activate the venv anyway.
- Within the terminal VS Code just opened, type:
pip install --upgrade pip cx_Freeze PySide6 python-magic-bin requests python-dateutil psutil pywin32
- After this is done, run the main.py script.
- To compile the program for users who don't have Python installed, type:
cxfreeze -c emugui.py --target-dir dist --icon EmuGUI.ico
- After that is finished, copy the code into the dist folder cx_Freeze created.
- Run the executable in the dist folder. If your antivirus puts it into quarantine, don't worry as this should be a false positive and restore it.
- If it works, have fun! If not, try to start again from number 9.
- Install Anaconda. You can get it from here
- Get QEMU and install it
- Install Git. You can get it from here
- Install Visual Studio Code. You can get it from here
- Install Qt. You can get it from here
- Open a terminal and type:
git clone https://github.com/Tech-FZ/EmuGUI.git
- Open Visual Studio Code in that folder.
- Open Anaconda Navigator and create a new virtual environment.
- Open the venv in VS Code and try to run a Python script with it.
- Within the VS Code terminal, type:
& pip install --upgrade pip PyInstaller PySide6 python-magic-bin PyQt6 requests python-dateutil psutil pywin32
- After this is done, run the main.py script.
- To compile the program for users who don't have Python installed, type:
& PyInstaller --icon .\EmuGUI.ico .\emugui.py
- After that is finished, copy the code into the dist folder PyInstaller created.
- Run the executable in the dist folder. If your antivirus puts it into quarantine, don't worry as this should be a false positive and restore it.
- If it works, have fun! If not, try to start again from number 9.
- Install Anaconda. You can get it from here
- Get QEMU and install it
- Install Git. You can get it from here
- Install Visual Studio Code. You can get it from here
- Install Qt. You can get it from here
- Open a terminal and type:
git clone https://github.com/Tech-FZ/EmuGUI.git
- Open Visual Studio Code in that folder.
- Open Anaconda Navigator and create a new virtual environment.
- Open the venv in VS Code and try to run a Python script with it.
- Within the VS Code terminal, type:
& pip install --upgrade pip cx_Freeze PySide6 python-magic-bin PyQt6 requests python-dateutil psutil pywin32
- After this is done, run the main.py script.
- To compile the program for users who don't have Python installed, type:
& cxfreeze -c emugui.py --target-dir dist --icon EmuGUI.ico
- After that is finished, copy the code into the dist folder cx_Freeze created.
- Run the executable in the dist folder. If your antivirus puts it into quarantine, don't worry as this should be a false positive and restore it.
- If it works, have fun! If not, try to start again from number 9.
-
Install Python 3. You can either compile the source code or get it from your distribution's repositories.
-
Install QEMU using one of the commands listed on Installation (Linux).
-
Install Git and binutils using the install command of your distribution.
- Arch:
sudo pacman -S git binutils
- Debian/Ubuntu:
sudo apt install git binutils
- Fedora:
sudo dnf install git binutils
- Gentoo:
sudo emerge -ask dev-vcs/git
for Git,sudo emerge --ask --oneshot sys-devel/binutils
for binutils - RHEL:
sudo yum install git binutils
- (open-)SUSE:
sudo zypper in git binutils
- Arch:
-
Install Visual Studio Code. You can get it here
-
Open a terminal and type:
git clone https://github.com/Tech-FZ/EmuGUI.git
-
As you already have the terminal open, install (lib)xcb-cursor0. Commands for that can be found on Installation (Linux).
-
Open Visual Studio Code in that folder.
-
Open a terminal WITHIN VS Code and type:
python3 -m pip install --upgrade pip venv
-
After that is done, type:
python3 -m venv your-venv-name
. OUTSIDE of the code folder. That's why Git is only going to be used to clone the code, but not to commit - that's to be done manually. -
Wait until VS Code notices your venv and select it. You might need to restart the editor for it to recognize your virtual environment after it has been created.
-
With your virtual environment selected, try to run a Python script. If it throws an error, that's okay. We just need to activate the venv anyway.
-
Within the terminal VS Code just opened, type:
pip install --upgrade pip PyInstaller PySide6 python-magic requests python-dateutil psutil pyqtdarktheme
-
After this is done, run the main.py script.
-
To compile the program for users who don't have Python installed, type:
PyInstaller --onefile emugui.py
(for those who can get a VENV to work) orpython3 -m PyInstaller --onefile emugui.py
-
After that is finished, copy the code into the dist folder PyInstaller created.
-
Run the executable in the dist folder. If your antivirus puts it into quarantine, don't worry as this should be a false positive and restore it.
-
If it works, have fun! If not, try to start again from number 7.
-
Install Python 3. You can either compile the source code or get it from your distribution's repositories.
-
Install QEMU using one of the commands listed on Installation (Linux).
-
Install Git and binutils using the install command of your distribution.
- Arch:
sudo pacman -S git binutils
- Debian/Ubuntu:
sudo apt install git binutils
- Fedora:
sudo dnf install git binutils
- Gentoo:
sudo emerge -ask dev-vcs/git
for Git,sudo emerge --ask --oneshot sys-devel/binutils
for binutils - RHEL:
sudo yum install git binutils
- (open-)SUSE:
sudo zypper in git binutils
- Arch:
-
Install Visual Studio Code. You can get it here
-
Install Qt from the following site (you need a Qt account for that)
-
You only need the Qt Creator.
-
Open a terminal and type:
git clone https://github.com/Tech-FZ/EmuGUI.git
-
As you already have the terminal open, install (lib)xcb-cursor0. Commands for that can be found on Installation (Linux).
-
Open Visual Studio Code in that folder.
-
Open a terminal WITHIN VS Code and type:
python3 -m pip install --upgrade pip venv
-
After that is done, type:
python3 -m venv your-venv-name
. OUTSIDE of the code folder. That's why Git is only going to be used to clone the code, but not to commit - that's to be done manually. -
Wait until VS Code notices your venv and select it. You might need to restart the editor for it to recognize your virtual environment after it has been created.
-
With your virtual environment selected, try to run a Python script. If it throws an error, that's okay. We just need to activate the venv anyway.
-
Within the terminal VS Code just opened, type:
pip install --upgrade pip PyInstaller PySide6 python-magic requests python-dateutil psutil pyqtdarktheme
-
After this is done, run the main.py script.
-
To compile the program for users who don't have Python installed, type:
PyInstaller --onefile emugui.py
-
After that is finished, copy the code into the dist folder PyInstaller created.
-
Run the executable in the dist folder. If your antivirus puts it into quarantine, don't worry as this should be a false positive and restore it.
-
If it works, have fun! If not, try to start again from number 9.
-
Install Anaconda. You can get it from here
-
Install QEMU using one of the commands listed on Installation (Linux).
-
Install Git and binutils using the install command of your distribution.
- Arch:
sudo pacman -S git binutils
- Debian/Ubuntu:
sudo apt install git binutils
- Fedora:
sudo dnf install git binutils
- Gentoo:
sudo emerge -ask dev-vcs/git
for Git,sudo emerge --ask --oneshot sys-devel/binutils
for binutils - RHEL:
sudo yum install git binutils
- (open-)SUSE:
sudo zypper in git binutils
- Arch:
-
Install Visual Studio Code. You can get it from here
-
Install Qt. You can get it from here
-
Open a terminal and type:
git clone https://github.com/Tech-FZ/EmuGUI.git
-
As you already have the terminal open, install (lib)xcb-cursor0. Commands for that can be found on Installation (Linux).
-
Open Visual Studio Code in that folder.
-
Open Anaconda Navigator and create a new virtual environment.
-
Open the venv in VS Code and try to run a Python script with it.
-
Within the VS Code terminal, type:
& pip install --upgrade pip PyInstaller PySide6 python-magic PyQt6 requests python-dateutil psutil pyqtdarktheme
-
After this is done, run the main.py script.
-
To compile the program for users who don't have Python installed, type:
& PyInstaller --onefile emugui.py
-
After that is finished, copy the code into the dist folder PyInstaller created.
-
Run the executable in the dist folder. If your antivirus puts it into quarantine, don't worry as this should be a false positive and restore it.
-
If it works, have fun! If not, try to start again from number 9.
A documentation of EmuGUI can be found here
There are several ways to contribute, including:
- Programming (bugfixes, new features etc.)
- Testing (operating systems, the program itself etc.)
- Translation into foreign languages like German or French
- Documentation
This project is licensed under the GNU General Public License v3.0.