Wayland-Protocols 1.31 release

The release of the wayland-protocols 1.31 package has been published, containing a set of protocols and extensions that complement the capabilities of the Wayland base protocol and provide the capabilities necessary for building composite servers and user environments.

All protocols consistently go through three phases - development, testing and stabilization. After completion of the development stage ("unstable" category), the protocol is placed in the "staging" branch and officially included in the wayland-protocols set, and after testing is completed, it is moved to the stable category. Protocols from the "staging" category can already be used in composite servers and clients where the functionality associated with them is required. Unlike the “unstable” category, in “staging” it is forbidden to make changes that violate compatibility, but if problems and flaws are identified during testing, replacement with a new significant version of the protocol or another Wayland extension is not ruled out.

The new version was published a week after the release of Wayland-Protocols 1.30, which added tearing-control protocol support to disable vertical sync. In version 1.31, the fractional-scale protocol was added to the "staging" category, with which the composite manager can pass non-integer surface scaling values, which allows the client to determine a more accurate buffer size for wp_viewport objects, compared to passing rounded scale information. Implementations of the fractional-scale protocol have been prepared for wlroots, KWin, and glfw.

Wayland-protocols currently includes the following stable protocols that are backward compatible:

  • viewporter" - allows the client to perform actions on scaling and cropping the edges of the surface on the side Server.
  • "presentation-time" - provides video display.
  • “xdg-shell” is an interface for creating and interacting with surfaces like windows, which allows them to be moved around the screen, minimized, maximized, resized, etc.

Protocols tested in the "staging" branch:

  • drm-lease - provides the resources necessary to form a stereo image with different buffers for the left and right eyes when displayed on virtual reality helmets.
  • "ext-session-lock" - defines the means of locking the session, for example, during the operation of the screen saver or the output of the authentication dialog.
  • "single-pixel-buffer" - allows you to create single-pixel buffers that include four 32-bit RGBA values.
  • "xdg-activation" - allows you to transfer focus between different surfaces of the first level (for example, using xdg-activation, one application can switch focus to another).
  • content-type - allows clients to pass composite server Information about the content being displayed that can be used to optimize content-aware behavior, such as setting specific DRM properties such as "content type." Support for the following content types is declared: none (no data type information), photo (digital photo output requiring minimal processing), video (video or animation, requiring more precise synchronization to avoid stuttering), and game (game launching, requiring output with minimal latency).
  • ext-idle-notify - Allows composite servers to send user inactivity notifications to clients, which can be used to activate additional power saving modes after a certain amount of inactivity.
  • tearing-control - allows you to disable vertical sync (VSync) with vertical blanking pulse in full-screen applications, which is used to protect against tearing in the output (tearing). In multimedia applications, the appearance of artifacts due to tearing is an undesirable effect, but in game programs, artifacts can be tolerated if dealing with them leads to additional delays.

Protocols being developed in the "unstable" branch:

  • "fullscreen-shell" - control work in full screen mode.
  • "input-method" - processing of input methods.
  • "idle-inhibit" - blocking the launch of the screensaver (screen saver).
  • "input-timestamps" - timestamps for input events.
  • "keyboard-shortcuts-inhibit" - Controls the attachment of keyboard shortcuts and hotkeys.
  • "linux-dmabuf" - Sharing multiple video cards using dma-buf technology.
  • "linux-explicit-synchronization" is specific to Linux mechanism for synchronizing buffers in relation to the surface.
  • "pointer-gestures" - control from touch screens.
  • "pointer constraints" - pointer constraints (blocking).
  • "primary-selection" - by analogy with X11, it provides the primary clipboard (primary selection), the insertion of information from which is usually done with the middle mouse button.
  • "relative pointer events" - relative pointer events.
  • "tablet" - support for input from tablets.
  • "text-input" - organization of text input.
  • "xdg-foreign" is an interface for interacting with the surfaces of a "neighboring" client.
  • "xdg-decoration" - rendering window decorations on the server side.
  • "xdg-output" - additional information about the video output (used for fractional scaling).
  • "xwayland-keyboard-grab" - Capture input in XWayland applications.
  • Source: opennet.ru

Buy reliable hosting for sites with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster