This advice is valid for all software projects. if you want people to help develop software, document the software code with documentation. Explain how the parts of the software fit together, how the code operates, explain what the different parts do, document functions and variables and what each of those do. Explain the processes involved with several of the code paths, such as the code path followed at startup, and when a message or event is recieved, and so. provide documentation that will allow a person with only a basic understanding of C or Python or other language used to become an expert in the software, without having to do detective work to try to backengineer how the software works. With software, it can take months to figure out how complex software work by looking at source code, with good documentation this can be reduced to days or weeks. <br>
<br>The X.org developers should also listen to this advice. in the case of X, this also includes not only documenting fully how the server works and its internals, but also how video hardware works. <br><br><div class="gmail_quote">
On Fri, May 27, 2011 at 4:08 PM, Antoine Martin <span dir="ltr"><<a href="mailto:antoine@nagafix.co.uk">antoine@nagafix.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On 05/28/2011 12:39 AM, David Jackson wrote:<br>
> THanks for the info on XPRA. I will give it a try. It looks promising<br>
> and the way they use the compositing manager sounds genius. It sounds<br>
> like they get basically final rasterised data from the compositor, so<br>
> basically it seems like a huge bitmap, if I am correct. Or maybe I am not.<br>
</div>I happen to maintain an enhanced xpra (not quite a fork yet).<br>
Upstream has not made any releases since 2009, but we do make regular<br>
releases, including one today:<br>
<a href="http://article.gmane.org/gmane.comp.window-managers.parti.general/511" target="_blank">http://article.gmane.org/gmane.comp.window-managers.parti.general/511</a><br>
This latest version includes an exciting new feature: bandwidth<br>
constrained adaptive JPEG compression (thanks to Arthur Huillet).<br>
<br>
Although xpra is designed to work with Xvfb, we have done some work to<br>
make it easier to run against Xdummy or even a full blown graphics<br>
accelerated server. Hopefully, we can take this further. Help is always<br>
welcome ;)<br>
<br>
Cheers<br>
Antoine<br>
<div class="im"><br>
> If hardware is being used to generate rasterised data from opengl<br>
> commands, then, i suppose the compositer would need to get rasterised<br>
> data back from the hardware for individual windows, rather than the<br>
> whole display.<br>
><br>
> I am guessing that some hardware may not support that but I am not<br>
> sure. Some hardware i guess just provides a video array for bitmap data<br>
> and does not take OpenGL commands. I am guessing more advanced hardware<br>
> takes OpenGL commands and generates rasterised data ready for the screen<br>
> from them. I suppose depending on hardware design the hardware may allow<br>
> the programmer to give opengl commands to the graphics card and it<br>
> renders them to screen, or it may give the programmer the opportunity to<br>
> rasterise opengl scenes, and instead of hardware displaying them to<br>
> screen, the programmer get the bitmap back and save them or use them in<br>
> some way in programs, and then feed the bitmap back to the video card<br>
> when desired. That way the programmer could render individual windows<br>
> one at a time, get the bitmap data, then do whatever composite or<br>
> process need for the windows data, then dump all of the windows bitmaps<br>
> to the video hardware.<br>
><br>
> It is unlikely the entirety of each window would need to be rasterised<br>
> as well since some windows may be partially or fully non visible.<br>
><br>
> I have not had the opportunity to study modern video hardware so these<br>
> are guesses.<br>
><br>
> On Fri, May 27, 2011 at 12:23 PM, David Jackson <<a href="mailto:djackson452@gmail.com">djackson452@gmail.com</a><br>
</div><div class="im">> <mailto:<a href="mailto:djackson452@gmail.com">djackson452@gmail.com</a>>> wrote:<br>
><br>
> Thank you for the information. As I mentioned, I was previously<br>
> aware of Xmx, Xmove and XTV..<br>
><br>
><br>
> On Fri, May 27, 2011 at 11:44 AM, Alan Coopersmith<br>
</div>> <<a href="mailto:alan.coopersmith@oracle.com">alan.coopersmith@oracle.com</a> <mailto:<a href="mailto:alan.coopersmith@oracle.com">alan.coopersmith@oracle.com</a>>><br>
<div class="im">> wrote:<br>
><br>
> On 05/26/11 12:29 PM, David Jackson wrote:<br>
> > The client wouldnt have to be moved between servers at all, it<br>
> could be the same<br>
> > proxy server, the proxy server could then open up connections<br>
> to actual X<br>
> > servers and forward things to the real X servers. The proxy<br>
> would massage and<br>
> > rework data as necessary to trick the X client and hide the<br>
> fact it is being<br>
> > displayed to many X servers and also keep the X servers in the<br>
> dark about what<br>
> > is really going on as well. This requires no protocol changes<br>
> and no changes to<br>
> > the clients or servers. There are already two or more<br>
> codebases that this has<br>
> > already been done on, one is something called Xmux, the other<br>
> was something<br>
> > called Xshare or something, and I am aware of a possible third<br>
> that was called<br>
> > XTV. None are actively developed at this time.<br>
><br>
> <a href="http://en.wikipedia.org/wiki/Xpra" target="_blank">http://en.wikipedia.org/wiki/Xpra</a><br>
> <a href="http://code.google.com/p/partiwm/wiki/xpra" target="_blank">http://code.google.com/p/partiwm/wiki/xpra</a><br>
><br>
> --<br>
> -Alan Coopersmith- <a href="mailto:alan.coopersmith@oracle.com">alan.coopersmith@oracle.com</a><br>
</div>> <mailto:<a href="mailto:alan.coopersmith@oracle.com">alan.coopersmith@oracle.com</a>><br>
<div class="im">> Oracle Solaris Platform Engineering: X Window System<br>
><br>
><br>
><br>
><br>
><br>
</div><div class="im">> _______________________________________________<br>
> <a href="mailto:xorg@lists.freedesktop.org">xorg@lists.freedesktop.org</a>: X.Org support<br>
> Archives: <a href="http://lists.freedesktop.org/archives/xorg" target="_blank">http://lists.freedesktop.org/archives/xorg</a><br>
> Info: <a href="http://lists.freedesktop.org/mailman/listinfo/xorg" target="_blank">http://lists.freedesktop.org/mailman/listinfo/xorg</a><br>
</div>> Your subscription address: <a href="mailto:antoine@nagafix.co.uk">antoine@nagafix.co.uk</a><br>
<div><div></div><div class="h5"><br>
_______________________________________________<br>
<a href="mailto:xorg@lists.freedesktop.org">xorg@lists.freedesktop.org</a>: X.Org support<br>
Archives: <a href="http://lists.freedesktop.org/archives/xorg" target="_blank">http://lists.freedesktop.org/archives/xorg</a><br>
Info: <a href="http://lists.freedesktop.org/mailman/listinfo/xorg" target="_blank">http://lists.freedesktop.org/mailman/listinfo/xorg</a><br>
Your subscription address: <a href="mailto:djackson452@gmail.com">djackson452@gmail.com</a><br>
</div></div></blockquote></div><br>