From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 303C71FF137 for ; Tue, 03 Feb 2026 11:21:40 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 07C0A190E1; Tue, 3 Feb 2026 11:21:57 +0100 (CET) From: Dominik Csapak To: pve-devel@lists.proxmox.com Subject: [PATCH manager v2 17/17] ui: qemu: change ui default for cpu model Date: Tue, 3 Feb 2026 11:00:22 +0100 Message-ID: <20260203102118.1430545-18-d.csapak@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260203102118.1430545-1-d.csapak@proxmox.com> References: <20260203102118.1430545-1-d.csapak@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.032 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: 5FJNWRMHURKEZNFG6P6KRYAV5FPQG4T3 X-Message-ID-Hash: 5FJNWRMHURKEZNFG6P6KRYAV5FPQG4T3 X-MailFrom: d.csapak@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: in the wizard, we already choose 'x86-64-v2-AES' by default for new vms, but the backend default (kvm64) is very easy to select by emptying the field. Since that default is actually discouraged (but can't be changed as backend default easily), use the wizard default as default for all occurrences of the cpu model selector (making it much harder to accidentally select 'kvm64'). While at it, document the 'default' cpu types in Utils, and use it to set the correct emptyText for earch architecture. Signed-off-by: Dominik Csapak --- www/manager6/form/CPUModelSelector.js | 26 ++++++++++++++++++++++++++ www/manager6/qemu/OSDefaults.js | 1 - www/manager6/qemu/ProcessorEdit.js | 13 ++++++++++++- 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/www/manager6/form/CPUModelSelector.js b/www/manager6/form/CPUModelSelector.js index 602706e7..a55d473e 100644 --- a/www/manager6/form/CPUModelSelector.js +++ b/www/manager6/form/CPUModelSelector.js @@ -20,6 +20,28 @@ Ext.define('PVE.form.CPUModelSelector', { deleteEmpty: true, + getSubmitData: function () { + let me = this, + data = null, + val; + if (!me.disabled && me.submitValue) { + val = me.getSubmitValue(); + if (val !== null && val !== '' && val !== undefined) { + data = {}; + data[me.getName()] = val; + } else if (me.getDeleteEmpty()) { + data = {}; + // special case to change gui default for x86 + if (me.arch === 'x86_64') { + data[me.getName()] = PVE.qemu.Architecture.defaultProcessorModel.x86_64; + } else { + data.delete = me.getName(); + } + } + } + return data; + }, + listConfig: { columns: [ { @@ -51,6 +73,10 @@ Ext.define('PVE.form.CPUModelSelector', { } me.store.getProxy().setExtraParams(params); me.store.reload(); + + let defaultCPU = PVE.qemu.Architecture.defaultProcessorModel[arch] ?? 'kvm64'; + + me.setEmptyText(`${Proxmox.Utils.defaultText} (${defaultCPU})`); }, store: { diff --git a/www/manager6/qemu/OSDefaults.js b/www/manager6/qemu/OSDefaults.js index a2c218df..bd652e2f 100644 --- a/www/manager6/qemu/OSDefaults.js +++ b/www/manager6/qemu/OSDefaults.js @@ -52,7 +52,6 @@ Ext.define('PVE.qemu.OSDefaults', { virtio: 1, }, scsihw: 'virtio-scsi-single', - cputype: 'x86-64-v2-AES', }, aarch64: { diff --git a/www/manager6/qemu/ProcessorEdit.js b/www/manager6/qemu/ProcessorEdit.js index e1383c3f..52b8074c 100644 --- a/www/manager6/qemu/ProcessorEdit.js +++ b/www/manager6/qemu/ProcessorEdit.js @@ -305,8 +305,19 @@ Ext.define('PVE.qemu.ProcessorEdit', { vm.set('showCustomModelPermWarning', true); } } - me.setValues(data); let arch = PVE.qemu.Architecture.getNodeArchitecture(data.arch, me.nodename); + // change default cputype for x86 in gui only + if (arch === 'x86_64') { + if (!data.cputype) { + // use our backend default as explicit value + data.cputype = 'kvm64'; + } else if ( + data.cputype === PVE.qemu.Architecture.defaultProcessorModel.x86_64 + ) { + delete data.cputype; + } + } + me.setValues(data); ipanel.setArch(arch); }, }); -- 2.47.3