admin管理员组

文章数量:1558103

    spice协议原生的USB外设重定向支持已经相当优秀,相比usbip对复合型设备兼容性更好。对于热插拔的支持有两种机制-gudev和libusb。从1.0.16开始libusb支持hotplug事件侦听,可以使用接口libusb_hotplug_register_callback注册插拔回调,从而不依赖于udev,这在不支持udev的某些嵌入式Linux内核平台上更适用。

    一. 提高USB重定向传输速度

    用3.0总线替代2.0和1.1总线,需要qemu 2.9.0以上,-device nec-usb-xhci会在虚拟机设备管理器中出现新的通用串行总线,驱动可以使用renesas通用3.0驱动,注意不要与2.0或1.1总线并存,且去掉-usb参数。usb-hub的注册属性中增加3.0对应的MASK_SUPER,当用于重定向传输的字符设备小于等于3个时只有Root Hub,超过则会生成新的Hub。同时开启usb通道的lz4压缩有助于进一步提高传输速度。多线程下达到20MB/S以上的传输速度并不难(注意usbredir并非线程安全,某些接口需要加锁),由于usb重定向的传输速度还与cpu主频、存储和usb设备的IO性能、网络带宽等相关,具体场景下提高多少还需实测,由于某些ARM终端还是百兆网口,软件的优化已经不再是瓶颈。上述所指均为bulk传输机制下,如果在同步传输机制下,传输速度还会大幅提高,但可能有一定误码率,这时制约因素更多的是网络带宽。

    二. 精确过滤键鼠设备

本文标签: 外设关键技术桌面协议SPICE