On Wed, Jan 25, 2012 at 01:34:17PM -0500, William F Rotach wrote: > Hello Alon, > The whole spice project is interesting to me. The passing of 3D commands > (openGL, directX or open CL) across the interface is of particular > interest, but I am not certain if there is more foundation work needed > prior to resolving this feature. > I am willing to work on what is needed, and a little direction would be > appreciated. > Thank you for your time, > Regards, > Will Rotach
Hi William, Sorry for not answering earlier, on list is better then private. There are quite a lot of things that can be done. 3D for instance - I'm the only one working on it right now and it's proceeding slowly, more details at the end of the email. There are lower fruit to pick, you should look at the FutureFeatures page, I guess you already did, although it is not kept totally up to date it is mostly there. Some things off the top of my head: - OPUS usage instead of CELT051. This looked simple at the beginning, it's probably still relatively simple, but it is a little complicated by the fact that OPUS uses 48000 Hz sampling rate and CELT051 uses 44100 Hz. The idea is to add another supported encoding, add a capability flag for it, but it gets a little more complicated becuase we shouldn't require any resampling done at qemu or spice server if possible. - video passthrough with gstreamer. This would go: <new gstreamer sink> - <virtio serial port> - <spicevmc char dev> - <spicevmc channel> - <new client processing> The main problem, that I'm not sure how to solve exactly, would be correct rendering wrt overlapping windows. But except for that it's relatively straight forward and requires just a new guest component and client component. The rest need no or very little change. - autotest-kvm spice support. I will file tickets for the various issues we have that are keeping us from using autotest to check spice performance and regressions, today I hope. If this is interesting to you I can elaborate or just point you at the tickets once I open them. A little harder: - filesystem passthrough Probably harder: - complete the multiple client support. This requires major understanding of the spice server. Specifically the current main limitation wrt multiple concurrent client support is that the implementation assumes the same messages are sent to all clients. For different bandwidth clients (think local and on WAN client) this doesn't work, the pipe to one of the clients grows unbounded, and eventually the server aborts when the drawables run out. There are many things that are wrong here: the way we account for the pipe size is by number of messages, not number of bytes those messages require. The hard limit on the number of drawables is also wrong since they are also not equal exactly. But the main problem is needing to reduce the size of a pipe to the slow (lower bandwidth) client. I think rewriting the pending messages in that pipe would do that, that would require tracking the number of bytes in them in the first place. - Back to 3D: I'm pursuing a gallium based solution. I have a drm driver that's close to working for the existing xf86-video-qxl driver, both repositories are at: git://anongit.freedesktop.org/~alon/linux qxl git://people.freedesktop.org/~alon/xf86-video-qxl drm After that I intend to start working on the mesa parts, and server side only rendering. I'd love to have some help so if you are interested it would be great. Some other things: - Xspice related. Getting it to work with a second driver at the same time. Haven't tried yet. - Spice for Wayland. Actually not sure how hard this would be at all. So anyway there are a ton of things to do. Playing with different compressions is probably also relatively easy and possibly very rewarding. Qemu only or mostly work, like launching the spice agent via qemu-ga, or the generic mouse and generic copy paste support in qemu instead of only in spice (and thus usable for vnc as well) that was discussed. Sorry for not providing links, I did say off the top of my head :) (both of these are mentioned on qemu-devel, mouse related Gerd Hoffman did a few iterations of a spec already, but I think he is doing other things right now so maybe he wouldn't mind if someone worked - not really sure) Alon > > On Tue, Jan 24, 2012 at 4:22 AM, Alon Levy <[1]al...@redhat.com> wrote: > > On Mon, Jan 23, 2012 at 01:03:21PM -0500, William F Rotach wrote: > > To spice-devel team: > > ן߽ I am interested in assisting with the Spice project.ן߽ One of > the list of > > "todo"s, Single Device Multiple Monitors > > [[1][2]http://www.spice-space.org/page/Features/PCIMultipleOutput], > looks > > interesting to me. > > ן߽ I have examined some of the QXL code, and read up on the > description of > > the problem.ן߽ I would like some interaction and perhaps a bit of > support > > prior to contributing code changes. > > ן߽ Thank you for your time. > > Hi William, > > That feature is planned to be fixed in the next few months by me, so > thanks for the offer but I'd suggest you look for another issue you > care about :/ > > Alon > > > > > > ,Regards ן߽ > > WIll > Rotach ן߽ > > > > References > > > > Visible links > > 1. [3]http://www.spice-space.org/page/Features/PCIMultipleOutput > > > _______________________________________________ > > Spice-devel mailing list > > [4]Spice-devel@lists.freedesktop.org > > [5]http://lists.freedesktop.org/mailman/listinfo/spice-devel > > References > > Visible links > 1. mailto:al...@redhat.com > 2. http://www.spice-space.org/page/Features/PCIMultipleOutput > 3. http://www.spice-space.org/page/Features/PCIMultipleOutput > 4. mailto:Spice-devel@lists.freedesktop.org > 5. http://lists.freedesktop.org/mailman/listinfo/spice-devel > _______________________________________________ > Spice-devel mailing list > Spice-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/spice-devel _______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel