DUOLabs333 / vulkan-stream

A Vulkan driver to stream commands over TCP
9 stars 2 forks source link

Vulkan over Venus ? #2

Closed Moxnatiy closed 6 months ago

Moxnatiy commented 6 months ago

I just tested this solution and it's working but without X

apiVersion         = 1.2.0
driverVersion      = 23.3.3
vendorID           = 0x106b
deviceID           = 0xe0203ef
deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
deviceName         = Virtio-GPU Venus (Apple M1)
driverID           = DRIVER_ID_MESA_VENUS
driverName         = venus
driverInfo         = Mesa 23.3.3
conformanceVersion = 1.3.0.0

https://sinrega.org/2024-03-06-enabling-containers-gpu-macos/

So theoretically it's possible to run in VM (UTM) ?

Moxnatiy commented 6 months ago

Luckily, virtio-gpu already provides the two main mechanisms we need to build a transport for the GPU between the guest and the host: shared memory and a communication channel. Additionally, we can leverage on Venus to serialize Vulkan commands and MoltenVK to translate Vulkan shaders to MSL (Metal Shading Language).

DUOLabs333 commented 6 months ago

That's interesting --- I tried to integrate Venus with QEMU, but gave up as I got nowhere with it. This uses a another virtualization tool, which apparently is easier to modify.

DUOLabs333 commented 6 months ago

You can't use this in UTM because UTM uses QEMU, while this uses its own tool.