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

2023-08-02 Thread Daniel Vetter
On Mon, 31 Jul 2023 at 04:01, André Almeida  wrote:
>
> Em 13/07/2023 04:51, Pekka Paalanen escreveu:
> > On Tue, 11 Jul 2023 10:57:57 +0200
> > Daniel Vetter  wrote:
> >
> >> On Fri, Jul 07, 2023 at 07:40:59PM -0300, André Almeida wrote:
> >>> From: Pekka Paalanen 
> >>>
> >>> Specify how the atomic state is maintained between userspace and
> >>> kernel, plus the special case for async flips.
> >>>
> >>> Signed-off-by: Pekka Paalanen 
> >>> Signed-off-by: André Almeida 
> >>> ---
> >>> v4: total rework by Pekka
> >>> ---
> >>>   Documentation/gpu/drm-uapi.rst | 41 ++
> >>>   1 file changed, 41 insertions(+)
> >>>
> >>> diff --git a/Documentation/gpu/drm-uapi.rst 
> >>> b/Documentation/gpu/drm-uapi.rst
> >>> index 65fb3036a580..6a1662c08901 100644
> >>> --- a/Documentation/gpu/drm-uapi.rst
> >>> +++ b/Documentation/gpu/drm-uapi.rst
> >>> @@ -486,3 +486,44 @@ and the CRTC index is its position in this array.
> >>>
> >>>   .. kernel-doc:: include/uapi/drm/drm_mode.h
> >>>  :internal:
> >>> +
> >>> +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
> >>> +complete state change is validated but not applied.  Userspace should 
> >>> use this
> >>> +flag to validate any state change before asking to apply it. If 
> >>> validation fails
> >>> +for any reason, userspace should attempt to fall back to another, perhaps
> >>> +simpler, final state.  This allows userspace to probe for various 
> >>> configurations
> >>> +without causing visible glitches on screen and without the need to undo a
> >>> +probing change.
> >>> +
> >>> +The changes recorded in an atomic commit apply on top the current KMS 
> >>> state in
> >>> +the kernel. Hence, the complete new KMS state is the complete old KMS 
> >>> state with
> >>> +the committed property settings done on top. The kernel will 
> >>> automatically avoid
> >>> +no-operation changes, so it is safe and even expected for userspace to 
> >>> send
> >>> +redundant property settings.  No-operation changes do not count towards 
> >>> actually
> >>> +needed changes, e.g.  setting MODE_ID to a different blob with identical
> >>> +contents as the current KMS state shall not be a modeset on its own.
> >>
> >> Small clarification: The kernel indeed tries very hard to make redundant
> >> changes a no-op, and I think we should consider any issues here bugs. But
> >> it still has to check, which means it needs to acquire the right locks and
> >> put in the right (cross-crtc) synchronization points, and due to
> >> implmentation challenges it's very hard to try to avoid that in all cases.
> >> So adding redundant changes especially across crtc (and their connected
> >> planes/connectors) might result in some oversynchronization issues, and
> >> userspace should therefore avoid them if feasible.
> >>
> >> With some sentences added to clarify this:
> >>
> >> Reviewed-by: Daniel Vetter 
> >
> > After talking on IRC yesterday, we realized that the no-op rule is
> > nowhere near as generic as I have believed. Roughly:
> > https://oftc.irclog.whitequark.org/dri-devel/2023-07-12#1689152446-1689157291;
> >
> >
>
> How about:
>
> The changes recorded in an atomic commit apply on top the current KMS
> state in the kernel. Hence, the complete new KMS state is the complete
> old KMS state with the committed property settings done on top. The
> kernel will try to avoid no-operation changes, so it is safe for
> userspace to send redundant property settings. However, the kernel can
> not assure that every redundant information will always result in a
> no-op, giving the need to take locks to check par of the state. Giving
> that, some redundant information can lead to a full damage path. This is
> not something bad by itself, but userspace need to be aware of that side
> effect.

I think the addition about damage tracking should be a separate
paragraph, and not mixed in with the general explanation that no-op
updates might lead to oversync/overlocking issues. Because the damage
tracking issue is more a question of efficiency/power usage, but
should not (for most drivers/hw at least) result in delays and missed
updates due to oversynchronization of updates.

Also in my opinion the exact damage update rules are more a plane
property issue, and should probably be clarified there if the current
documentation is not clear enough. Since it's not about whe

[ANNOUNCE] weston 12.0.2

2023-08-02 Thread Marius Vlad
Hi all,

This is a point/bugfix release for Weston 12.0.2.

Full commit history bellow.

Derek Foreman (1):
  data-device: Don't make a weston_coord with no valid space

Leandro Ribeiro (3):
  drm: drop disable_planes being false as a condition to support writeback
  drm: do not pull writeback task if KMS atomic API is not supported
  tests: assert that capture info was received before trying screenshot

Liu, Kai1 (1):
  xwm: WM_TRANSIENT_FOR should not point to override-redirect window

Marius Vlad (3):
  backend-drm: Make DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP inert
  backend-drm/meson.build: Require at least mesa 21.1.1
  build: bump to version 12.0.2 for the point release

Michael Olbrich (1):
  backend-wayland: fix --fullscreen

Pekka Paalanen (1):
  man: make --wait-for-debugger findable

Philipp Zabel (2):
  backend-rdp: extract weston_output_set_single_mode()
  backend-vnc: use weston_output_set_single_mode()

git tag: 12.0.2

https://gitlab.freedesktop.org/wayland/weston/-/releases/12.0.2/downloads/weston-12.0.2.tar.xz
SHA256: eb686a7cf00992a23b17f192fca9a887313e92c346ee35d8575196983d656b4a  
weston-12.0.2.tar.xz
SHA512: 
4277cc71a2001768816d6c30df6c01f09ee24efd16651e7048d425afa63c78f92d6def0cca78150965b0f3fa946675b0325881ff9d2878925dedea216a968d59
  weston-12.0.2.tar.xz
PGP:
https://gitlab.freedesktop.org/wayland/weston/-/releases/12.0.2/downloads/weston-12.0.2.tar.xz.sig



signature.asc
Description: PGP signature


[ANNOUNCE] weston 11.0.3

2023-08-02 Thread Marius Vlad
Hi all,

This is a point/bugfix release for Weston 11.0.3.

Full commit history bellow.

Liu, Kai1 (1):
  xwm: WM_TRANSIENT_FOR should not point to override-redirect window

Marius Vlad (2):
  backend-drm/meson.build: Require at least mesa 21.1.1
  build: bump to version 11.0.3 for the point release

Michael Tretter (1):
  backend-drm: schedule connector disable for detached head

git tag: 11.0.3

https://gitlab.freedesktop.org/wayland/weston/-/releases/11.0.3/downloads/weston-11.0.3.tar.xz
SHA256: d5534bc703f2f7a695b9148fbdaa9ebc59b55405d5b03d326b8d3addfacae707  
weston-11.0.3.tar.xz
SHA512: 
755e180e8f7590359501c9e623997518f8c45e5920be7dc10761a4e62df02307ef7f11cb3bed5a17d53aac1d74d5ff5327caaecc1c1f70d81fb7f222c68a04f7
  weston-11.0.3.tar.xz
PGP:
https://gitlab.freedesktop.org/wayland/weston/-/releases/11.0.3/downloads/weston-11.0.3.tar.xz.sig



signature.asc
Description: PGP signature


[ANNOUNCE] weston 10.0.5

2023-08-02 Thread Marius Vlad
Hi all,

This is a point/bugfix release for Weston 10.0.5.

Full commit history bellow.

Marius Vlad (2):
  backend-drm/meson.build: Require at least mesa 21.1.1
  build: bump to version 10.0.5 for the point release

git tag: 10.0.5

https://gitlab.freedesktop.org/wayland/weston/-/releases/10.0.5/downloads/weston-10.0.5.tar.xz
SHA256: c712f9cebc66b9924550df5ace5d0359e33b5ff961ea6302de789b3fd4cf70df  
weston-10.0.5.tar.xz
SHA512: 
ac797e777423eaef35f4cc5671da0af531de69959e8ba3d41b17d87df05582b103a91f52867036b46e6bcdf472f4f8c9ff4de001049039feccdfdbe8e2299a95
  weston-10.0.5.tar.xz
PGP:
https://gitlab.freedesktop.org/wayland/weston/-/releases/10.0.5/downloads/weston-10.0.5.tar.xz.sig


signature.asc
Description: PGP signature


Wayland Governance Meeting

2023-08-02 Thread Xaver Hugl
This is a meeting annoucement.

The Wayland Governance Meeting is semi-regular meeting to drive
discussion on wayland-protocols forward.

Agenda for the next meeting: xdg-session

Link to the doodle: https://nuudel.digitalcourage.de/7bMjo6axZNsiUyoP
The final date will be announced on Sunday 6th of August.


Notes of previous meetings can be found
here:https://gitlab.freedesktop.org/wayland/wayland-protocols/-/wikis/meetings

In the interest of not having the meeting-link publically available,
please contact me under xaver.h...@kde.org if you wish to
participate.

Best regards,
Xaver Hugl


Weston patchset review request: Support video display on underlay planes in mixed mode

2023-08-02 Thread Chao Guo
Hi,

This patch set is used to improve plane assignment on underlay platform. This 
patch set creates the ability to do underlay planes for some views that are 
obscured by the primary plane partially in mixed mode.

MR link: https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1258

Can someone help review this patch set? We really hope to see this feature in 
Weston 12.

Best regards
Chao Guo