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 -- --- Hinweis: unverschlüsselte E-Mails können leicht abgehört und manipuliert werden ! Für eine vertrauliche Kommunikation senden Sie bitte ihren GPG/PGP-Schlüssel zu. --- Enrico Weigelt, metux IT consult Free software and Linux embedded engineering info@xxxxxxxxx -- +49-151-27565287