From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 7723B1FF137 for ; Tue, 03 Feb 2026 11:44:46 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 469991ADDF; Tue, 3 Feb 2026 11:45:15 +0100 (CET) Message-ID: <400616c4-9884-4a49-9f07-2341f18d6ec6@proxmox.com> Date: Tue, 3 Feb 2026 11:45:10 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Subject: superseded: [PATCH manager 00/10] enable qemu vm architecture selection From: Dominik Csapak To: pve-devel@lists.proxmox.com References: <20260128123035.2576774-1-d.csapak@proxmox.com> Content-Language: en-US In-Reply-To: <20260128123035.2576774-1-d.csapak@proxmox.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1770115435921 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: URBGZXPQKCBTNYQMZ4IVXY6B7KM3U3LL X-Message-ID-Hash: URBGZXPQKCBTNYQMZ4IVXY6B7KM3U3LL 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 Reply-To: Proxmox VE development discussion List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: superseded by v2: https://lore.proxmox.com/pve-devel/20260203102118.1430545-1-d.csapak@proxmox.com/ On 1/28/26 1:29 PM, Dominik Csapak wrote: > This series brings the emulated aarch64 vms to the gui. This could > be configured on the api only previously. > > The code also handles if the host has a non-x86 architecture, and is > generally structured in a way that should make it (relatively) easy > to add other architectures in the future. > > Some fields/panels needed adaptions to hide some values or change some > defaults, since not every combination that can be configured makes > sense. (e.g. seabios on aarch64 cannot work currently) > > Generally the backend allows many combinations that don't make sense on > all architectures, so i tried to limit the users here to the 'correct' > ones, but we should think about limiting them in the backend too. > > Also, the backend made some inconsistent choices with different > architectures, such as the default controller changes with the > architecture, but things like 'bios' or 'scsihw' do not. So I worked > around these things a bit differently. > > What is still missing: > * make the disk controllers selective per architecture > (e.g. aarch64 has no ide controller, ovmf+aarch64 cannot boot from sata) > * cpumodel + cpuflags need to be architecture aware > > other nice to haves not yet done, that also invovle changing the backend: > * 'virt' machine support in our api, so one can choose older versions > * allow 'pcie' passthrough on 'virt' > > Dominik Csapak (10): > api/pvestatd: broadcast and expose non-x86 host architecture > ui: resource store: add architecture field > ui: qemu: add architecture field in wizard and hardware view > ui: qemu: make scsi hw selector architecture aware > ui: qemu: make osdefaults architecture aware > ui: qemu: make os type selector architecture aware > ui: qemu: make machine panels/fields architecture aware > ui: qemu: make bios selector architecture aware > ui: qemu: make sortByPreviousUsage architecture aware > ui: qemu: wizard: use defaults to populate machine and bios > > PVE/API2/Cluster.pm | 9 +++ > PVE/API2/Nodes.pm | 3 +- > PVE/Service/pvestatd.pm | 10 +++ > www/manager6/Makefile | 1 + > www/manager6/Utils.js | 61 ++++++++++++++++-- > www/manager6/data/ResourceStore.js | 6 ++ > www/manager6/form/ControllerSelector.js | 9 ++- > www/manager6/form/QemuBiosSelector.js | 61 ++++++++++++++++-- > www/manager6/form/QemuMachineSelector.js | 64 +++++++++++++++++++ > www/manager6/form/ScsiHwSelector.js | 63 ++++++++++++++++++ > www/manager6/panel/MultiDiskEdit.js | 14 ++-- > www/manager6/qemu/CIDriveEdit.js | 2 + > www/manager6/qemu/CreateWizard.js | 27 ++++++++ > www/manager6/qemu/HardwareView.js | 19 +++++- > www/manager6/qemu/MachineEdit.js | 63 +++++++++++++----- > www/manager6/qemu/MultiHDEdit.js | 3 +- > www/manager6/qemu/NetworkEdit.js | 3 +- > www/manager6/qemu/OSDefaults.js | 81 +++++++++++++++++++----- > www/manager6/qemu/OSTypeEdit.js | 39 +++++++++++- > www/manager6/qemu/QemuBiosEdit.js | 35 +++++++++- > www/manager6/qemu/ScsiHwEdit.js | 1 + > www/manager6/qemu/SystemEdit.js | 33 +++++++--- > www/manager6/window/GuestDiskReassign.js | 1 + > 23 files changed, 539 insertions(+), 69 deletions(-) > create mode 100644 www/manager6/form/QemuMachineSelector.js >