/powerstate-virtmanager

Set the power state of a Virtual Machine (VM). Does what virt-manager doesn't; includes missing features like sleep, hibernate, and wake. Bash TUI and Python GUI application.

Primary LanguageShellGNU General Public License v3.0GPL-3.0

Power State Virtual Machine Manager

v1.0.0-alpha

Set the power state of a QEMU/KVM Virtual Machine (VM). Wake from Sleep or Hibernation. Does what virt-manager doesn't.

Latest release

Table of Contents

Contents

1. Why?

The virtual machine manager application virt-manager does not (currently) have the option to wake a VM from Sleep. In other words, as a VM cannot be awaken by an input device, unfortunately. For example, a physical or virtual "power on", button, keyboard input, or network activity. This application includes the ability to wake from Sleep and Hibernation, and the other related features from virt-manager.

2. Related Projects

Project Codeberg GitHub
Deploy VFIO link link
Auto X.Org link link
Generate Evdev link link
Guest Machine Guide link link
Libvirt Hooks link link
Power State Virtual Machine Manager link link

3. Documentation

4. Host Requirements

4.1. Operating System

Linux.

4.2. Software

  • QEMU and Libvirt for Virtual Machines.

4.3. Hardware

The following firmware options are supported and enabled (motherboard and CPU):

  • System Power State S3 (Sleep).
  • System Power State S4 (Hibernation).

5. Download

  • Download the Latest Release: Codeberg, GitHub

  • Download the .zip file:

    1. Viewing from the top of the repository's (current) webpage, click the drop-down icon:
      • ··· on Codeberg.
      • <> Code on GitHub.
    2. Click Download ZIP and save.
    3. Open the .zip file, then extract its contents.
  • Clone the repository:

    1. Open a Command Line Interface (CLI).
      • Open a console emulator (for Debian systems: Konsole).
      • Open a existing console: press CTRL + ALT + F2, F3, F4, F5, or F6.
        • To return to the desktop, press CTRL + ALT + F7.
        • F1 is reserved for debug output of the Linux kernel.
        • F7 is reserved for video output of the desktop environment.
        • F8 and above are unused.
    2. Change your directory to your home folder or anywhere safe:
      • cd ~
    3. Clone the repository:
      • git clone https://www.codeberg.org/portellam/powerstate-virtmanager
      • git clone https://www.github.com/portellam/powerstate-virtmanager

6. Usage

6.1. Install

sudo bash installer.sh

6.2. Run

Installer will copy required files to /usr/bin/local/. You may run executable from any directory.

sudo powerstate-virtmanager

7. Contact

Did you encounter a bug? Do you need help? Please visit the Issues page (Codeberg, GitHub).

8. References

1.

PCI passthrough via OVMF. ArchWiki. Accessed June 14, 2024. https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF.

2.

VFIO - ‘Virtual Function I/O’ - The Linux Kernel Documentation. The linux kernel. Accessed June 14, 2024. https://www.kernel.org/doc/html/latest/driver-api/vfio.html.

3.

VFIO Discussion and Support. Reddit. Accessed June 14, 2024. https://www.reddit.com/r/VFIO/.

4.

XML Design Format GitHub - libvirt/libvirt. Accessed June 18, 2024. https://github.com/libvirt/libvirt/blob/master/docs/formatdomain.rst.