Re: Need support to display application at (0, 0) position on Weston desktop

2023-07-12 Thread huy nguyen
Hi Daniel,

Thank you for the reply.
In my application, I want to overlay an MPV video window on another
application so that users can view both video content and other application
static content so that a fullscreen MPV is not suitable.
Is it possible to adjust the initial position of MPV video window at (0,0)
on the weston desktop (I already hide the weston top bar).

Best regards,
Huy

On Wed, Jul 12, 2023 at 10:21 PM Daniel Stone  wrote:

> Hi Huy,
>
> On Wed, 12 Jul 2023 at 16:15, huy nguyen 
> wrote:
>
>> I have a Linux system based on weston wayland. I run MPV player and
>> expect it displays a video window at (0,0) position on the screen (top left
>> corner of the display). I already use x11egl backend option to MPV to
>> support a fixed position to application but the video window of MPV is
>> displayed at an offset (X offset, Y offset) from (0,0) position as shown by
>> the picture below:
>>
>
> You probably want to make mpv be fullscreen, and then it will take up the
> whole area of the screen. kiosk-shell does this well, by telling all
> applications to be fullscreen.
>
> Cheers,
> Daniel
>


Re: Need support to display application at (0, 0) position on Weston desktop

2023-07-12 Thread Daniel Stone
Hi Huy,

On Wed, 12 Jul 2023 at 16:15, huy nguyen 
wrote:

> I have a Linux system based on weston wayland. I run MPV player and expect
> it displays a video window at (0,0) position on the screen (top left corner
> of the display). I already use x11egl backend option to MPV to support a
> fixed position to application but the video window of MPV is displayed at
> an offset (X offset, Y offset) from (0,0) position as shown by the picture
> below:
>

You probably want to make mpv be fullscreen, and then it will take up the
whole area of the screen. kiosk-shell does this well, by telling all
applications to be fullscreen.

Cheers,
Daniel


Re: [PATCH v5 6/6] drm/doc: Define KMS atomic state set

2023-07-12 Thread Simon Ser
On Saturday, July 8th, 2023 at 00:40, André Almeida  
wrote:

> +KMS atomic state
> +
> +
> +An atomic commit can change multiple KMS properties in an atomic fashion,
> +without ever applying intermediate or partial state changes.  Either the 
> whole
> +commit succeeds or fails, and it will never be applied partially. This is the
> +fundamental improvement of the atomic API over the older non-atomic API 
> which is
> +referred to as the "legacy API".  Applying intermediate state could 
> unexpectedly
> +fail, cause visible glitches, or delay reaching the final state.
> +
> +An atomic commit can be flagged with DRM_MODE_ATOMIC_TEST_ONLY, which means 
> the

Can we linkify these #defines? This can be done like so:

… flagged with :c:macro:`DRM_MODE_ATOMIC_TEST_ONLY`, which means …

This should create a link to the docs for this flag.


Re: [PATCH RFC v4 2/7] drm: Introduce pixel_source DRM plane property

2023-07-12 Thread Pekka Paalanen
On Tue, 11 Jul 2023 15:42:28 -0700
Abhinav Kumar  wrote:

> On 7/11/2023 3:19 PM, Dmitry Baryshkov wrote:
> > On 12/07/2023 01:07, Jessica Zhang wrote:  
> >>
> >>
> >> On 7/10/2023 1:11 PM, Dmitry Baryshkov wrote:  
> >>> On 10/07/2023 22:51, Jessica Zhang wrote:  
> 
> 
>  On 6/30/2023 1:27 AM, Pekka Paalanen wrote:  
> > On Fri, 30 Jun 2023 03:42:28 +0300
> > Dmitry Baryshkov  wrote:
> >  
> >> On 30/06/2023 03:25, Jessica Zhang wrote:  
> >>> Add support for pixel_source property to drm_plane and related
> >>> documentation.
> >>>
> >>> This enum property will allow user to specify a pixel source for the
> >>> plane. Possible pixel sources will be defined in the
> >>> drm_plane_pixel_source enum.
> >>>
> >>> The current possible pixel sources are DRM_PLANE_PIXEL_SOURCE_FB and
> >>> DRM_PLANE_PIXEL_SOURCE_COLOR. The default value is *_SOURCE_FB.  
> >>
> >> I think, this should come before the solid fill property addition. 
> >> First
> >> you tell that there is a possibility to define other pixel 
> >> sources, then
> >> additional sources are defined.  
> >
> > Hi,
> >
> > that would be logical indeed.  
> 
>  Hi Dmitry and Pekka,
> 
>  Sorry for the delay in response, was out of office last week.
> 
>  Acked.
>   
> >  
> >>>
> >>> Signed-off-by: Jessica Zhang 
> >>> ---
> >>>    drivers/gpu/drm/drm_atomic_state_helper.c |  1 +
> >>>    drivers/gpu/drm/drm_atomic_uapi.c |  4 ++
> >>>    drivers/gpu/drm/drm_blend.c   | 81 
> >>> +++
> >>>    include/drm/drm_blend.h  |  2 +
> >>>    include/drm/drm_plane.h  | 21 
> >>>    5 files changed, 109 insertions(+)
> >>>
> >>> diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c 
> >>> b/drivers/gpu/drm/drm_atomic_state_helper.c
> >>> index fe14be2bd2b2..86fb876efbe6 100644
> >>> --- a/drivers/gpu/drm/drm_atomic_state_helper.c
> >>> +++ b/drivers/gpu/drm/drm_atomic_state_helper.c
> >>> @@ -252,6 +252,7 @@ void 
> >>> __drm_atomic_helper_plane_state_reset(struct drm_plane_state 
> >>> *plane_state,
> >>>    plane_state->alpha = DRM_BLEND_ALPHA_OPAQUE;
> >>>    plane_state->pixel_blend_mode = DRM_MODE_BLEND_PREMULTI;
> >>> +    plane_state->pixel_source = DRM_PLANE_PIXEL_SOURCE_FB;
> >>>    if (plane_state->solid_fill_blob) {
> >>>    drm_property_blob_put(plane_state->solid_fill_blob);
> >>> diff --git a/drivers/gpu/drm/drm_atomic_uapi.c 
> >>> b/drivers/gpu/drm/drm_atomic_uapi.c
> >>> index a28b4ee79444..6e59c21af66b 100644
> >>> --- a/drivers/gpu/drm/drm_atomic_uapi.c
> >>> +++ b/drivers/gpu/drm/drm_atomic_uapi.c
> >>> @@ -596,6 +596,8 @@ static int 
> >>> drm_atomic_plane_set_property(struct drm_plane *plane,
> >>>    drm_property_blob_put(solid_fill);
> >>>    return ret;
> >>> +    } else if (property == plane->pixel_source_property) {
> >>> +    state->pixel_source = val;
> >>>    } else if (property == plane->alpha_property) {
> >>>    state->alpha = val;
> >>>    } else if (property == plane->blend_mode_property) {  
> >>
> >> I think, it was pointed out in the discussion that 
> >> drm_mode_setplane()
> >> (a pre-atomic IOCTL to turn the plane on and off) should also reset
> >> pixel_source to FB.  
> 
>  I don't remember drm_mode_setplane() being mentioned in the 
>  pixel_source discussion... can you share where it was mentioned?  
> >>>
> >>> https://lore.kernel.org/dri-devel/20230627105849.004050b3@eldfell/
> >>>
> >>> Let me quote it here:
> >>> "Legacy non-atomic UAPI wrappers can do whatever they want, and program
> >>> any (new) properties they want in order to implement the legacy
> >>> expectations, so that does not seem to be a problem."
> >>>
> >>>  
> 
>  I'd prefer to avoid having driver change the pixel_source directly 
>  as it could cause some unexpected side effects. In general, I would 
>  like userspace to assign the value of pixel_source without driver 
>  doing anything "under the hood".  
> >>>
> >>> s/driver/drm core/
> >>>
> >>> We have to remain compatible with old userspace, especially with the 
> >>> non-atomic one. If the userspace calls 
> >>> ioctl(DRM_IOCTL_MODE_SETPLANE), we have to display the specified FB, 
> >>> no matter what was the value of PIXEL_SOURCE before this ioctl.  
> >>
> >>
> >> Got it, thanks the clarification -- I see your point.
> >>
> >> I'm already setting plane_state->pixel_source to FB in 
> >> __drm_atomic_helper_plane_reset() and it seems to me that all drivers 
> >> are calling that within their respective plane_funcs->reset().
> >>
> >> Since (as far as I know) reset() is being called for both the atomic 
> >> and