Xvfb and number of bytes per pixel

Marcin K marcin.koziol at outi.pl
Sat Sep 12 06:55:34 UTC 2020


so, I'm creating an interactive city mockup, using 3 1920x1200 projectors.
The main issue is that we don't have enough (physical) space and budget ;)
to use bigger and more expensive projectors with edge blending, so I wrote
small piece of code for that (python + moderngl) which is grabbing pixel
data from xvfb to "project" it onto a big quad, then, setting viewports I'm
calculating edge masks for overlapping areas, and black levels for non
overlapping aras... etc.
There were some design issues from the very beginning, because I didn't
know what technology I'll be using for the main program (finally I've
chosen electron + threejs) and wasn't sure how it will exactly work, so I
decided to use an external program for the blending, so it seems that I'll
have to implement the EB in the main mockup (that I wanted to avoid,
because I'll lost the opportunity to display "any" program that can be run
inside Xvfb).
Another thing is that we're using nvidia cards, so the glamor extension is
useless too...

pt., 11 wrz 2020 o 21:10 Adam Jackson <ajax at nwnk.net> napisał(a):

> On Fri, 2020-09-11 at 00:04 +0200, Marcin K wrote:
> > Thank you for explanation.
> > That was my deepest fear. The main issue is that I'm copying the
> > image data real-time, and in my case, on 4* UWXGA display, this one
> > byte means 9MB less data per frame.
>
> I mean... yeah, half a gigabyte per second isn't trivial, sure. Though
> if you're using the Damage extension you can avoid copying unchanged
> areas of the screen, which should cut that down quite a bit.
>
> Alternatively, Xvfb in current git has glamor support, at least on GBM
> (non-NVIDIA) systems, which would mean with a bit of cleverness you
> could just import your application's window as a buffer object and
> texture straight from that without bothering with the host memory part
> of the game.
>
> Alternatively, you could always try building Xvfb from 1.19.x and see
> if the 24bpp support works well enough for you. But that seems
> suboptimal compared to getting glamor to work, if you can get glamor to
> work.
>
> If you can describe in a bit more detail what you're trying to do it
> might help figure out what a good solution would be.
>
> - ajax
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.x.org/archives/xorg/attachments/20200912/19e2212d/attachment.htm>


More information about the xorg mailing list