<div dir="ltr"><div>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. <br></div><div>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).<br></div>Another thing is that we're using nvidia cards, so the glamor extension is useless too... <br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">pt., 11 wrz 2020 o 21:10 Adam Jackson <<a href="mailto:ajax@nwnk.net">ajax@nwnk.net</a>> napisał(a):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, 2020-09-11 at 00:04 +0200, Marcin K wrote:<br>
> Thank you for explanation.<br>
> That was my deepest fear. The main issue is that I'm copying the<br>
> image data real-time, and in my case, on 4* UWXGA display, this one<br>
> byte means 9MB less data per frame.  <br>
<br>
I mean... yeah, half a gigabyte per second isn't trivial, sure. Though<br>
if you're using the Damage extension you can avoid copying unchanged<br>
areas of the screen, which should cut that down quite a bit.<br>
<br>
Alternatively, Xvfb in current git has glamor support, at least on GBM<br>
(non-NVIDIA) systems, which would mean with a bit of cleverness you<br>
could just import your application's window as a buffer object and<br>
texture straight from that without bothering with the host memory part<br>
of the game.<br>
<br>
Alternatively, you could always try building Xvfb from 1.19.x and see<br>
if the 24bpp support works well enough for you. But that seems<br>
suboptimal compared to getting glamor to work, if you can get glamor to<br>
work.<br>
<br>
If you can describe in a bit more detail what you're trying to do it<br>
might help figure out what a good solution would be.<br>
<br>
- ajax<br>
<br>
</blockquote></div>