Hacker News new | ask | show | jobs
by theevilsharpie 1343 days ago
The only way I've been able to get good virtualized 2D performance without providing a GPU directly to the VM has been to use a display manager where you can disable compositing. Otherwise, you end up having to use a software 3D rasterizer like LLVMpipe, which can be quite slow.

The native display managers for XFCE, MATE, and (I believe) KDE allow you to disable compositing. GNOME and Unity's native display managers don't (AFAIK). I have no idea if display compositing can be disabled on macOS.

2 comments

Check out VirGL and the virtio-gpu projects. Is already available in qemu if you're willing to do some work. Virtualized OpenGL (and soon Vulkan?) access to the host GPU inside the VM.

e: my memory slips me, I've already run vulkan apps in qemu.

> [lexi@arch-steam ~]$ vkcube

> Selected GPU 0: Virtio-GPU Venus (Intel(R) UHD Graphics (CML GT2)), type: 1

Granted this was ChromeOS[0], but ultimately it's the same qemu. You just need the right flags and for the guest to have a mesa driver aware of virtio-gpu.

0. https://chromeunboxed.com/how-to-enable-vulkan-crostini/

Chromeos uses crosvm, not qemu. Qemu uses virgl to provide opengl, but I think vulkan is still in the works. You can use crosvm on Linux too,works pretty well, it uses a newer version of virgl to provide vulkan.
Have you setup the "VirtualBox guest additions" inside your guest?