linux qemu GPU加速
无须独占显卡的virtio方式有2种:
- qemu+各种驱动
- docker/podman(distrobox) + nvidia/vulkan
qemu教程: https://tm23forest.com/contents/how-to-enable-virtio-gpu-venus-on-qemu-explained
dockerGPU教程:https://tanjoe.github.io/posts/在容器内使用显卡进行渲染/
现状: https://www.collabora.com/news-and-blog/blog/2025/01/15/the-state-of-gfx-virtualization-using-virglrenderer/
需要nvidia 570???: https://gitlab.freedesktop.org/virgl/virglrenderer/-/issues/524
hacker news: https://news.ycombinator.com/item?id=42392802
了解
-
Venus VirtIO驱动: 一种用于 Vulkan 命令序列化的 Virtio-GPU 协议。协议定义和 codegen 托管在 venus-protocol 上。渲染器托管在 virglrenderer 中。
qemu≤9.0: https://github.com/TrippleXC/VenusPatches
qemu≥9.2: https://docs.mesa3d.org/drivers/venus.html -
virGL: 一个用于虚拟机的 Gallium 驱动程序,它使用 Virtio DRM 驱动程序,DRM 驱动程序将与来自 QEMU 的虚拟 GPU 通信,而 QEMU 将使用 Virglrenderer 提供所有渲染。 无法在虚拟机之外使用 VIRGL。
-
Zink: openGL转译vulkan. 一个分层的 Gallium 驱动程序,它将所有 Gallium API 调用转换为 Vulkan 调用,其方式与将 NIR 着色器从 Gallium API 转换为 SPIR-V Vulkan 着色器的方式相同。
-
MoltenVK: vulkan转译molten,苹果的gpu底层
-
openGL: 加速游戏渲染
-
openCL: 加速物理/AI计算 https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31634
- VCL: https://www.qualcomm.com/developer/blog/2024/10/vcl-virtio-gpu-opencl-driver
- RustiCL + Zink
- RustiCL + 原生上下文
- CLVK
编译qemu 9.2.0
https://docs.mesa3d.org/drivers/venus.html
sudo apt install -y \ bison clang cmake device-tree-compiler flex git iasl libaio-dev libbluetooth-dev libbpfcc-dev \ libbpf-dev libbrlapi-dev libbz2-dev libcacard-dev libcap-ng-dev libcapstone-dev libcbor-dev \ libcurl4-gnutls-dev libdaxctl-dev libdwarf-dev libdw-dev libfdt-dev libfuse3-dev libglib2.0-dev \ libgstreamer1.0-dev libgstreamer-plugins-bad1.0-dev libgstreamer-plugins-base1.0-dev \ libgstreamer-plugins-good1.0-dev libgtk-3-dev libgvnc-1.0-dev libibverbs-dev libiscsi-dev \ libjack-dev libjpeg8-dev libkeyutils-dev liblzo2-dev libncurses5-dev libnfs-dev libnuma-dev \ libpixman-1-dev libpmem2-dev libpmemblk-dev libpmem-dev libpmemlog-dev \ libpmemobj-dev libpmempool-dev librbd-dev librdmacm-dev libsasl2-dev libsdl2-dev \ libseccomp-dev libslirp-dev libsnappy-dev libspice-protocol-dev libspice-server-dev libssh-dev \ liburing-dev libusb-1.0-0-dev libusbredirhost-dev libusbredirparser-dev libvde-dev libvdeplug-dev \ libvdeslirp-dev libvte-2.91-dev libxen-dev libzstd-dev mesa-vulkan-drivers meson ninja-build \ pkg-config python3 python3-tomli python3-venv valgrind vulkan-validationlayers xfslibs-dev
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步