This helps build on a RHEL-6 machine --- README.xspice | 92 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 72 insertions(+), 20 deletions(-) diff --git a/README.xspice b/README.xspice index 189f8b3..b04a2b1 100644 --- a/README.xspice +++ b/README.xspice @@ -44,7 +44,7 @@ fedora) DRV_DIR=/usr/lib64/xorg/modules/drivers XORG_CONF_DIR=/etc/X11 -git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-qxl +git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-qxl xspice sudo yum install spice-server-devel spice-protocol cd xspice @@ -64,15 +64,27 @@ any root permissions. This assumes you already have spice-protocol and spice-server installed into $TEST prefix below. -TEST=/store/test -grab xserver, xspice, xextproto and xkbcomp +TEST=/store/test ( or TEST=$(pwd)/testxspice ) +mkdir -p $TEST/src +cd $TEST/src + +# grab xserver, xspice, xextproto, xkbcomp and more +for src in \ + git://anongit.freedesktop.org/xorg/proto/xextproto \ + git://anongit.freedesktop.org/xorg/proto/x11proto \ + git://anongit.freedesktop.org/xorg/proto/fontsproto \ + git://anongit.freedesktop.org/xorg/app/xkbcomp \ + git://anongit.freedesktop.org/xorg/xserver \ + git://anongit.freedesktop.org/xorg/lib/libxtrans \ + git://anongit.freedesktop.org/xorg/lib/libxkbfile \ + git://git.freedesktop.org/git/spice/spice-protocol \ + git://git.freedesktop.org/git/spice/spice ; +do + git clone $src; +done + +git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-qxl xspice -for src in git://anongit.freedesktop.org/xorg/proto/xextproto \ -git://anongit.freedesktop.org/xorg/app/xkbcomp \ -git://anongit.freedesktop.org/xorg/xserver \ -git://anongit.freedesktop.org/xorg/lib/libxkbfile \ -git://git.freedesktop.org/git/spice/spice-protocol -git://anongit.freedesktop.org/xorg/driver/xf86-video-qxl; do git clone $src; done build and install into some non common prefix (not to overwrite your existing server) - note that this is just for testing. This @@ -80,35 +92,75 @@ should all work with the default server as well, but that server requires root generally and this is undesireable for testing (and running actually). -export PKG_CONFIG_PATH=${TEST}/lib/pkgconfig +export PKG_CONFIG_PATH=${TEST}/lib/pkgconfig:${TEST}/share/pkgconfig +export MAKEFLAGS="-j4" + +#first build spice (or sudo yum install spice-devel or spice-server-devel) +sudo yum-builddep spice (or spice-server) +(cd spice-protocol; ./autogen.sh --prefix=$TEST && make install) +(cd spice; ./autogen.sh --prefix=$TEST && make install) + +# now build xserver +sudo yum install xorg-x11-server-devel libxcb-util-devel xcb-util-keysyms-devel libXfont-devel (cd xextproto; ./autogen.sh --prefix=$TEST --without-xmlto && make install) -(cd xserver; ./autogen.sh --prefix=$TEST && make install) -(cd xkbcomp; ./autogen.sh --prefix=$TEST && make install) +(cd x11proto; ./autogen.sh --prefix=$TEST && make install) +(cd fontsproto; ./autogen.sh --prefix=$TEST && make install) +(cd libxtrans; ./autogen.sh --prefix=$TEST && make install) (cd libxkbfile; ./autogen.sh --prefix=$TEST && make install) -(cd spice-protocol; ./autogen.sh --prefix=$TEST --datadir=$TEST/lib && make install) -(cd xspice; ./autogen.sh --prefix=$TEST && make install) +(cd xkbcomp; ./autogen.sh --prefix=$TEST && make install) -mkdir -p $TEST/etc/X11 -place the tested config below in $TEST/etc/X11/spiceqxl.xorg.conf. +# make sure DBUS_TYPE_UNIX_FD is defined (failed on my RHEL6 machine) +ADDSTR="#ifndef DBUS_TYPE_UNIX_FD\n" +ADDSTR+="#define DBUS_TYPE_UNIX_FD ((int) 'h')\n" +ADDSTR+="#endif" +sed -i "/define DBUS_TIMEOUT/ a$ADDSTR" \ + xserver/hw/xfree86/os-support/linux/systemd-logind.c + +# need ACLOCAL for libxtrans +export ACLOCAL="aclocal -I $TEST/share/aclocal" +(cd xserver; ./autogen.sh --prefix=$TEST && make install) + +# and now xspice +(cd xspice; ./autogen.sh --prefix=$TEST --enable-xspice && make install) + +mkdir -p $TEST/etc/X11 +cp xspice/examples/spiceqxl.xorg.conf.example $TEST/etc/X11/spiceqxl.xorg.conf last bit is a little ugly (FIXME), copy over the xkb bits from the existing X11 installation: mkdir -p $TEST/share/X11 cp -R /usr/share/X11/xkb $TEST/share/X11 +# Possibly also build spice-vdagent: +sudo yum install libXrandr-devel libXinerama-devel +git clone git://anongit.freedesktop.org/spice/linux/vd_agent spice-vdagent +(cd spice-vdagent ; ./autogen.sh --prefix=$TEST && make install) + = 3. Running = $XORG is either your own built $TEST/bin/Xorg or just the default Xorg +If you built your own Xorg server: +export PATH="$TEST/bin:$TEST/sbin:$PATH" +export LD_LIBRARY_PATH=${TEST}/lib +export XORG=$TEST/bin/Xorg # or /usr/bin/Xorg + +== 3.1 Run Xorg directly == Run server with: export XSPICE_PORT=5900 $XORG -noreset -config spiceqxl.xorg.conf :3.0 +== 3.2 Run using the Xspice script == Or equivalently: -./xspice --port 5900 :3.0 -Run X clients as usual by setting DISPLAY=:3.0 +xspice/scripts/Xspice --port 5900 --disable-ticketing --xorg $XORG :3.0 [--vdagent] +(and many more options available -- see scripts/Xspice) + +Run X clients as usual by setting DISPLAY=:3.0, for example +# DISPLAY=:3.0 firefox & or +# DISPLAY=:3.0 twm & DISPLAY=:3.0 xterm & -Run a spice client: -spicec -h localhost -p 5900 +Run spice client: +sudo yum install virt-viewer +remote-viewer spice://localhost:5900 -- 1.7.1 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel