* [pve-devel] [PATCH qemu-server/manager/docs v1 0/3] Live-Migration with VNC clipboard
@ 2025-11-17 16:26 Markus Frank
2025-11-17 16:26 ` [pve-devel] [PATCH qemu-server v1 1/3] vga: allow live-migration with clipboard Markus Frank
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Markus Frank @ 2025-11-17 16:26 UTC (permalink / raw)
To: pve-devel
The live-migration feature now works with qemu's upstream commit:
5d56bff11e ("ui/vdagent: add migration support")
https://github.com/qemu/qemu/commit/5d56bff11e3d7fdbbf7fda6c9a8ebd0d6b7a7bac
qemu-server:
Markus Frank (1):
vga: allow live-migration with clipboard
src/PVE/API2/Qemu.pm | 5 -----
src/PVE/QemuMigrate.pm | 5 -----
src/PVE/QemuServer.pm | 2 +-
3 files changed, 1 insertion(+), 11 deletions(-)
manager:
Markus Frank (1):
ui: display: remove 'vncMigration' hint
www/manager6/qemu/DisplayEdit.js | 9 ---------
1 file changed, 9 deletions(-)
docs:
Markus Frank (1):
clipboard: remove 'live-migration not possible' note
qm.adoc | 8 --------
1 file changed, 8 deletions(-)
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pve-devel] [PATCH qemu-server v1 1/3] vga: allow live-migration with clipboard
2025-11-17 16:26 [pve-devel] [PATCH qemu-server/manager/docs v1 0/3] Live-Migration with VNC clipboard Markus Frank
@ 2025-11-17 16:26 ` Markus Frank
2025-11-17 16:42 ` Fiona Ebner
2025-11-17 16:26 ` [pve-devel] [PATCH manager v1 2/3] ui: display: remove 'vncMigration' hint Markus Frank
2025-11-17 16:26 ` [pve-devel] [PATCH docs v1 3/3] clipboard: remove 'live-migration not possible' note Markus Frank
2 siblings, 1 reply; 8+ messages in thread
From: Markus Frank @ 2025-11-17 16:26 UTC (permalink / raw)
To: pve-devel
The live-migration feature now works with qemu's upstream commit:
5d56bff11e ("ui/vdagent: add migration support")
Signed-off-by: Markus Frank <m.frank@proxmox.com>
---
src/PVE/API2/Qemu.pm | 5 -----
src/PVE/QemuMigrate.pm | 5 -----
src/PVE/QemuServer.pm | 2 +-
3 files changed, 1 insertion(+), 11 deletions(-)
diff --git a/src/PVE/API2/Qemu.pm b/src/PVE/API2/Qemu.pm
index 02f5caec..314b6a48 100644
--- a/src/PVE/API2/Qemu.pm
+++ b/src/PVE/API2/Qemu.pm
@@ -5267,11 +5267,6 @@ __PACKAGE__->register_method({
my ($local_resources, $mapped_resources, $missing_mappings_by_node) =
PVE::QemuMigrate::Helpers::check_local_resources($vmconf, $res->{running}, 1);
- my $vga = PVE::QemuServer::parse_vga($vmconf->{vga});
- if ($res->{running} && $vga->{'clipboard'} && $vga->{'clipboard'} eq 'vnc') {
- push $local_resources->@*, "clipboard=vnc";
- }
-
$res->{allowed_nodes} = [];
$res->{not_allowed_nodes} = {};
diff --git a/src/PVE/QemuMigrate.pm b/src/PVE/QemuMigrate.pm
index 6f7fd9f1..4f613ffb 100644
--- a/src/PVE/QemuMigrate.pm
+++ b/src/PVE/QemuMigrate.pm
@@ -293,11 +293,6 @@ sub prepare {
}
}
- my $vga = PVE::QemuServer::parse_vga($conf->{vga});
- if ($running && $vga->{'clipboard'} && $vga->{'clipboard'} eq 'vnc') {
- die "VMs with 'clipboard' set to 'vnc' are not live migratable!\n";
- }
-
my $vollist = PVE::QemuServer::get_vm_volumes($conf);
my $storages = {};
diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm
index 1b9257ef..6d33bec0 100644
--- a/src/PVE/QemuServer.pm
+++ b/src/PVE/QemuServer.pm
@@ -184,7 +184,7 @@ my $vga_fmt = {
clipboard => {
description =>
'Enable a specific clipboard. If not set, depending on the display type the'
- . ' SPICE one will be added. Migration with VNC clipboard is not yet supported!',
+ . ' SPICE one will be added.',
type => 'string',
enum => ['vnc'],
optional => 1,
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pve-devel] [PATCH manager v1 2/3] ui: display: remove 'vncMigration' hint
2025-11-17 16:26 [pve-devel] [PATCH qemu-server/manager/docs v1 0/3] Live-Migration with VNC clipboard Markus Frank
2025-11-17 16:26 ` [pve-devel] [PATCH qemu-server v1 1/3] vga: allow live-migration with clipboard Markus Frank
@ 2025-11-17 16:26 ` Markus Frank
2025-11-17 16:26 ` [pve-devel] [PATCH docs v1 3/3] clipboard: remove 'live-migration not possible' note Markus Frank
2 siblings, 0 replies; 8+ messages in thread
From: Markus Frank @ 2025-11-17 16:26 UTC (permalink / raw)
To: pve-devel
The live-migration feature now works with qemu's upstream commit:
5d56bff11e ("ui/vdagent: add migration support")
Signed-off-by: Markus Frank <m.frank@proxmox.com>
---
www/manager6/qemu/DisplayEdit.js | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/www/manager6/qemu/DisplayEdit.js b/www/manager6/qemu/DisplayEdit.js
index ab07fd31..cd5f7abf 100644
--- a/www/manager6/qemu/DisplayEdit.js
+++ b/www/manager6/qemu/DisplayEdit.js
@@ -136,15 +136,6 @@ Ext.define('PVE.qemu.DisplayInputPanel', {
hidden: '{hideVNCHint}',
},
},
- {
- xtype: 'displayfield',
- name: 'vncMigration',
- userCls: 'pmx-hint',
- value: gettext('You cannot live-migrate while using the VNC clipboard.'),
- bind: {
- hidden: '{hideVNCHint}',
- },
- },
{
xtype: 'displayfield',
name: 'defaultHint',
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pve-devel] [PATCH docs v1 3/3] clipboard: remove 'live-migration not possible' note
2025-11-17 16:26 [pve-devel] [PATCH qemu-server/manager/docs v1 0/3] Live-Migration with VNC clipboard Markus Frank
2025-11-17 16:26 ` [pve-devel] [PATCH qemu-server v1 1/3] vga: allow live-migration with clipboard Markus Frank
2025-11-17 16:26 ` [pve-devel] [PATCH manager v1 2/3] ui: display: remove 'vncMigration' hint Markus Frank
@ 2025-11-17 16:26 ` Markus Frank
2 siblings, 0 replies; 8+ messages in thread
From: Markus Frank @ 2025-11-17 16:26 UTC (permalink / raw)
To: pve-devel
The live-migration feature now works with qemu's upstream commit:
5d56bff11e ("ui/vdagent: add migration support")
Signed-off-by: Markus Frank <m.frank@proxmox.com>
---
qm.adoc | 8 --------
1 file changed, 8 deletions(-)
diff --git a/qm.adoc b/qm.adoc
index eb6ab4d..9bd2c3e 100644
--- a/qm.adoc
+++ b/qm.adoc
@@ -1030,14 +1030,6 @@ SPICE, virtio or virgl, you'll need to choose which clipboard to use.
This is because the default *SPICE* clipboard will be replaced by the
*VNC* clipboard, if `clipboard` is set to `vnc`.
-// TODO: Change NOTE below when live-migration patch is packaged in pve-qemu:
-// https://lists.gnu.org/archive/html/qemu-devel/2025-05/msg05656.html
-NOTE: In order to enable the VNC clipboard, QEMU is configured to use the
-qemu-vdagent device.
-https://lists.gnu.org/archive/html/qemu-devel/2021-08/msg05393.html[Currently,
-the qemu-vdagent device does not support live migration.] This means that a VM
-with an enabled VNC clipboard cannot be live-migrated at the moment.
-
[[qm_usb_passthrough]]
USB Passthrough
~~~~~~~~~~~~~~~
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [pve-devel] [PATCH qemu-server v1 1/3] vga: allow live-migration with clipboard
2025-11-17 16:26 ` [pve-devel] [PATCH qemu-server v1 1/3] vga: allow live-migration with clipboard Markus Frank
@ 2025-11-17 16:42 ` Fiona Ebner
2025-11-17 16:43 ` Fiona Ebner
0 siblings, 1 reply; 8+ messages in thread
From: Fiona Ebner @ 2025-11-17 16:42 UTC (permalink / raw)
To: Proxmox VE development discussion, Markus Frank
Am 17.11.25 um 5:28 PM schrieb Markus Frank:
> The live-migration feature now works with qemu's upstream commit:
> 5d56bff11e ("ui/vdagent: add migration support")
>
> Signed-off-by: Markus Frank <m.frank@proxmox.com>
> ---
> src/PVE/API2/Qemu.pm | 5 -----
> src/PVE/QemuMigrate.pm | 5 -----
> src/PVE/QemuServer.pm | 2 +-
> 3 files changed, 1 insertion(+), 11 deletions(-)
>
> diff --git a/src/PVE/API2/Qemu.pm b/src/PVE/API2/Qemu.pm
> index 02f5caec..314b6a48 100644
> --- a/src/PVE/API2/Qemu.pm
> +++ b/src/PVE/API2/Qemu.pm
> @@ -5267,11 +5267,6 @@ __PACKAGE__->register_method({
> my ($local_resources, $mapped_resources, $missing_mappings_by_node) =
> PVE::QemuMigrate::Helpers::check_local_resources($vmconf, $res->{running}, 1);
>
> - my $vga = PVE::QemuServer::parse_vga($vmconf->{vga});
> - if ($res->{running} && $vga->{'clipboard'} && $vga->{'clipboard'} eq 'vnc') {
> - push $local_resources->@*, "clipboard=vnc";
> - }
I suppose this depends on having machine version >= 10.1, or? (In any
case QEMU binary version >= 10.1 but that is implied by machine version
>= 10.1)
> -
> $res->{allowed_nodes} = [];
> $res->{not_allowed_nodes} = {};
>
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [pve-devel] [PATCH qemu-server v1 1/3] vga: allow live-migration with clipboard
2025-11-17 16:42 ` Fiona Ebner
@ 2025-11-17 16:43 ` Fiona Ebner
2025-11-19 14:18 ` Markus Frank
0 siblings, 1 reply; 8+ messages in thread
From: Fiona Ebner @ 2025-11-17 16:43 UTC (permalink / raw)
To: Proxmox VE development discussion, Markus Frank
Am 17.11.25 um 5:41 PM schrieb Fiona Ebner:
> Am 17.11.25 um 5:28 PM schrieb Markus Frank:
>> The live-migration feature now works with qemu's upstream commit:
>> 5d56bff11e ("ui/vdagent: add migration support")
>>
>> Signed-off-by: Markus Frank <m.frank@proxmox.com>
>> ---
>> src/PVE/API2/Qemu.pm | 5 -----
>> src/PVE/QemuMigrate.pm | 5 -----
>> src/PVE/QemuServer.pm | 2 +-
>> 3 files changed, 1 insertion(+), 11 deletions(-)
>>
>> diff --git a/src/PVE/API2/Qemu.pm b/src/PVE/API2/Qemu.pm
>> index 02f5caec..314b6a48 100644
>> --- a/src/PVE/API2/Qemu.pm
>> +++ b/src/PVE/API2/Qemu.pm
>> @@ -5267,11 +5267,6 @@ __PACKAGE__->register_method({
>> my ($local_resources, $mapped_resources, $missing_mappings_by_node) =
>> PVE::QemuMigrate::Helpers::check_local_resources($vmconf, $res->{running}, 1);
>>
>> - my $vga = PVE::QemuServer::parse_vga($vmconf->{vga});
>> - if ($res->{running} && $vga->{'clipboard'} && $vga->{'clipboard'} eq 'vnc') {
>> - push $local_resources->@*, "clipboard=vnc";
>> - }
>
> I suppose this depends on having machine version >= 10.1, or? (In any
> case QEMU binary version >= 10.1 but that is implied by machine version >= 10.1)
Sorry, there was an accidental quote here by '>' ending up at the
beginning of the line ;)
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [pve-devel] [PATCH qemu-server v1 1/3] vga: allow live-migration with clipboard
2025-11-17 16:43 ` Fiona Ebner
@ 2025-11-19 14:18 ` Markus Frank
2025-11-19 14:46 ` Fiona Ebner
0 siblings, 1 reply; 8+ messages in thread
From: Markus Frank @ 2025-11-19 14:18 UTC (permalink / raw)
To: Proxmox VE development discussion, Fiona Ebner
On 2025-11-17 17:43, Fiona Ebner wrote:
> Am 17.11.25 um 5:41 PM schrieb Fiona Ebner:
>> Am 17.11.25 um 5:28 PM schrieb Markus Frank:
>>> The live-migration feature now works with qemu's upstream commit:
>>> 5d56bff11e ("ui/vdagent: add migration support")
>>>
>>> Signed-off-by: Markus Frank <m.frank@proxmox.com>
>>> ---
>>> src/PVE/API2/Qemu.pm | 5 -----
>>> src/PVE/QemuMigrate.pm | 5 -----
>>> src/PVE/QemuServer.pm | 2 +-
>>> 3 files changed, 1 insertion(+), 11 deletions(-)
>>>
>>> diff --git a/src/PVE/API2/Qemu.pm b/src/PVE/API2/Qemu.pm
>>> index 02f5caec..314b6a48 100644
>>> --- a/src/PVE/API2/Qemu.pm
>>> +++ b/src/PVE/API2/Qemu.pm
>>> @@ -5267,11 +5267,6 @@ __PACKAGE__->register_method({
>>> my ($local_resources, $mapped_resources, $missing_mappings_by_node) =
>>> PVE::QemuMigrate::Helpers::check_local_resources($vmconf, $res->{running}, 1);
>>>
>>> - my $vga = PVE::QemuServer::parse_vga($vmconf->{vga});
>>> - if ($res->{running} && $vga->{'clipboard'} && $vga->{'clipboard'} eq 'vnc') {
>>> - push $local_resources->@*, "clipboard=vnc";
>>> - }
>>
>> I suppose this depends on having machine version >= 10.1, or? (In any
>> case QEMU binary version >= 10.1 but that is implied by machine version >= 10.1)
Yes, it needs QEMU version >= 10.1. However, when I set the machine version to < 10.1
(tested with version 6.2), the migration still works fine and the clipboard still functions on the other node.
It seems that the machine version is unrelated here.
I suppose it would be better to check the QEMU version using get_running_qemu_version, wouldn't it?
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [pve-devel] [PATCH qemu-server v1 1/3] vga: allow live-migration with clipboard
2025-11-19 14:18 ` Markus Frank
@ 2025-11-19 14:46 ` Fiona Ebner
0 siblings, 0 replies; 8+ messages in thread
From: Fiona Ebner @ 2025-11-19 14:46 UTC (permalink / raw)
To: Markus Frank, Proxmox VE development discussion
Am 19.11.25 um 3:17 PM schrieb Markus Frank:
> On 2025-11-17 17:43, Fiona Ebner wrote:
>> Am 17.11.25 um 5:41 PM schrieb Fiona Ebner:
>>> Am 17.11.25 um 5:28 PM schrieb Markus Frank:
>>>> The live-migration feature now works with qemu's upstream commit:
>>>> 5d56bff11e ("ui/vdagent: add migration support")
>>>>
>>>> Signed-off-by: Markus Frank <m.frank@proxmox.com>
>>>> ---
>>>> src/PVE/API2/Qemu.pm | 5 -----
>>>> src/PVE/QemuMigrate.pm | 5 -----
>>>> src/PVE/QemuServer.pm | 2 +-
>>>> 3 files changed, 1 insertion(+), 11 deletions(-)
>>>>
>>>> diff --git a/src/PVE/API2/Qemu.pm b/src/PVE/API2/Qemu.pm
>>>> index 02f5caec..314b6a48 100644
>>>> --- a/src/PVE/API2/Qemu.pm
>>>> +++ b/src/PVE/API2/Qemu.pm
>>>> @@ -5267,11 +5267,6 @@ __PACKAGE__->register_method({
>>>> my ($local_resources, $mapped_resources,
>>>> $missing_mappings_by_node) =
>>>>
>>>> PVE::QemuMigrate::Helpers::check_local_resources($vmconf, $res-
>>>> >{running}, 1);
>>>> - my $vga = PVE::QemuServer::parse_vga($vmconf->{vga});
>>>> - if ($res->{running} && $vga->{'clipboard'} && $vga-
>>>> >{'clipboard'} eq 'vnc') {
>>>> - push $local_resources->@*, "clipboard=vnc";
>>>> - }
>>>
>>> I suppose this depends on having machine version >= 10.1, or? (In any
>>> case QEMU binary version >= 10.1 but that is implied by machine
>>> version >= 10.1)
>
> Yes, it needs QEMU version >= 10.1. However, when I set the machine
> version to < 10.1
> (tested with version 6.2), the migration still works fine and the
> clipboard still functions on the other node.
> It seems that the machine version is unrelated here.
>
> I suppose it would be better to check the QEMU version using
> get_running_qemu_version, wouldn't it?
But what if the target node has an older binary version? It won't
understand the new data in the migration stream, right? Such changes to
the migration stream should always be protected by machine version AFAIK
and it smells like a bug in QEMU if it isn't protected like that in QEMU
internally.
Could you test what happens when the target is an older binary?
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-11-19 14:46 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-17 16:26 [pve-devel] [PATCH qemu-server/manager/docs v1 0/3] Live-Migration with VNC clipboard Markus Frank
2025-11-17 16:26 ` [pve-devel] [PATCH qemu-server v1 1/3] vga: allow live-migration with clipboard Markus Frank
2025-11-17 16:42 ` Fiona Ebner
2025-11-17 16:43 ` Fiona Ebner
2025-11-19 14:18 ` Markus Frank
2025-11-19 14:46 ` Fiona Ebner
2025-11-17 16:26 ` [pve-devel] [PATCH manager v1 2/3] ui: display: remove 'vncMigration' hint Markus Frank
2025-11-17 16:26 ` [pve-devel] [PATCH docs v1 3/3] clipboard: remove 'live-migration not possible' note Markus Frank
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox