[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