From the SPICE manual:
5.2 Control hot keys
Shift + F11
Toggle full-screen / window mode
Shift + F12
Release the cursor if captured in window
Preparatory measures
On the default LWP running Ubuntu Karmic, we had to install a few extra packages...
apt-get install autoconf automake libtool liblog4cpp5-dev libogg-dev libavcodec-dev libavutil-dev libasound2-dev libssl-dev libgcrypt11-dev libsdl1.2-dev
Fetching the sources
Browse the spice-space and fetch the sources:
wget http://www.spice-space.org/download/qpixman-0.13.3-git20090127.tar.bz2
wget http://www.spice-space.org/download/qcairo-1.8.7.1-git74d6b5.tar.bz2
wget http://www.spice-space.org/download/spice_0_4.tar.bz2
wget http://xorg.freedesktop.org/releases/individual/driver/xf86-video-qxl-0.0.12.tar.gz
Also fetch:
wget http://downloads.us.xiph.org/releases/celt/celt-0.5.1.3.tar.gz
... and build/install it.
Building
Untar them all, and in each directory (in the order above) run:
./autogen.sh
make
sudo make install
Updating ld.so.conf
sudo ldconfig -v
Editing xorg.conf
Create a fresh xorg.conf
by stopping the running X (if any), and doing
Xorg -configure
sudo cp xorg.conf.new /etc/X11/xorg.conf
Then according to Configuring Red Hat Enterprise Linux 5.4 virtual machines to use SPICE (thanks for the pointer, Frank Weyns), edit xorg.conf
:
<snip> Section "InputDevice" Identifier "Mouse0" # Driver "mouse" -JB 20100319 Driver "void" # Option "Protocol" "auto" -JB 20100319 # Option "Device" "/dev/input/mice" -JB 20100319 # Option "ZAxisMapping" "4 5 6 7" -JB 20100319 EndSection <snip> Section "Device" Identifier "Card0" # Driver "fbdev" -JB 20100319 Driver "qxl" VendorName "Red Hat, Inc." BoardName "Unknown Board" BusID "PCI:0:3:0" EndSection <snip>
Building the qxl driver
wget http://xorg.freedesktop.org/releases/individual/driver/xf86-video-qxl-0.0.12.tar.gz
tar zxf xf86-video-qxl-0.0.12.tar.gz
cd xf86-video-qxl-0.0.12
sudo apt-get install -y xorg-dev
sudo apt-get remove -s xserver-xorg-video-ati xserver-xorg-video-chips xserver-xorg-video-cirrus xserver-xorg-video-i128 xserver-xorg-video-intel xserver-xorg-video-mach64 xserver-xorg-video-mga xserver-xorg-video-neomagic xserver-xorg-video-nv xserver-xorg-video-openchrome xserver-xorg-video-r128 xserver-xorg-video-radeon xserver-xorg-video-rendition xserver-xorg-video-s3 xserver-xorg-video-s3virge xserver-xorg-video-savage xserver-xorg-video-siliconmotion xserver-xorg-video-sis xserver-xorg-video-sisusb xserver-xorg-video-tdfx xserver-xorg-video-trident xserver-xorg-video-tseng xserver-xorg-video-v4l xserver-xorg-video-vesa xserver-xorg-video-vmware xserver-xorg-video-voodoo
sudo apt-get remove nvidia-173-modaliases nvidia-185-kernel-source nvidia-185-libvdpau nvidia-185-modaliases nvidia-96-modaliases nvidia-common nvidia-glx-185 nvidia-settings
./configure --libdir=/usr/lib64 --prefix=/usr
make
sudo make install
Trying the driver
service kdm stop
service kdm start
sudo tail -30 /var/log/Xorg.0.log
(II) qxl(0): Compression level 0, log level 0
(II) qxl(0): Currently using mode #-1, list at 0x34
(II) qxl(0): 14357 io pages at 0x0
(II) qxl(0): 8294400 byte draw area at 0x3815b68
(II) qxl(0): RAM header offset: 0x3ffeb68
(II) qxl(0): Correct RAM signature 41525851
(II) qxl(0): Monitor0: Using hsync range of 31.50-80.00 kHz
(II) qxl(0): Monitor0: Using vrefresh range of 50.00-70.00 Hz
(II) qxl(0): Clock range: 10.00 to 165.00 MHz
(II) qxl(0): Not using default mode "640x350" (no mode of this name)
(II) qxl(0): Not using default mode "320x175" (bad mode clock/interlace/doublescan)
(II) qxl(0): Not using default mode "640x400" (no mode of this name)
(II) qxl(0): Not using default mode "320x200" (bad mode clock/interlace/doublescan)
(II) qxl(0): Not using default mode "720x400" (no mode of this name)
(II) qxl(0): Not using default mode "360x200" (bad mode clock/interlace/doublescan)
Backtrace:
0: /usr/bin/X(xorg_backtrace+0x26) [0x4f00c6]
1: /usr/bin/X(xf86SigHandler+0x41) [0x4852c1]
2: /lib/libc.so.6 [0x7fb4fbbd2530]
3: /usr/lib/xorg/modules/drivers//qxl_drv.so [0x7fb4fa449609]
4: /usr/bin/X(xf86InitialCheckModeForDriver+0x20f) [0x4977bf]
5: /usr/bin/X(xf86ValidateModes+0xf38) [0x499608]
6: /usr/lib/xorg/modules/drivers//qxl_drv.so [0x7fb4fa44a53d]
7: /usr/bin/X(InitOutput+0x507) [0x46f017]
8: /usr/bin/X(main+0x1fe) [0x433ece]
9: /lib/libc.so.6(__libc_start_main+0xfd) [0x7fb4fbbbdabd]
10: /usr/bin/X [0x433509]
Saw signal 11. Server aborting.
ddxSigGiveUp: Closing log
If Frederic isn't geting an asnwer, I figure won't get one either.
Fetching the X driver from Git is even more shooting at a moving target, and it depends on later m4 macros that I have to install first.
Judging from the Xorg logs, it may be a matter of fixing the xorg.conf
.
But my no-manual-X11-config-skills are a bit rusty.
I call it a day.