[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#678679: Spice, current status and the fueture in Debian

Package: tech-ctte
Severity: normal

Hi, Technical Committee,

We'd like to decide how the spice[1] should be maintained in Debian. 

1) Background
The Simple Protocol for Independent Computing Environments (SPICE) is 
a remote display system built for virtual environments, just like vnc
or remote desktop, but provide more rich feature and better 
performance. SPICE was developed by Qumranet[2], which was acquared by
RedHat, RedHat is the primary sponsor of SPICE and includes it in RHEL
(since 5.4) and RHEV platform. Spice has 2 different part, server part
and client part, server part is intergrated to qemu, client part can 
be a standalone program, such as spice-gtk and virt-viewer, or run as 
a browser plugin. Spice client and spice server communicate with tcp 
socket. Spice can only works on x86 and i386 platform now. 

Spice project provide xserver-xorg-video-qxl and spice-vdagent as the
guest xserver driver and the guest helper program to provide 
copy/pause support in qemu/kvm guest OS. 

2) Celt, the root of our problem
Spice uses celt[3] for audio codec. Different celt version may use 
different bitstream, it means that if Spice client want to correctly 
decode audio codec from spice server, it should use the same celt 
version as the spice server. For compatibility or other reason, the
upstream decide to pin to celt 0.5.1. 

Celt is already in Debian[4], and is maintained by Ron Lee. For celt 
0.5.1 is not maintained by upstream any more, including it in Debian 
may introduce potential security problem, so we decide to not include
it in Debian. this problem has been discussed at bug 603699[5].

According messages from Ron, celt is offically dead, the upstream will
not maintain it any more. A new codec, opus, is published as RFC by 
the IETF CODEC working group, and is encouraged to replace celt. 

Alon Levy is working on adding opus codec support to spice, but it is
not merged into upstream git yet. Even opus codec support is added by
upstream, in order to compatible with the previous version, they may 
not remove celt051 codec soon.

3) Current status of spice in Debian
At the end of the discussion in bug 603699, I decide to package spice
with a embeded celt051, and celt051 runtime library is in package 
libspice-server1[6] now. Spice package is in a bad shape, but it 
provide the same function as the upstream.

Spice client program, spice-client and spice-gtk depends on 
libspice-server1, for they uses celt runtime library. 

xserver-xorg-video-qxl and spice-vdagent are in Debian and in a
good shape. 

According the Popcon statistics[7], 0.13% Debian users uses 
spice-client, 3.21% Debian uses uses libspice-server1(for qemu/kvm
depends on libspice-server1, this can be traded as qemu users), 
so 4% qemu/kvm user uses spice-client. 

4) The fueture
4.1 Remove spice celt051 support in Debian
Actually spice support another codec: RAW, when using raw codec, audio
streams is not compressed, so more bandwidth is consumed, When using 
spice in Internet, the latency will become large and introduce bad
user experience. 

Michael have tested the compatibility for spice server with and 
without celt051 and spice client with and without celt051, and send 
the patch[8] to the upstream, but the upstream refused to apply this
patch, they insist spice should come with celt051 support now.

We can apply this patch and ship spice without celt in Debian, but for
we are not expert on spice and celt, and lack necessary device to test 
the compatibility with the upstream release, we may in the risk of 
shipping spice that not compatible with spice in other distribution.

4.2 Completely remove spice
If spice is removed from Debian, We will not able to use debian as a
spice server or spice client. 

We can still run Debian in RHEV or other spice compatible qemu/kvm 
hypervisor, xserver-xorg-video-qxl and spice-vdagent don't use celt.

Thank you for your kindly help. 

[1] http://www.spice-space.org/
[2] http://en.wikipedia.org/wiki/Qumranet
[3] http://celt-codec.org/
[4] http://packages.debian.org/search?keywords=celt&searchon=names&suite=all&section=all
[5] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=603699
[6] http://packages.debian.org/sid/amd64/libspice-server1/filelist
[7] http://qa.debian.org/popcon.php?package=spice
[8] http://lists.freedesktop.org/archives/spice-devel/2012-June/009410.html
Thanks and Regards,
Liang Guo

Attachment: signature.asc
Description: Digital signature

Reply to: