On Fri, Jul 14, 2017 at 8:56 AM, Daniel Vetter <daniel@xxxxxxxx> wrote:
Oh that doesn't work, you can't have multiple userspace things using theOn Fri, Jul 14, 2017 at 03:07:11PM +0530, Vikas Patil wrote:
> On Thu, Jul 13, 2017 at 7:20 PM, Daniel Vetter <daniel.vetter@xxxxxxxx> wrote:
> > On Thu, Jul 13, 2017 at 3:33 PM, Vikas Patil <vikasmpatil@xxxxxxxxx> wrote:
> >> Dear All,
> >>
> >> I am looking for an solution to have early smooth splashscreen on the
> >> Linux system with Weston and drm-backend.
> >>
> >> I tried showing splashscreen using Linux logo and fbcon Linux features
> >> but it is not smooth as when system boots logo gets displayed via
> >> kernel and as the Weston starts
> >> I see flicker and blackscreen.
> >>
> >> Another approach I tried is having standalone drm api based
> >> application [1] which uses the one of the available hardware
> >> plane/overlay for displaying splash image and Weston is
> >> starting and uses default plane which is different from plane utilized
> >> by above application. but still I see flicker and black screen when
> >> Weston starts.
> >>
> >> I want splash to be displayed on one of the h/w plane and Weston
> >> should start in background without any flicker and black screen on
> >> some other plane.
> >>
> >> Anyone here before achieved such a use case with such system? Looking
> >> for inputs/suggestions/ideas to achieve this. It is ok if something
> >> needs to be hacked/changd at any level (kernel driver, weston).
> >>
> >> This is required on platform such as TI (Jacinto) and Intel (Broxton)
> >> or devices based on drm graphics stack.
> >>
> >> [1] http://git.ti.com/glsdk/example-applications/blobs/ 39080525baca7bf136f2412d624363 66a736af6b/drm-tests/drm_z_ alpha.c
> >>
> >> Thanking you all for your time and inputs in advance.
> >
> > If you make sure you have matching modes between the 2 users of drm
> > this should work. kms drivers (especially if they are already
> > converted to atomic) will automatically optimize transitions to not
> > flicker (if possible).
> >
>
> I am not sure how this will work. As per what I understood is when
> drmModeSetCrtc() is called it uses the primary/default plane and if
> application wants to use any other plane then it need to setup the
> planes using drmModeSetPlane() in application before doing
> drmModeSetCrtc() so when primary plane scan-outs at crtc phase it also
> knows it has to compose from using other planes too. This is what
> splash application is doing. But when I run weston after splash app,
> weston I think calls drmModeSetCrtc() without the knowledge of planes
> and previous configuration overrides so it doesn't work.
display at the same time. You need to composite the different planes in
userspace first. KMS only allows one compositor at the same time (the so
called drm master).
-Daniel
I think what you're missing here is that you'll need to register your DRM splashscreen program with a VT session. Make sure to implement handling of the VT_SETMODE ioctl so that your application drops its DRM master status.
Also beware that the DRM backend of Weston will aggressively set the mode before you have any chance to paint user-defined content of your own in a Wayland client program. So there will still be some window of time during which your early splashscreen disappears and no specific application content replaces it.
> > If you still flicker then it's either a kernel driver issue, a hw
> > limitations (some hw needs a full modeset for e.g. changing the bit
> > depth) or you program two different things.
> >
> > Also, you must ensure that the boot-splash does not quit until weston
> > has fully taken over, otherwise kms will first shut down the screen
> > (when the splash quits), then re-enable it when weston starts.
> >
> I have tried adding while with sleep in splash app but still the
> behavior is same. FYI, I am doing this on TI's Jacinto6 platform but
> similar required on intel platform too.
>
> I was also thinking if there is something can be done in drm-backend
> of weston. e.g disabling mode setting or some code but not sure if
> weston will work with it..
>
> Thanks & regards,
> Vikash
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel