Independent clone mode

Pekka Paalanen ppaalanen at gmail.com
Sat Jul 27 08:20:44 UTC 2019


On Fri, 26 Jul 2019 08:58:42 +1200
Barry Song <21cnbao at gmail.com> wrote:

> Pekka Paalanen <ppaalanen at gmail.com> 于2019年7月26日周五 上午3:30写道:
> >
> > On Thu, 25 Jul 2019 13:00:55 +1200
> > Barry Song <21cnbao at gmail.com> wrote:
> >  
> > > Pekka Paalanen <ppaalanen at gmail.com> 于2019年7月24日周三 下午8:10写道:  
> > > >
> > > > On Wed, 24 Jul 2019 13:22:43 +0800
> > > > zou lan <nancy.lan.zou at gmail.com> wrote:
> > > >  
> > > > > Hi pekka
> > > > >
> > > > > I see the clone mode is supported from this commit message.
> > > > > https://patchwork.freedesktop.org/patch/227970/
> > > > >
> > > > > I also see the message  "Independent CRTC clone mode cannot be supported
> > > > > until output layout logic is moved from libweston into the frontend and
> > > > > libweston's damage tracking issues stemming from overlapping outputs are
> > > > > solved".
> > > > >
> > > > > I want to ask is independent CRTC clone mode already supported in Weston  6
> > > > > or 7? If not,
> > > > > is there a plan to support it?  
> > > >
> > > > Hi,
> > > >
> > > > no, that commit message is still accurate. I don't know of any
> > > > plans to work on independent CRTC clone mode.  
> > >
> > > Pekka,
> > > any possible workaround do you know to support independent crtc clone
> > > within weston? right now it is very important product feature.
> > > for example, force weston to identify only one screen, and sync copy
> > > the screen to 2nd screen and call the drm api of 2nd screen?  
> >
> > Hi,
> >
> > you could hack it up to do that, but it would be in no way an
> > upstreamable solution. It would also hurt display timings because
> > every repaint would have to wait for both monitors to refresh. Or,
> > all but one monitor would tear.
> >
> > A simpler hack would be to create overlapping outputs and
> > force them repaint fully on every refresh instead of repainting
> > only the damage. That's not upstreamable either, but the damage
> > could be hacked with probably a one-liner.  
> 
> Hi Pekka,
> Thanks. even though i have seen many times that damage tracking of
> overlapping outputs is the main cause stopping weston from supporting
> full clone mode, i haven't fully understood what is overlapping
> outputs in weston and found the code related with overlapping output,
> would you like to point out some code path so that i can begin to do
> some work on it? pls forgive me if you think the question is just
> stupid.

Hi,

what I suggested is not about code for overlapping outputs at all.
I'm simply suggesting to hack e.g. weston_output_repaint() or
something to ignore the accumulated damage and use full damage
instead. I can't tell you exactly what and where without doing it
myself first, which I cannot do at the moment.

The other catch is to actually configure two weston_outputs to
cover the same area of the desktop. I'm not sure if the existing
libweston API is sufficient for that, but it certainly has not been
designed for that. Again, I cannot tell you exactly, sorry.

Maybe weston_output_move or such would be enough? I'm not sure.
Right now the layout code is hardcoded and hidden inside libweston,
and you need to overwrite its outcome.


Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20190727/148e8f1b/attachment.sig>


More information about the wayland-devel mailing list