[pve-devel] [PATCH 2/2] add spice support to qemu
Dietmar Maurer
dietmar at proxmox.com
Tue Jun 25 07:13:54 CEST 2013
I committed a slightly modified version using 'vga:qlx' instead of 'spice:1'
> -----Original Message-----
> From: pve-devel-bounces at pve.proxmox.com [mailto:pve-devel-
> bounces at pve.proxmox.com] On Behalf Of Alexandre Derumier
> Sent: Freitag, 21. Juni 2013 10:32
> To: pve-devel at pve.proxmox.com
> Subject: [pve-devel] [PATCH 2/2] add spice support to qemu
>
> add new option : spice: 1
>
> this enable spice (currently without tls on socket), and force vga=qxl
>
> Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
> ---
> PVE/QemuServer.pm | 34 ++++++++++++++++++++++++++++++++++
> 1 file changed, 34 insertions(+)
>
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index d2b942f..25f163d
> 100644
> --- a/PVE/QemuServer.pm
> +++ b/PVE/QemuServer.pm
> @@ -332,6 +332,12 @@ EODESC
> type => 'boolean',
> description => "Freeze CPU at startup (use 'c' monitor command to start
> execution).",
> },
> + spice => {
> + optional => 1,
> + type => 'boolean',
> + description => "Enable/disable Spice Console.",
> + default => 1,
> + },
> vga => {
> optional => 1,
> type => 'string',
> @@ -2349,6 +2355,8 @@ sub config_to_command {
> }
> }
>
> + $vga = 'qxl' if $conf->{spice};
> +
> push @$cmd, '-vga', $vga if $vga; # for kvm 77 and later
>
> # time drift fix
> @@ -2414,6 +2422,26 @@ sub config_to_command {
> push @$devices, '-device',
> 'virtserialport,chardev=qga0,name=org.qemu.guest_agent.0';
> }
>
> + if($conf->{spice}){
> + my $pciaddr = print_pci_addr("spice", $bridges);
> +
> + #tls support
> +
> + my $x509 = "x509-key-file=/etc/pve/local/pve-ssl.key";
> + $x509 .= ",x509-cert-file=/etc/pve/local/pve-ssl.pem";
> + $x509 .= ",x509-cacert-file=/etc/pve/pve-root-ca.pem";
> +
> + #push @$cmd, '-spice',"port=60100,tls-port=60101,disable-
> ticketing,$x509,tls-ciphers=DES-CBC3-SHA";
> + #push @$cmd,
> +'-spice',"unix=$socket,$x509,tls-ciphers=DES-CBC3-SHA";
> +
> + my $socket = spice_socket($vmid);
> +
> + push @$cmd, '-spice',"disable-ticketing,unix=$socket";
> + push @$cmd, '-device',"virtio-serial,id=spice$pciaddr";
> + push @$cmd, '-chardev',"spicevmc,id=vdagent,name=vdagent";
> + push @$cmd, '-
> device',"virtserialport,chardev=vdagent,name=com.redhat.spice.0";
> + }
> +
> # enable balloon by default, unless explicitly disabled
> if (!defined($conf->{balloon}) || $conf->{balloon}) {
> $pciaddr = print_pci_addr("balloon0", $bridges); @@ -2537,6 +2565,11
> @@ sub vnc_socket {
> return "${var_run_tmpdir}/$vmid.vnc"; }
>
> +sub spice_socket {
> + my ($vmid) = @_;
> + return "${var_run_tmpdir}/$vmid.spice"; }
> +
> sub qmp_socket {
> my ($vmid) = @_;
> return "${var_run_tmpdir}/$vmid.qmp"; @@ -3405,6 +3438,7 @@ sub
> print_pci_addr {
> scsihw1 => { bus => 0, addr => 6 },
> ahci0 => { bus => 0, addr => 7 },
> qga0 => { bus => 0, addr => 8 },
> + spice => { bus => 0, addr => 9 },
> virtio0 => { bus => 0, addr => 10 },
> virtio1 => { bus => 0, addr => 11 },
> virtio2 => { bus => 0, addr => 12 },
> --
> 1.7.10.4
>
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
More information about the pve-devel
mailing list