LuizRafael79 / qemu-frontend

Simple Qemu frontend, in Python/PyQt for old (but not only) Windows (95. 98, ME, 2k, XP)

Repository from Github https://github.comLuizRafael79/qemu-frontendRepository from Github https://github.comLuizRafael79/qemu-frontend

QEMU Frontend GUI (PyQt5)

A lightweight and modular GUI for creating, configuring and running VMs using QEMU via the command line.
The purpose of this project is to be a "middle ground" between the "bureaucratic" ease of Virt Manager for example, and Qemu's own "For experts" command line.

πŸš€ Features

  • Visual that matches Gnome, using Font Awesome (not tested in KDE Plasma or Windows)
  • Automatic detection of installed QEMU binaries (not tested in Windows, and that probably don't work)
  • Support for multiple architectures (Qemu Architectures... not SO Archs)
  • Visual editing of hardware parameters:
  • CPUs, topology, KVM
  • Machine type and memory
  • Boot, BIOS and extras (RTC, USB, etc.) and more
  • Modular interface separated by pages (Hardware, Storage, Network, etc.)
  • Smart caching to speed up loading and parsing
  • Direct generation of QEMU arguments (CLI --> GUI) auto populating the respective pages (Hardware, Storage etc)
  • Reverse generation of QEMU arguments (GUI --> CLI) auto generating a complete command line args to use with Qemu

🧰 Requirements

  • Python 3.8+
  • QEMU installed and accessible via terminal
  • Python dependencies:
Arch Linux - pacman -S PyQt python-qtawesome <QTVersion Above 5>
Ohters Distros - pip install PyQt qtawesome

⚠️ The project is currently tested mainly on Linux.

πŸ“‚ Structure

| qemu-frontend/
β”œβ”€β”€ app/
β”‚      β”œβ”€β”€ context/ # Centralized AppContext
β”‚      β”œβ”€β”€ utils/ # qemu_helper and cache
β”œβ”€β”€ ui/
β”‚     β”œβ”€β”€ pages/ # Modular frontend pages
β”‚     β”œβ”€β”€ styles/ # Styles and themes
β”‚     β”œβ”€β”€ widgets/ # Widgets (Side menu)
β”œβ”€β”€ main.py # Entry point
β”œβ”€β”€ config.json # Persistent configuration file
└── .gitignore

πŸ–₯️ How to run

python main.py

TODO

  • Finish the remaining pages (Network, Audio, Display etc)
  • Implement a feature that converts the virt-manager XML lists to command line arguments for Qemu
  • ... a lot of others things, the repository is updated daily

About

Simple Qemu frontend, in Python/PyQt for old (but not only) Windows (95. 98, ME, 2k, XP)

License:GNU General Public License v3.0


Languages

Language:Python 100.0%