On 29 June 2016 at 00:46, Frediano Ziglio <fziglio@xxxxxxxxxx> wrote: > This patch is really hacky and mainly intended to try to use the > current spice-protocol to make Virgl remote. > It does in a fast (as code lines) way: > - extract the images from scanouts; > - fed these images to normal flow (using display_channel_process_draw) > so making possible to check streaming flow or just image compression > using Qemu parameters (or some other hacks is not very recent). > > First problem: it works only on Intel i915 family. > I tried to use DRM directly finding many post where mmap were used. > This was a big mistake. Current cards use some internal memory > arrangement for textures or the texture memory could be in an area > not mmap-able. Using DRM you can allocate a buffer (PBO) mmap-able > but however there is no portable (among card types) way to copy the > texture on this buffer. At the end I think would be much better to use > EGL like Qemu does so will work on any card, probably faster. Yes you want to use EGL here, I think we could probably put more code in qemu to help with this case. At one point I had remote spice working, but it was due to having the qemu code sync'ing the GL rendered output to the qemu/spice framebuffer using a callback into the renderer which essentially did a readpixels. It was very hacky, https://cgit.freedesktop.org/~airlied/qemu/log/?h=virtio-gpu-3d-old-hacks has some remnants of it, look for dpy_needs_gl_surface_sync. You'd probably want to talk to Gerd to find the nice/proper way to do things, but it most definitely involves egl, and most likely readpixels into a PBO. Dave. _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel