[pve-devel] [PATCH qemu-server/docs v2] disable S3/S4 power states by default

Dominik Csapak d.csapak at proxmox.com
Fri Mar 7 15:44:27 CET 2025


since they make some problems (e.g. windows hybrid shutdown is enabled
by default then -> which makes vGPU problem). Libvirt/virsh also
disables that by default (and tries preventing enabling it.)

This series introduces a new pve1 version for 9.2 machine versions, and
pins new windows guests to that. (ignore the edge case for non-version
pinned machine types on windows, so they'll get always +pve0).

Additionally I introduce 'enable-s{3,4}' settings so that users can
still manually enable that (in case it's needed), or disable it for
older machine types. (non hotpluggable).

I deliberately did not introduce a GUI option for the enabling of
S3/S4 power states, since I don't think it'll come up often.
(If it does, we can still add something to the UI)

changes from v1:
* dropped the RFC for pinning qemu version in tests
  (was not really related and we can still tackle that when we actually
  encounter it, e.g. with qemu 10.0)
* dropped the saving of the pve machine version in the meta info
  (just ignore that case and assign pve0)
* remove globalFlags instead of fixing it's use (there was only
  one user anyway)
* move pveX pinning logic into windows_get_pinned_machine_version
* add pveX versiosn to qemu/machine capabilities api call
* add general description for pveX machine versions
* add docs patch to explain +pveX versions

qemu-server:

Dominik Csapak (8):
  tests: cfg2cmd: add test for windows machine pinning from meta info
  config to command: get rid of globalFlags
  machine: correctly select pve machine version for non pinned windows
    guests
  machine: incorporate pve machine version when pinning windows guests
  machine: add S3/S4 power state properties
  machine: bump pve machine version and reverse the s3/s4 defaults
  api: qemu machine capabilities: add custom pveX versions too
  api: qemu machine capabilities: add description for pveX variants

 PVE/API2/Qemu/Machine.pm                      | 33 ++++++++-
 PVE/QemuServer.pm                             | 11 ++-
 PVE/QemuServer/Machine.pm                     | 72 +++++++++++++++++--
 test/cfg2cmd/bootorder-empty.conf.cmd         |  4 +-
 test/cfg2cmd/bootorder-legacy.conf.cmd        |  4 +-
 test/cfg2cmd/bootorder.conf.cmd               |  4 +-
 ...putype-icelake-client-deprecation.conf.cmd |  4 +-
 .../custom-cpu-model-defaults.conf.cmd        |  4 +-
 .../custom-cpu-model-host-phys-bits.conf.cmd  |  4 +-
 test/cfg2cmd/custom-cpu-model.conf.cmd        |  4 +-
 test/cfg2cmd/efi-raw-template.conf.cmd        |  4 +-
 test/cfg2cmd/efi-raw.conf.cmd                 |  4 +-
 test/cfg2cmd/efi-secboot-and-tpm-q35.conf.cmd |  4 +-
 test/cfg2cmd/efi-secboot-and-tpm.conf.cmd     |  4 +-
 test/cfg2cmd/efidisk-on-rbd.conf.cmd          |  4 +-
 test/cfg2cmd/i440fx-viommu-virtio.conf.cmd    |  4 +-
 test/cfg2cmd/i440fx-win10-hostpci.conf.cmd    |  4 +-
 test/cfg2cmd/ide.conf.cmd                     |  4 +-
 .../cfg2cmd/memory-hotplug-hugepages.conf.cmd |  4 +-
 test/cfg2cmd/memory-hotplug.conf.cmd          |  4 +-
 test/cfg2cmd/memory-hugepages-1g.conf.cmd     |  4 +-
 test/cfg2cmd/memory-hugepages-2m.conf.cmd     |  4 +-
 test/cfg2cmd/minimal-defaults.conf.cmd        |  4 +-
 test/cfg2cmd/netdev-7.1-multiqueues.conf.cmd  |  4 +-
 test/cfg2cmd/netdev-7.1.conf.cmd              |  4 +-
 test/cfg2cmd/q35-ide.conf.cmd                 |  4 +-
 .../q35-linux-hostpci-mapping.conf.cmd        |  4 +-
 .../q35-linux-hostpci-multifunction.conf.cmd  |  4 +-
 .../q35-linux-hostpci-template.conf.cmd       |  4 +-
 ...q35-linux-hostpci-x-pci-overrides.conf.cmd |  4 +-
 test/cfg2cmd/q35-linux-hostpci.conf.cmd       |  4 +-
 test/cfg2cmd/q35-simple.conf.cmd              |  4 +-
 test/cfg2cmd/q35-viommu-intel.conf.cmd        |  4 +-
 test/cfg2cmd/q35-viommu-virtio.conf.cmd       |  4 +-
 test/cfg2cmd/q35-win10-hostpci.conf.cmd       |  4 +-
 test/cfg2cmd/q35-windows-pinning.conf         |  5 ++
 test/cfg2cmd/q35-windows-pinning.conf.cmd     | 24 +++++++
 test/cfg2cmd/seabios_serial.conf.cmd          |  4 +-
 test/cfg2cmd/simple-btrfs.conf.cmd            |  4 +-
 test/cfg2cmd/simple-virtio-blk.conf.cmd       |  4 +-
 test/cfg2cmd/simple1-template.conf.cmd        |  4 +-
 test/cfg2cmd/simple1.conf.cmd                 |  4 +-
 test/cfg2cmd/spice-win.conf.cmd               |  4 +-
 test/cfg2cmd/vnc-clipboard-spice.conf.cmd     |  4 +-
 test/cfg2cmd/vnc-clipboard-std.conf.cmd       |  4 +-
 45 files changed, 252 insertions(+), 53 deletions(-)
 create mode 100644 test/cfg2cmd/q35-windows-pinning.conf
 create mode 100644 test/cfg2cmd/q35-windows-pinning.conf.cmd

pve-docs:

Dominik Csapak (1):
  qm: pve machine version: add section to explain +pveX versions

 qm.adoc | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

-- 
2.39.5





More information about the pve-devel mailing list