spice基本架构

spice基本编译模块是spice协议,spice服务器和spice客户端。spice的相关组件包含QXL设备和Guest QXL驱动。

  1. 图形命令流

上图所示,当qemu使用libspice库时,基本的spice框架和guest系统到客户端client图像命令数据流。libspice是被其他所有的VDI使用,兼容主机应用。图形指令数据流通过用户应用请求,libspice拉指令从ring中和添加它们到图形命令树。图像命令树是一个命令的集合,libspice也维护了发送给客户端的命令队列。

  1. agent命令流

spice agent是在guest系统中一个软件执行模块。spice服务器和客户端是通过agent完成在guest系统中执行的任务,比如设置guest系统的分辨率。上图显示spice客户端和服务器通信使用了VIDPort设备和guest驱动(Virtio-serial Driver)。客户端消息(如配置guest分辨率的消息),服务器消息(如鼠标的模式),和guest消息(如配置的ACK)。通过输入和输出的rings完成驱动与设备之间的通信。

消息适配器决定消息是否给服务器处理还是发送给客户端。

libvirt中的XML配置

猜你喜欢

转载自blog.csdn.net/cai742925624/article/details/129180277