我想尝试威火— 虚拟机内部的 3D Wayland 合成器。
制作可以显示具有 3D 加速的 Wayland 合成器的虚拟机有哪些选项和要求?
我认为 VirtualBox 应该使用 VMSVGA 通过 Wayland 显示 3D,但 3D在 5.2.22 中禁用目前还不清楚它是否从此重新启用。我的环境无法使用 VirtualBox 6.0.18 启动 DRM 会话,但这可能是由于其他问题。
我还偶然发现了维吉尔 3DQEMU 客户机中的 3D 项目。我不熟悉 QEMU,还没有尝试过。它也适合 3D Wayland 吗?
最后,对主机平台(内核、驱动程序……)有什么要求?我目前正在使用带有驱动程序的 Ubuntu 18.04 系统i915
。
答案1
Virgil 3D 将向客户机公开一个支持虚拟 OpenGL 的 GPU,您应该能够让 3D 与 Wayland 协同工作。
您可能还想尝试 VMware Player。它也支持客户机 3D 加速(VirtualBox 3D 加速使用专为 VMware 虚拟机管理程序设计的 VMware 驱动程序)。VMware 的加速 3D 支持始终遥遥领先于竞争对手。十年前,它足以运行 Crysis(在带有 Nvidia GPU 的 CentOS 主机上使用 VMSVGA 驱动程序的 Windows XP 虚拟机)。
答案2
以下是我尝试使用虚拟化软件的体验基于 Manjaro 的 Wayfire 预配置旋转(版本/Wayfire/19-12/minimal/Wayfire-Linux-Rolling-minimal-191203-linux54.iso
) 来自具有 Intel GPU 驱动程序的 Ubuntu 18.04 主机i915
。请注意,它可能无法反映 Wayland 3D 支持的总体质量。我知道很多事情都可能出错,而这正是我的设置所发生的事情。
VirtualBox 6.0.18:Wayfire 启动后使用 VMSVGA 驱动程序显示。即使安装了 Guest Additions ( ),机器仍卡在 800x600 分辨率virtualbox-guest-utils
。没有鼠标光标,因此很难使用。奇怪的是,无论是否启用 3D 加速,都没有区别。
VMware Player 15.5.2:无法在启用 3D 的情况下启动 Wayfire。系统卡在 Plymouth。
QEMU/KVM:尚未测试
答案3
我从这里获取了一个新的 FreeBSD 12.1 图像:https://www.osboxes.org/freebsd/#freebsd-12-1-vmware。根用户和用户的登录凭据列在那里的信息选项卡上。我正在使用 64 位 VMDK 进行测试并在 VirtualBox 6.0.18 上运行。
我还拥有 FreeBSD 12.1 客户虚拟机,该虚拟机配置了 2 个处理器、4 GB RAM、128MB VRAM、启用 3D Accel 的 VBoxSVGA 图形控制器和 2 个虚拟显示器。除 VBoxSVGA 控制器外,所有这些都相当标准,对于基于 Linux 的虚拟机,默认情况下它是 VMSVGA。
做了pkg install wayfire && pkg install emulators/virtualbox-ose-additions
,后者可能没有必要。
现在按照 wiki 中的配置说明进行操作:https://github.com/WayfireWM/wayfire/wiki/General。这很可能是您遇到 drm 错误的地方。
执行startx
。现在应该可以看到一个或多个 XTerm。现在export XDG_RUNTIME_DIR=/tmp
,然后wayfire
应该运行。请注意,我收到 libEGL 警告,其中 glamor 和 dri3 被禁用以支持 fallback sw 和纯黑色窗口。
编辑
嗨,@DurandA!我成功地在 Manjaro 上轻松构建。
演练:
主机:AMD Ryzen 7 2700X、Windows 10 1909、16GB RAM
客户机:VirtualBox 6.0.18、2 CPU、4 GB RAM、128MB VRAM、带 3D 加速功能的 VBoxSVGA 图形控制器、2 个虚拟显示器。
客户操作系统:https://manjaro.org/downloads/official/xfce/
- 安装一个空白的动态大小为 100GB 的 VMDK 作为硬盘,并将 Manjaro ISO 作为光盘。
- 启动机器,由于 VMDK 上没有 GRUB,它将默认为 ISO,并以完全默认方式安装 Manjaro。
- 关闭虚拟机,卸载 ISO。
- 启动 VM,现在应该启动到 Manjaro xfce 桌面环境。
- 在这里,我让 Manjaro 通过 Pamac GUI(默认的 Manjaro 包管理器)自动完成它想要的所有更新
- 通过 Pamac 安装
meson
、gcc
、pkgconf
、glm
和gobject-introspection
。 - 获取并运行 Wayfire 安装脚本
git clone https://github.com/WayfireWM/wf-install && cd wf-install && ./install.sh
- 使用 Wayfire 运行
/opt/wayfire/bin/startwayfire