Clone mode with independent CRTCs
Weston already supports shared-CRTC clone mode via
weston.ini. That mode depends on the kernel driver and the hardware to be able to drive multiple connectors from the same CRTC, which is not a very common feature. When that is not available, cloning does not work.
To let cloning work in other cases, each cloned connector needs to be driven from its own CRTC, and Weston needs to paint for each CRTC independently. For more information, see #22 (closed).
This needs two things:
- A way to configure it in
weston.ini, different from the
same-asdirective so that users can make the difference between guaranteed synchronized monitor timings (shared-CRTC clone mode) and not -- asynchronous clone mode (independent CRTCs). See also #165.
- Damage tracking fixes inside libweston. Currently damage is tracked in a single region in global coordinate system and cleared respectively when any output repaints its own region. If outputs overlap, the output repainting first will update correctly but the output repainting next won't see the damage anymore, because the first output cleared it on the overlap area.