[pve-devel] [PATCH qemu-server v8 2/2] api: status/current: add display property
Aaron Lauterer
a.lauterer at proxmox.com
Fri Oct 3 17:00:43 CEST 2025
This new property returns the configured or default display for a VM.
Instead of a flat property, we use a nested 'type' object that contains
the actual information. This way we can add other properties that belong
to a VM's display in the future without much hassle, to have them all in
one place.
Candidates to be moved into the display property are for example the
spice and clipboard property.
Signed-off-by: Aaron Lauterer <a.lauterer at proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner at proxmox.com>
Tested-by: Hannes Duerr <h.duerr at proxmox.com>
Reviewed-by: Michael Köppl <m.koeppl at proxmox.com>
Tested-by: Michael Köppl <m.koeppl at proxmox.com>
---
changes since
v7:
* rebased
v6:
* use the new QemuServer::get_default_vga_type function, which means we
can drop a lot of boilerplate code
v5:
* use QemuServer::get_vga_properties to determine the default
* properties.
src/PVE/API2/Qemu.pm | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/src/PVE/API2/Qemu.pm b/src/PVE/API2/Qemu.pm
index 7fced6c6..d1a4eafb 100644
--- a/src/PVE/API2/Qemu.pm
+++ b/src/PVE/API2/Qemu.pm
@@ -3310,6 +3310,16 @@ __PACKAGE__->register_method({
enum => ['vnc'],
optional => 1,
},
+ display => {
+ description => "Display settings",
+ type => 'object',
+ properties => {
+ type => {
+ description => "Display type configured",
+ type => 'string',
+ },
+ },
+ },
},
},
code => sub {
@@ -3323,8 +3333,11 @@ __PACKAGE__->register_method({
$status->{ha} = PVE::HA::Config::get_service_status("vm:$param->{vmid}");
+ $status->{display}->{type} = PVE::QemuServer::get_default_vga_type($conf);
if ($conf->{vga}) {
my $vga = PVE::QemuServer::parse_vga($conf->{vga});
+ $status->{display}->{type} = $vga->{type} if defined($vga->{type});
+
my $spice = defined($vga->{type}) && $vga->{type} =~ /^virtio/;
$spice ||= PVE::QemuServer::vga_conf_has_spice($conf->{vga});
$status->{spice} = 1 if $spice;
--
2.47.3
More information about the pve-devel
mailing list