diff options
Diffstat (limited to 'docs/manual/SpiceUserManual-Installation.xml')
-rw-r--r-- | docs/manual/SpiceUserManual-Installation.xml | 199 |
1 files changed, 199 insertions, 0 deletions
diff --git a/docs/manual/SpiceUserManual-Installation.xml b/docs/manual/SpiceUserManual-Installation.xml new file mode 100644 index 00000000..4e883acd --- /dev/null +++ b/docs/manual/SpiceUserManual-Installation.xml @@ -0,0 +1,199 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" type="xml"?> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"> + <title>Installation</title> + + <section xml:id="rhel_fedora"> + <title>Installing Spice on RHEL or Fedora </title> + <para> + Be aware that RHEL has no builds of qemu/spice-server for i386, only x86_64 builds are available. + </para> + <section> + <title>RHEL >=6 and Fedora >=13</title> + <para> + <screen>yum install qemu-kvm virt-viewer</screen> + </para> + <para> + The package spice-protocol will be downloaded automatically as a dependency of package kvm. + </para> + </section> + <section><title>RHEVM Users</title> + <para> + <emphasis role="bold"> + <link xlink:href="http://www.ovirt.org">oVirt</link>/RHEVM users + could be also interested in the spice-xpi package as it allows you + to execute spice-client directly from the oVirt/RHEVM UserPortal. + </emphasis> + <screen>yum install spice-xpi</screen> + </para> + </section> + </section> + + <section xml:id="linux_generic"> + <title>Generic Build Instructions</title> + + <para> + This section is for distributions that don't have *spice* packages in their repositories. + It will show you step by step how to build the required spice components. + </para> + + <section xml:id="req_client"> + <title>Client requirements</title> + + <orderedlist> + <listitem><para><emphasis role="bold">autotools</emphasis></para></listitem> + <listitem><para><emphasis role="bold">gtk+2 > 2.18 or gtk+3</emphasis></para></listitem> + <listitem><para><emphasis role="bold">celt = 0.5.1.3</emphasis> The exact version is required due to the lack of backwards compatibility in newer celt releases.</para></listitem> + <listitem><para><emphasis role="bold">cyrus-sasl</emphasis></para></listitem> + <listitem><para><emphasis role="bold">pixman</emphasis></para></listitem> + <listitem><para><emphasis role="bold">openssl</emphasis></para></listitem> + <listitem><para><emphasis role="bold">pyparsing</emphasis></para></listitem> + <listitem><para><emphasis role="bold">usbredir</emphasis></para></listitem> + <listitem><para><emphasis role="bold">PolicyKit</emphasis></para></listitem> + </orderedlist> + </section> + + <section xml:id="req_host"> + <title>Host requirements</title> + <orderedlist> + <listitem><para><emphasis role="bold">KVM supported by kernel</emphasis> (It should work also without KVM, but + it's not being tested as most Linux distrubitions already support + KVM.)</para></listitem> + </orderedlist> + + </section> + + <section> + <title>Guest requirements</title> + <section> + <title>Linux Guest</title> + <para> + spice-vdagent requires virtio-serial support to be enabled. This is described in the <link xlink:href="SpiceUserManual-Basics.xml#basics">chapter Spice basics</link>. + Guest should have installed qxl driver (xorg-x11-drv-qxl on Fedora and RHEL). + </para> + </section> + <section> + <title>Windows Guest</title> + <para> + Drivers for QXL and drivers for virtio-serial require Win XP SP3 and Win 7. + </para> + </section> + + <section xml:id="setting_be"> + <title>Setting up the build environment</title> + + <para> + <emphasis role="bold">This is a list of prerequisites on RHEL or Fedora. Install + equivalent packages for your distribution in case that you're not using RHEL + or Fedora.</emphasis> + </para> + <para> + <emphasis role="bold">All prerequisites for Windows are available in one big package which is available + at <link xlink:href="http://spice-space.org/download.html">http://spice-space.org/download.html</link>.</emphasis> + </para> + <screen>yum install git pixman-devel celt051-devel cegui-devel libjpeg-devel alsa-lib-devel log4cpp-devel \ + openssl-devel libXrandr-devel libgcrypt-devel SDL-devel nss-devel dev86 iasl pyparsing</screen> + + <para> + <emphasis role="bold">Package prerequisites for Ubuntu</emphasis> + </para> + <screen>apt-get install build-essential autoconf git-core libtool liblog4cpp5-dev libavcodec-dev \ + libssl-dev xlibmesa-glu-dev libasound-dev libpng12-dev libfreetype6-dev libfontconfig1-dev \ + libogg-dev libxrandr-dev kvm libgcrypt-dev libsdl-dev</screen> + + </section> + + <section xml:id="building_libcacard"> + <title>Building libcacard</title> + <para>Fedora >=14 RHEL >=6.1 has libcacard already available. So you can install it directly trough yum.</para> + <screen>yum install libcacard</screen> + <para>Otherwise follow these instructions. <emphasis role="bold">The environment + variable $BUILD_ROOT will point to a directory with stored sources and will + be used during the whole build process. The variable $INST_ROOT will point to a + directory in which Spice will be installed.</emphasis></para> + <screen>export BUILD_ROOT=/tmp/spice; mkdir $BUILD_ROOT; cd $BUILD_ROOT; +export INST_ROOT="/opt/spice"; mkdir $INST_ROOT +git clone git://anongit.freedesktop.org/~alon/libcacard +cd libcacard +./configure --prefix=/usr --libdir=/usr/lib64 # Ignore --libdir at Ubuntu +make +make install</screen> + + </section> + + <section xml:id="getting_client"> + <title>Getting client sources</title> + + <screen>cd $BUILD_ROOT +git clone git://cgit.freedesktop.org/spice/spice-protocol +git clone git://cgit.freedesktop.org/spice/spice +wget http://downloads.us.xiph.org/releases/celt/celt-0.5.1.3.tar.gz +tar xvzf celt-0.5.1.3.tar.gz + </screen> + </section> + + <section xml:id="getting_server"> + <title>Getting client/server sources</title> + <para>Skip this section if you don't want to build server side.</para> + <screen>cd $BUILD_ROOT +git clone git://cgit.freedesktop.org/spice/qemu +cd qemu; git checkout -b spice.v13 origin/spice.v13; cd .. +git clone git://cgit.freedesktop.org/spice/spice-protocol +git clone git://cgit.freedesktop.org/spice/spice +git clone git://cgit.freedesktop.org/spice/win32/vd_agent +git clone git://cgit.freedesktop.org/spice/win32/qxl +git clone git://cgit.freedesktop.org/spice/slirp +wget http://downloads.us.xiph.org/releases/celt/celt-0.5.1.3.tar.gz +tar xvzf celt-0.5.1.3.tar.gz</screen> + + </section> + + <section xml:id="building_common"> + <title>Building common sources.</title> + <para>This part applies to both server and client build process.</para> + <screen>cd $BUILD_ROOT/spice-protocol +mkdir m4 +./autogen.sh --prefix=$INST_ROOT +sudo make install +cd $BUILD_ROOT/celt-0.5.1.3 +./configure --prefix=$INST_ROOT +sudo make install +</screen> + + </section> + <section> + <title>Building client side tools</title> + <screen>cd $BUILD_ROOT/spice +./autogen.sh --prefix=$INST_ROOT --enable-smartcard +cd client +sudo make install</screen> + </section> + + <section> + <title>Building server side tools</title> + <para>These instructions contain flags for a minimal working build of qemu with Spice support enabled. + You might want to build qemu with the --enable-io-thread option</para> + <screen>cd $SRC_ROOT/qemu +./configure --prefix=$INST_ROOT --target-list=x86_64-softmmu --enable-spice +make</screen> + </section> + + </section> + + <section> + <title>Setting up PATH</title> + <para>Last steps before starting with Spice are to set proper PATH variable. + For example RHEL is using /usr/libexec as directory for spicec and qemu-kvm binaries. + The following setup should be suitable for qemu and Spice built according to the instructions in + this chapter.</para> + + + <screen>echo "export PATH=$PATH:$INST_ROOT/bin:$BUILD_ROOT/x86_64-softmmu >> ~/.bashrc +source ~/.bashrc</screen> + + <para>You should now be able to access the qemu-system-x86_64 and spicec binaries.</para> + </section> + </section> + +</chapter> |