On 16 February 2018 at 15:57, Pekka Paalanen <ppaala...@gmail.com> wrote: > For the attach on an enabled output to have an effect, we need to go > through drmModeSetCrtc or ATOMIC_ALLOW_MODESET. > > Signed-off-by: Pekka Paalanen <pekka.paala...@collabora.co.uk> > --- > libweston/compositor-drm.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c > index d1fc66ac..d0196715 100644 > --- a/libweston/compositor-drm.c > +++ b/libweston/compositor-drm.c > @@ -4404,9 +4404,24 @@ static int > drm_output_attach_head(struct weston_output *output_base, > struct weston_head *head_base) > { > + struct drm_backend *b = to_drm_backend(output_base->compositor); > + > if (wl_list_length(&output_base->head_list) >= MAX_CLONED_CONNECTORS) > return -1; > > + if (!output_base->enabled) > + return 0; > + > + /* XXX: ensure the configuration will work. > + * This is actually impossible without major infrastructure > + * work. */ > + > + /* Need to go through modeset to add connectors. */ > + /* XXX: Ideally we'd do this per-output, not globally. */ > + b->state_invalid = true;
How about just an output->heads_dirty flag or something, which would ensure ALLOW_MODESET/SetCrtc are called? Cheers, Daniel _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel