长话短说,我尝试将我的两个 kinect 2 设备从 ubuntu 20.04 传递到两个 qemu / kvm 虚拟机,在第一个虚拟机上我也通过了我的 RTX 2080 ti,在第二个虚拟机上,我还通过了 IGPU(Intel UHD Graphics 630)。这是我遵循的教程:
教程:将 Intel GPU 传递到 Linux/KVM 虚拟机
除了一个“小”问题之外,它运行得很好。当我将第二个 kinect 连接到虚拟机时,一旦我尝试使用它,它的连接就会断开。为此,我有一个主意。也许我想做的事情使用 xen-hypervisor 效果更好。因此,我使用 xen 和 virt 管理器创建了一个新连接和一个新虚拟机,并尝试按照上述教程将 Intel UHD Graphics 630 GPU 分配给该虚拟机。
遗憾的是它不起作用,因为您在下面看到错误:“hypervisor / libvirt 不支持 SPICE GL”。所以我的问题是xen是否支持spice GL,如果支持,我想阅读一个教程。
答案1
答案2
长话短说
根据官方 wiki,Spice 至少应在 Xen 4.4 上运行。
尝试将这些添加到 VM 配置文件中:
spice=1
spicehost='0.0.0.0'
spiceport=6000
spicedisable_ticketing=1
或者这些:
spice=1
spicelisten="0.0.0.0"
spiceport=6000
spicevdagent=1
spiceagent_mouse=1
spice_clipboard_sharing=1
spiceusbredirection=4
spicedisable_ticketing=1
确保 QEMU 启用了 SPICE 支持。
之前的回答摘自各个网站
从 https://www.serverwatch.com/servers/xen-4-4-arms-for-virtualization-adds-spice/:
支持 SPICE
Xen 4.4 还添加了对 SPICE 协议的支持。 SPICE 值得注意,因为它是由 Red Hat 领导的一项工作,通常被认为是与 KVM 管理程序密切相关的桌面虚拟化技术。
...
“SPICE 支持是由一位非常积极主动的用户提供的,他想自己使用它,”邓拉普说。
Dunlap 解释说,像许多 KVM 功能一样,SPICE 实际上位于 qemu 中,而 qemu 实际上在 KVM 和 Xen 项目虚拟机管理程序之间共享。
“事实上,任何愿意亲自在配置文件中输入神秘符文的人目前都可以使用 Xen 中的许多 KVM 功能,”Dunlap 说。 “因此,真正需要做的就是有人愿意添加管道,使 qemu 中的 SPICE 接口可以通过官方支持的 Xen 接口使用,而无需神秘的符文。”
Dunlap 表示,从用户的角度来看,随着 SPICE 的加入,采用多个虚拟机管理程序的组织现在可以选择使用 SPICE 作为通用远程接口。在 Dunlap 看来,Xen 4.4 添加 SPICE 支持这一事实证明了开源和开放开发模型的力量。
从https://wiki.xenproject.org/wiki/SPICE_support_in_Xen:
Xen 中的 SPICE 支持 SPICE 是一种虚拟桌面协议,与 VNC 等仅显示协议相比,它允许提供更丰富的连接。
...
Xen 4.4 Xen Project 4.4 添加了对其他 SPICE 功能的支持,包括 vdagent、剪贴板共享和 USB 重定向。
应 Fabio Fantoni 的请求,在 wiki 中添加了以下注释,他为 Xen 添加了 SPICE 支持
限制 SPICE 协议当前仅在 HVM 来宾上受支持。
QEMU 上游 要使用 SPICE,您需要启用 SPICE 支持的 qemu 上游版本。
上游 qemu 软件包可能已经在您的 Linux 发行版中。最近的 Debian、Ubuntu 等都可以使用:它们已经内置了 SPICE 支持。除了下面的xl配置更改之外,您只需要在domU中安装spice-vdagent即可完全启用SPICE。
...
XL 配置 您可以使用 XL 配置参数来启用 SPICE 支持并控制其高级功能。请查看 man xl.cfg 或查看 xl.cfg(5)。
以下示例适用于 xen 4.4 的 domU xl cfg,具有 SPICE 完整功能(qxl 除外):
name='W7' builder="hvm" memory=2048 vcpus=2 # The fixed mac address is a workaround for know xl problem (network not working after restore) vif=['bridge=xenbr0,mac=00:16:3e:41:ae:8f'] # empty cdrom is for use cdrom hotswap from xl # raw disk with qdisk as backend produces better performance than blktap2 disk=['/mnt/vm/disks/W7.disk1.xm,raw,hda,rw',',raw,hdb,ro,cdrom'] boot='dc' device_model_version="qemu-xen" viridian=1 vnc=0 keymap="it" on_crash="destroy" vga="stdvga" spice=1 spicehost='0.0.0.0' spiceport=6000 # spicedisable_ticketing enabled is for no spice password, instead use spicepasswd spicedisable_ticketing=1 #spicepasswd="test" spicevdagent=1 spice_clipboard_sharing=1 # this will automatically redirect up to 4 usb devices from spice client to domUs spiceusbredirection=4 # This adds intel hd audio emulated card used for spice audio soundhw="hda" localtime=1
从https://wiki.xenproject.org/wiki/QEMU_Upstream#SPICE_.2F_QXL:
SPICE / QXL SPICE 是另一种远程显示协议,QXL 是 PV 帧缓冲区,它充分利用了 SPICE 功能。要激活 SPICE,您可以将其添加到 VM 配置文件中(仅适用于 xl)。
spice=1 spicehost='0.0.0.0' spiceport=6000 spicedisable_ticketing=1
通过 xen 4.4 USB 重定向,添加了 vdagent 和剪贴板共享:
要使用 USB 重定向,请在 domU 的 xl cfg spiceusbredirection=N 中添加,其中 N 是每个可重定向 USB 设备的通道数,最多 4 个。
为了使用 Spice vdagent,在 domU 的 xl cfg 中添加以下行:
spicevdagent=1
- 用于香料剪贴板共享
spice_clipboard_sharing=1
QXL 目前仅在 Windows 上的 Xen 下工作,但 xl 补丁可用于测试。 (查看 [SPICE 页面] 了解更多信息。)
从 https://wiki.mageia.org/en/XEN :
SPICE 就像 VNC,只是更好:
客人可以有spice-vdagent,这样鼠标就可以进出客人窗口,而无需显式抓取(使用SHIFT+F12释放)剪贴板交叉(在客人之外复制粘贴)尚不支持QXL(更有效的显示)spice客户端应该支持USB重定向(未经测试)spice客户端可以播放访客音频!示例配置:
name="vm-name" builder="hvm" boot="cdn" memory=1024 vcpus=1 vif=['vifname=vif-foo.0,bridge=br-wan,mac=E2:03:BE:F2:59:A2'] disk=['file:/var/lib/libvirt/images/testpxe.img,hda,w',',raw,hdb,ro,cdrom'] keymap="nl-be" soundhw="hda" vga="stdvga" vnc=0 serial='pty' spice=1 spicelisten="0.0.0.0" spiceport=6000 spicevdagent=1 spiceagent_mouse=1 spice_clipboard_sharing=1 spiceusbredirection=4 spicedisable_ticketing=1
boot="cdn"
# 首先是磁盘,然后是 CD,然后是网络#为 16GB 稀疏磁盘
disk=['file:/data/image.img,hda,w']
映像准备磁盘映像# 空 cdrom,用于使用“xl insert”命令可移动的 .iso # 用于将连接到预先存在的 br- 的网络接口wan brige 接口# 有了这个,如果你用 SPICE 连接到你的 SPICE 客户端,intelhda 设备就会发出声音(酷哈!)# 还不支持 qxl # 这是为了让“xl console”在 HVM 上工作,但我想要'尚未成功* # 使用上游 qemu-xen 让香料正常工作'dd if=/dev/zero of=/data/image.img bs=1M count=1 seek=16k'
disk=[',raw,hdb,ro,cdrom']
vif=['vifname=vif-foo.0,bridge=br-wan,mac=E2:03:BE:F2:59:A2']
soundhw="hda"
vga="stdvga"
serial='pty'
spice
我将上游 qemu-xen 打包到 /usr/bin 中。这意味着如果您想使用它,您需要覆盖路径和模型设置:
device_model_version="qemu-xen" device_model_override="/usr/bin/qemu-xen"
尝试 VGA 直通 如果您想尝试此操作,请参阅http://wiki.xen.org/wiki/XenVGAPassthroughTestedAdapters哪些显卡可以使用。
必须启用 QEMU SPICE 支持才能正常工作
从 https://centosfaq.org/general/xen-and-spice-problem/:
Christoph 说:
2015 年 10 月 2 日凌晨 4:36
嗯,无法安装它:
...
是否有任何地方的 xen qemu 启用了 CentOS7 的 SPICE 支持?
马克·普赖尔 说:
2015 年 10 月 4 日上午 10:50
http://107.185.144.55/xen/cent7/dom0/RPMS/stable-4.6/mock/ 上面是上游 xen 的构建,包括configure
SPICE 支持:./configure –enable-systemd –prefix=/usr –enable-xsmpolicy –enable-ocamltools
–libdir=%{_libdir} –enable-efi
–with-extra-qemuu -configure-args=”–enable-spice –enable-usb-redir” 没有关联的 libvirt buildInincluded 是 staging-4.6 HEAD 的补丁,所以它基本上是 rc5。Christoph 说:
2015 年 10 月 5 日凌晨 4:
08,2015-10-04 17:50,schrieb Mark Pryor:为什么“官方”xen CentOS7 存储库中没有内置 SPICE 支持?
George Dunlap 说:
2015 年 10 月 5 日凌晨 5:39
从历史上看,因为它不可用。现在,只是因为它默认处于关闭状态,并且在此之前没有人要求启用它。Virt SIG 是社区的努力 - 添加配置选项和重建没有问题,但 Virt SIG 将需要帮助测试/解决此功能中的错误(如果将来可用)。
...
George Dunlap 说:
2015 年 10 月 6 日上午 11:53
好的,我已经完成了启用 SPICE 的 4.6rc4 构建。您可以使用 –enablerepo=virt-xen-46-candidate 安装它;我根本没有对它进行任何测试(我们所有的测试箱今天都在移动)。让我知道它对您有何作用。
-乔治
Christoph 说:
2015 年 10 月 13 日凌晨 2:09
你好到目前为止,带有 SPICE 支持的 rpm 都可以正常工作(SPICE 可以工作:))
...