[pve-devel] [PATCH qemu-server, manager v8 0/4] fix #1926 autodetect xtermjs or novnc for VM console

Aaron Lauterer a.lauterer at proxmox.com
Mon Nov 3 22:04:22 CET 2025


thanks for catching that line in 3/4 that got added by accident!

I sent a v9 that fixes that 
https://lore.proxmox.com/pve-devel/20251103210233.2432522-2-a.lauterer@proxmox.com/T/#ma0b9e1e65e336734f20dc993799dbb743de25da7

On  2025-10-27  15:48, Michael Köppl wrote:
> Gave this another quick spin, just to be sure. Tested the following:
> - Created VM with serial terminal as display
> - xtermjs was used for serial
> - Switching to "default" or explicitly to "Standard VGA" uses noVNC
> - Switching to "SPICE" uses remote-viewer
> 
> Seems to work as advertised. Left a comment regarding one code change on
> 3/4.
> 
> Renewing the T-b just in case:
> Tested-by: Michael Köppl <m.koeppl at proxmox.com>
> 
> On Fri Oct 3, 2025 at 5:00 PM CEST, Aaron Lauterer wrote:
>> Here is a new verson for this fix. Nothing changed since v7 expect
>> rebasing. Quite a bit happened since then, but the rebase should be fine
>> by now. I gave it a quick test on my workstation and things seem to work
>> as expected. A quick test by someone else might be warranted though,
>> just to be safe. I added all the R-b and T-b tags that were added on v7
>> direclty into each patch. Hopefully as they should be (chronological).
>>
>> The old cover letter that explains what is happening below:
>>
>> After the feedback from Fiona on v6 and some
>> off-list discussion, we decided to improve the backend part by moving
>> the "default" logic out of `get_vga_properties` and move it into a
>> separate public `get_default_vga_type` function. This way we can leave
>> all the other functions private to the QemuServer.pm module.
>>
>>
>> We add a new property in the VM status/current API result that includes
>> the display configurtion of the VM. This way we can check in the
>> frontend what to do with it.
>>
>> I chose a nested return value, as that makes it easier to add/move
>> additional display properties into it.
>>
>> Patch 1/4 moves the default display logic into its own public function
>>
>> Patch 2/4 adds the new display property. If not explicitly set in the VM
>> config, it will return the default value.
>>
>> Patch 3/4 implements the changes in the UI. The final result isn't
>> really a lot simpler on the UI side than in V4 where we had the extra
>> API call to the VM's config directly. Because we still need to wait for
>> the API call to finish when initially navigating to the VM. But we have
>> one fewer call.
>>
>> Patch 4/4 then introduces some changes to make loading of the console
>> faster if we just navigate in the submenu of a VM itself where we
>> already have the current status of a VM already cached.
>>
>>
>> Changes from
>> v7: rebased
>> v6: backend only: create new `get_default_vga_type` function.
>> v5: implement suggestions:
>>
>> * use get_vga_properties for default VGA
>> * UI: use helper to determine if serial display
>>
>> Aaron Lauterer (2):
>>    add new public get_default_vga_type function
>>    api: status/current: add display property
>>
>>   src/PVE/API2/Qemu.pm  | 13 +++++++++++++
>>   src/PVE/QemuServer.pm | 29 ++++++++++++++++++++++-------
>>   2 files changed, 35 insertions(+), 7 deletions(-)
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel





More information about the pve-devel mailing list