
spice
zhoujiaxq
这个作者很懒,什么都没留下…
展开
-
Qemu, Spice 消息模型
作者“达沃时代” 原文链接:http://www.cnblogs.com/D-Tec/archive/2013/03/21/2973339.html网络事件处理是libspice设计中最关键的部分,可以说是整个Spice的骨架,用以支撑Spice的运行,是理解Spice运作方式的切入口之一(VDI是另一个阅读代码的切入口)。Spice的server和client通信方式采用了三种框架转载 2013-09-06 10:46:22 · 2681 阅读 · 0 评论 -
Spice代码阅读二:Primary surface 创建过程
Spice 主窗口表面的创建应该由虚拟机的QXL驱动发起,经由QEMU将相关参数传递给spice server(主要由负责显示的red_worker.c完成),最后spice server将SPICE_SURFACE_FLAGS_PRIMARY 消息发给spice client完成。上图中省略了QXL driver与 spice client相关部分的过程,用文字来说明。转载 2013-09-06 10:46:10 · 1911 阅读 · 0 评论 -
spice server qxl red_worker_main()代码分析
1.在red_dispatcher_init()中要创建 red_worker线程 下面是red_worker_main()线程运行的函数SPICE_GNUC_NORETURN void *red_worker_main(void *arg) //这里的arg其实就是 在red_dispatcher_init()中的init_data结构{ RedWorker *转载 2013-09-06 11:16:06 · 3270 阅读 · 0 评论 -
spice图像压缩简介
目前的spice图像压缩主要采用了quic,glz和jpeg。quic和glz是无损压缩算法,quic主要用于照片,glz用于人工图像,jpeg也主要用于照片压缩但是是有损的。jpeg能节省50%的带宽,glz只能节省20%,但是jpeg会带来更大的开销,所以不能都使用jpeg进行压缩。spice官网对于广域网支持的介绍:http://spice-space.org/page/Features转载 2013-09-06 11:08:31 · 7056 阅读 · 0 评论 -
VDI接口工作方式及具体实现
转载自:http://www.cnblogs.com/D-Tec/archive/2013/03/01/2939311.html〇、VDI接口工作方式Spice中的VDI(Virtual Device Interfaces)是一个经过专门设计的接口规范,其设计哲学可以推广到很多需要做功能扩展的软件项目中。此类接口设计的主要目标是在尽量不改变原有代码的情况下,通过动态库的方式来为原有软件提供转载 2013-09-06 10:55:12 · 2935 阅读 · 0 评论 -
Spice网络事件处理模型
作者:“达沃时代” 原文链接:http://www.cnblogs.com/D-Tec/archive/2013/03/21/2973339.html〇、概述网络事件处理是libspice设计中最关键的部分,可以说是整个Spice的骨架,用以支撑Spice的运行,是理解Spice运作方式的切入口之一(VDI是另一个阅读代码的切入口)。Spice的server和client通信方式采用转载 2013-09-06 10:59:02 · 1981 阅读 · 0 评论 -
QXL驱动分析(二)——FindAdapter
QXL.c ULONG DriverEntry(PVOID context1, PVOID context2)是mini port的入口,其中初始化了一个很重要的结构:VIDEO_HW_INITIALIZATION_DATA。该结构定义中的HwFindAdapter是video miniport driver必须的,主要用来初始化显示适配器的存储和配置信息,它被video port drive转载 2013-09-06 10:50:12 · 1942 阅读 · 0 评论 -
QXL驱动分析(一)
QXL安照windows2000显示架构编写,见下图: QXL实现的功能主要包含两块:Display Driver 和 Video Miniport。1. Display DriverDisplay Driver以动态链接库qxldd.dll的形式提供,处于内核态,主要是提供绘图API给GDI,这样当最上层的应用需要绘图的时候,通过调用GDI API(gdi32.dll),GDI转载 2013-09-06 10:50:42 · 3996 阅读 · 0 评论 -
spice client 和 spice server 通信机制
作者:“达沃时代” 原文链接:http://www.cnblogs.com/D-Tec/archive/2013/04/19/3030129.html〇、基本原理目前的Channel类型枚举值定义如下:enum { SPICE_CHANNEL_MAIN = 1, SPICE_CHANNEL_DISPLAY, SPICE_CHANNEL_IN转载 2013-09-06 10:48:55 · 5506 阅读 · 0 评论 -
Spice代码阅读一:Spice Client 与 Spice Server 通道建立过程
QEMU-KVMspice 文件方法描述Application.cppinit_globals()初始化Log,ssl库,canvas(或opengl canvas)和quic压缩库 Process_cmd_line()解析命令行连接参数转载 2013-09-06 10:43:50 · 3034 阅读 · 0 评论 -
Spice代码分析(三)——red_worker: red_init
Spice 的图形子系统是最Spice最核心也是最复杂的一块,它不像其他的几个子系统由spice server 主进程来处理,而是有一个单独的线程处理,而且与主进程是并行运行的,负责这个处理的线程就是Red worker。具体来说,redworker负责以下的处理:1) 处理QXL设备命令(如画,更新,光标处理等);2) 处理从Dispatcher接收到的消息;转载 2013-09-06 10:48:43 · 1734 阅读 · 0 评论