Drawing stuff on particular output and ignore randr overlayed screens

Marcin K marcin.koziol at outi.pl
Wed Apr 8 09:23:42 UTC 2020


My goal is to create some set of tools to setup projection using multiple
projectors and edge blending. It is quite easy when it comes to write a
standalone application (using opengl etc) that is able to "know" the amount
of overlapping pixels and draw some transparent gradients on suitable edges
etc, but I want to have this feature system-wide, I mean - I want to be
able to run regular desktop environment using few projectors with software
edge blending. So, for example, I have two 1920x1200 projectors, lying next
to each other with, for example 100px overlap. In that case, I need to
setup xrandr like this:

eDP-1-1 connected primary 1920x1080+0+0 (normal left inverted right x axis
y axis) 309mm x 174mm
HDMI-1-2 connected 1920x1080+1820+0 (normal left inverted right x axis y
axis) 521mm x 293mm

so the HDMI-1-2 is shifted -100px to the left and xorg is displaying same
100px from right part of left output on left part of right output. Thats
great and amazing, and in some cases it would be enough but not every
projector has the edge blending feature, so my idea is to do that using
software - just "simply" draw 100px gradient on right side of left output
and similar but horizontally flipped on left side of right output. And
thats the question - is it possible to draw only on practicular OUTPUT so
even if part of the image is duplicated on another output due to randr
settigs, that overlay will be displayed only on selected monitor?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.x.org/archives/xorg/attachments/20200408/abf6f223/attachment.htm>

More information about the xorg mailing list