RandR: Replicate outputs with XRender extension
ClosedPublic

Authored by romangg on Sep 2 2019, 9:34 AM.

Details

Summary

This provides means to set replicas and queries them on X11 by transforming
crtcs with the XRender extension.

There is a heuristic at play to detect possible replications and currently
the aspect ratio is not perserved but the image stretched. Using different
values for the transformation matrix also the former should be possible.

Test Plan

Manually together with patch to KScreen.

Diff Detail

Repository
R110 KScreen Library
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
romangg created this revision.Sep 2 2019, 9:34 AM
Restricted Application added a project: Plasma. · View Herald TranscriptSep 2 2019, 9:34 AM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
romangg requested review of this revision.Sep 2 2019, 9:34 AM
romangg updated this revision to Diff 65343.Sep 3 2019, 4:47 PM

Rebase after splitting out API changes into D23710.

romangg updated this revision to Diff 65344.Sep 3 2019, 4:49 PM

Fix previous rebase.

davidedmundson added inline comments.
backends/xrandr/xrandrconfig.cpp
341

this goes against the pattern above where we build up a changeset list and then apply it

Also potentially we call changeOutput twice if it's in the toChange above. We want to avoid that

677

this method returns an important bool that's not checked

678

why do we send config twice?

romangg updated this revision to Diff 65384.Sep 4 2019, 9:12 PM
romangg marked 3 inline comments as done.

Improve source setting.

This revision was not accepted when it landed; it landed in state Needs Review.Sep 5 2019, 4:07 PM
This revision was automatically updated to reflect the committed changes.