the following diagram illustrates VD-Interface
illustrates
display port
emphasizing emphasizing emphasizing;
user expereience experience;
for this purpose
introduced introduced remote computing protocol
components developed QXL display device and driver
the following diagram illustrates the current spice solution on top of qemu
VDI front-end
spice-client network spice server;
VDI back-end
VDI port VDI agent VDI port qxl driver qxl device;
spice project plans to provide additional solutions,including
remote access for a physcial machine
VM front-end for local users
emerging technology technology project
specification paper
specification
VDI 虚拟设备基础设施
虚拟设备接口;
Virtual Device Interfaces
provide a standardway to publish interfaces of virtual devices by a software component
this enables other software componentts to interact with these devices
渲染render its output accordidng
to be processed by the back-end
in addition many other interface type can be expose by the back-end
the back-end exposes interface like display output
mouse input
it is also possible for the back-end to dynamically switch front-ends improve back-end usability and flexibility
better sharing of development maintenance and overall product quality;;
spice server is implemented as a VDI front-end and the spice-QEMU provides back-end interfaces;
make an offort to push this specification forward in order to benefit all;
internet real chat
spice project provies documentation that will help you get familiar with spice
new to spice
spice project provies documentation that will help you get familiar with spice start by reading spice for newbies newbies for getting information about spice basic architecture and spice components
basic architecture and components spice user manual for information on how to get make and use spice
spice protocol and vd-interfaces which contain additional and more specific information
involved like to get involved
project is open for contribution
will find areas of interest variety of programmers will find;
可靠 质量 可信 灵活
devoted to offering increased reliability quality and usability
obligated obligated you are obligated to keep spice project standards;
like to send a patch but don't have time for all the nonsense nonsense;
whatever seems appropriate
guidelines guidelines;
it applies and compiles correctly with the latest development version
编码约定和风格样式
adheres code adheres coding convention and style as specified in
split a large patch to multiple smaller patches,
每一个都有一个有意义的逻辑目的each havong a meaningful logical purpose
make sure applying each patch does not break the build;;
write clear and meaningful description and explanation in the commdit message
review comments
be as responsive as possible to the review comments;
patch was prepared using git format-patch
the patch successfully compiles on all supported platforms;
widget
spice-gtk is a gtk+2 and gtk+3 spice widget
gtk+ widget client
spice GTK+ Widget
while spice-gtk comes with a demo client application called spicy
virt-manager virt-viewer;
embedding embeds a spice-gtk widget highly recommended
distribution
others coming soon;
virt-manager
pkg_add
emerge gentoo;
frequently asked questions
asked questions frequently
措辞wording precise precise
basic install
for starters
virt-manager virt-install to test out
./
python setup.py install
to build an rpm
python setup.py rpm
bug fix releases
translation infrastructure
virt-install and virt-manager now remove created disk images if vm install startup fails;
power manager util;
Uniform Resource Identifier
unifrom unifrom resource identifier;
add preferences UI dialog
gracefully
avoid accidentally doesn't specify a port number;
correctly
windows filter driver developed for spice usb redirection client side
experimental
guest this section contains various optional drivers and daemons that can be installed on the guest to provide enhanced spice integration and performance;
enhanced integration performance;
guest tools
spice-guest-tools
binaries
contains some options drivers and services that can be installed in windows guests to improve
virt-viewer display the graphical console for a virtual machine;
synopsis
description
console is accessed using the vnc or spice protocol
referred to based on its name id uuid
display command line help summary
specify the hypervisor connection uri
INc incorporated;
coprright
copyright
通用协议定义
common protocol definition
字节顺序
endianness
unless stated otherwise 除非额外说明 all data structures are packed and byte and bit order is in little endian format; 16bits
data types
8 bits bytes unsigned integer
uint int16
signed integer
top bottom left right
上下左右
top bottom left right;
protocol version
protocol version defined as two uint32 values,major protocol version and minor protocol version keep compatibility
regardless regardless
incrementing
huge reserved for development purposes considered unsupported and unreliable
bidirectional exchange
unsigned integer 8
red_channel_main = 1
channel types uint8
inputs cursor record playback
eror codes unsigned integer 32 bits bytes;
mismatch
permission denied denied
public key buffer size;
red_ticket_pubkey_bytes = 162
channel link establish a channel connection
the channel connection process is initiated by the client the client sends redlinkmess in response the server sends redlinkreply
valid connection is established
consisting of a password and time validity
optimal asymmetric encryption padding
msys minimal gnu posix system on windows bash make windows 最优秀 gnu cygwin hear .h function library set dll dynamic link library;gcc gnu compiler c 产生win32 programs
mingw主要由gnu binary utilities
gcc gdb
包括必要库
libc c runtime;
win32环境api接口
apply defer discard