Hello folks,
I'm currently trying to understand how the virtio-gpu driver actually works and got a few noob questions:
1. virtio_gpu_pci_quirk():
* what is the explicit framebuffer removal about ?
Do virtio-gpu devices support several framebuffer types (but only one at a time) ? How does it happen that we can have that vga framebuffer standing in our way in the first place ?
* why is it necessary to rename the device with "pci:" prefix ?
since (IMHO) virtio is an actual bus, that may even exist in HW, but there're also several different virtio transports (got word that somebody's also working on an socket-based one), it smells very strange to me, making it look like a pci device.
does it only work w/ pci transport ? what's the background of this ?
2. features[] array:
* virgl seems only supported on little endian, and the comment tells that's because virgl is sending the command stream in native endian.
* IMHO, this approach isn't entirely correct, since here we're just looking whether the driver/guest side is LE, but looking at the host/device side. otoh, it should still work if both sides are BE.
* shouldn't we add some endianess handshake to the protocol ? maybe both should announce what's their native endianess and whether they're capable of doing the conversion, so they can aggree on what to do exactly ?
I'm currently trying to find ways for using virgl in containers instead of VMs, so the container workload doesn't need to have any gpu specific (userland) drivers anymore. Not sure whether I'll need special kernel support for this at all.
thx, --mtx
Hi,
- virtio_gpu_pci_quirk():
- what is the explicit framebuffer removal about ?
unregister boot framebuffer (typically efifb or vesafb on x86).
why is it necessary to rename the device with "pci:" prefix ?
does it only work w/ pci transport ? what's the background of this ?
IIRC an Xorg hardware probing quirk.
- shouldn't we add some endianess handshake to the protocol ?
Doable, but worth the effort? Which bigendian hardware platform has hardware-accelerated mesa opengl drivers? With even ppc moving to le these days s390x is the only relevant bigendian platform left, and it isn't exactly famous for their graphics performance ;)
take care, Gerd
dri-devel@lists.freedesktop.org