QXL 设备

Spice服务器支持QXL VDI接口。当在QEMU中使用libspice的时候,一个特定QEMU QXL PCI设备能被用来提供远程显示的性能和增加客户机图像系统的图像容量。QXL设备需要客户机的QXL驱动来发挥全部作用。但是,当没有驱动的时候,标准的VGA也能支持该设备。这个模式还能显示虚拟机启动的引导阶段。QXL设备通过命令和指针环,显示中断,指针事件,I/O端口来与驱动交互。

QXL设备的其他功能包括:

  • 初始化和映射设备ROM,RAM和VRAM到物理内存
  • 映射I/O端口,处理读写来管理:区域更新,命令,指针通知,IRQ更新,模式设置,设备重置,记录日志等。
  • 环-初始化和维护命令和指针环,从环获取命令和指针命令,等待通知。维护资源环。
  • 使用QXLWorker接口与相应的red worker通信,这是在red dispatcher中实现的,它把设备调用翻译为消息写到red worker通道,或者从red worker通道中读取消息。
  • 注册QXL接口来使worker能与设备通信。这个接口包括PCI信息和功能(如依附一个worker,从环中获取显示和指针命令,显示和指针通知,模式改变通知等)。
  • 定义支持QXL模式和改变当前模式(如VGA:所有监听器反映一个单一设备)
  • 处理在VGA模式中显示的初始化,更新,改变尺寸和刷新。

VGA(Video Graphics Array)是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。不支持热插拔,不支持音频传输。