[ANNOUNCE] xwayland (aka Xwayland 23.1.0 rc1)

Olivier Fourdan ofourdan at redhat.com
Wed Feb 22 10:17:14 UTC 2023

As per the schedule, I am pleased to announce the first release candidate
of the standalone Xwayland 23.1.0 release (Xwayland 23.1.0 rc1).

Some notable changes since Xwayland 22.1 include:

  - Support for linux_dmabuf v4 protocol,
  - Support for wl_pointer.axis_v120 (high-resolution scrolling),
  - Support for xwayland_shell protocol,
  - Improved "rootful" mode for using Xwayland as a nested Xserver,
  - Improved emulated XRandR support exposing the output names,
  - Support for byte-swapped clients is now disabled by default.
Testing of this release candidate would be greatly appreciated.

Please report any issues at https://gitlab.freedesktop.org/xorg/xserver/-/issues

The second release candidate is scheduled in two weeks from now.

The following shortlogs include all changes since the xwayland-22.1 branch
was first created, not all of those changes are relevant to Xwayland though:

Aaron Plattner (2):
       os: print <signal handler called> if unw_is_signal_frame()
       os: print registers in the libunwind version of xorg_backtrace()

Adam Jackson (3):
       ephyr: Sync less in hostx_paint_rect
       ephyr: Sync even less in ephyrInternalDamageRedisplay
       present: Send a PresentConfigureNotify event for destroyed windows

Alan Coopersmith (8):
       Replace "the the" with a single "the" in docs & comments
       xfree86: finish removing numTimings in xf86ValidateModes()
       gitlab CI: enable gitlab's builtin static analysis
       gitlab CI: enable commit & merge request checks
       os: Use memcpy() instead of memmove() when buffers are known not to overlap
       dix: Use memcpy() instead of memmove() when buffers are known not to overlap
       mi: Use memcpy() instead of memmove() when buffers are known not to overlap
       xf86AutoConfig: try modesetting on all platforms we build it on

Austin Shafer (9):
       xwayland: Move xwl_format array management to its own function
       xwayland: Implement linux_dmabuf_feedback event handlers
       xwayland: Add get_main_device helper to GBM
       xwayland: Add get_drawable_modifiers implementation
       xwayland: Make helper for returning a list of formats
       xwayland: Return default feedback in xwl_screen
       xwayland: Add proper support for telling if a format/mod is supported
       dri3: Don't compute intersection with drawable modifiers
       xwayland: Send PresentCompleteModeSuboptimalCopy if dmabuf feedback was resent

Brian Ruthven (1):
       x86emu: re-align breaks in ins() and outs()

Błażej Szczygieł (1):
       present: Check for NULL to prevent crash

Claes Nästén (1):
       xfree86: #ifdef HAS_USL_VTS for switch_to under Solaris

Corentin Noël (1):
       glamor: Only check for llvmpipe renderer

Dave Airlie (1):
       glamor: handle EXT_gpu_shader4 in dual source blend paths

David Jacewicz (1):
       xwayland: Aggregate scroll axis events to fix kinetic scrolling

Demi Marie Obenour (1):
       Forbid server grabs by non-WM on *rootless* XWayland

Doğukan Korkmaztürk (2):
       xwayland/glx: Mirror all EGLConfigs
       GLX: Free the tag of the old context later

Eli Schwartz (1):
       meson: fix types for some build options

Eric Curtin (1):
       config: add a quirk for Apple Silicon appledrm

FeepingCreature (1):
       xkb: Avoid length-check failure on empty strings.

Ivan A. Melnikov (1):
       glamor: Don't initialize on softpipe

Jan Beich (1):
       xwayland: add missing dependency on xwaylandproto

Jeremy Huddleston Sequoia (52):
       rootless: Dead code removal (ROOTLESS_REDISPLAY_DELAY is already defined)
       X11Application: Ensure TIS operations are done on the main thread
       os/connection: Improve abstraction for launchd secure sockets
       xquartz: Create a separate category for organizing user preferences
       xquartz pbproxy: Adopt NSUserDefaults+XQuartzDefaults for preferences
       xquartz: Fold spaces related preferences into NSUserDefaults+XQuartzDefaults
       XQuartz: Ensure scroll events are delivered to a single window (not both X11 and AppKit)
       meson: Bump requirement to meson-0.50.0
       xquartz: Update Sparkle configuration to use SUPublicEDKey
       xquartz: Update copyright for 2022
       meson: Provide options to set CFBundleVersion and CFBundleVersionString in XQuartz
       Revert "meson: Bump requirement to meson-0.50.0"
       print_edid: Fix a format string error
       xf86-input-inputtest: Fix build on systems without SOCK_NONBLOCK
       tests: Fix build failure from missing micmap.c
       meson: Support building Xnest and Xorg on darwin
       XQuartz: Build the bundle trampoline when using meson
       XQuartz: Add TCC reason keys to Info.plist
       xquartz: Use correct defines when building to support Sparkle updates
       meson: Use system method for locating tirpc
       CI: Update to xcb-proto-1.14.1 to support python 3.9
       CI: Use -fcommon to build libX11 for mingw
       CI: Use -fcommon to build xtst
       CI: Update gitlab CI to use debian bullseye
       meson: Bump requirement to meson-0.52.0
       xquartz: Fix a possible crash when editing the Application menu due to mutaing immutable arrays
       XQuartz: Improve type safety for X11Controller's application menu editor
       xquartz: Remove unused macro (X11LIBDIR)
       xquartz: Move default applications list outside of the main executable
       meson: Don't build COMPOSITE for XQuartz
       xquartz: Fix some formatting
       xquartz: Ignore SIGPIPE at process launch
       xquartz: Use xorg_backtrace() instead of rolling our own for debugging
       rootless: Add additional debug logging to help triage XQuartz fb/rootless/damage crashes
       dix: Stop recycling scratch pixmaps
       dix: Remove pScratchPixmap and other associated ABI changes
       xquartz: Update the about box copyright to 2023
       xquartz: Disable COMPOSITE at runtime
       Revert "meson: Don't build COMPOSITE for XQuartz"
       rootless: Fixup some format errors in debug logging
       rootless: Remove option to disable ROOTLESS_RESIZE_GRAVITY
       rootless: Ensure gResizeDeathPix is stored in locally-managed memory rather than re-using the implementation's backing store
       rootless: Use RL_GRAVITY_NORTH_WEST for min/max/zoom resizing
       rootless: Remove the special case for northwest gravity in StartFrameResize
       rootless: Dead code removal (resize_after in StartFrameResize / FinishFrameResize)
       rootless: Remove an unnecessary memory copy when handling resize with gravity RL_GRAVITY_NONE (border width changes)
       rootless: Dead code removal (RootlessResizeCopyWindow)
       rootless: Use screen_x and screen_y instead of pixmap pointer hacks
       os: Update AllocNewConnection() debug logging to include whether or not the client is local
       os: Update GetLocalClientCreds to prefer getpeerucred() or SO_PEERCRED over getpeereid()
       os: Use LOCAL_PEERPID from sys/un.h if it is available to detemine the pid when falling back on getpeereids()
       darwin: Implement DetermineClientCmd for macOS

JiangWu (1):
       randr: Correctly get physical size for screen with RandR 1.5

Jocelyn Falempe (1):
       x86/logind fix suspend/resume when there are no input devices

John D Pell (1):
       XQuartz: stub: Call LSOpenApplication instead of fork()/exec()

Joshua Ashton (6):
       xwayland: Add some more xwayland fake modes
       xwayland: Add -force-xrandr-emulation switch
       ci: Bump to wayland 1.21.0
       ci: Bump to wayland-protocols 1.28 for xwayland_shell
       xwayland: Implement xwayland_shell_v1
       xwayland: Don't expose XRandR emulated modes for leaseable displays

Julian Orth (1):
       os/connection: don't leave `port` uninitialized

Konstantin (4):
       meson: add glamor gles2 tests
       glamor: make use of GL_EXT_texture_format_BGRA8888
       glamor: transpose gradients transparently
       glamor: fix XVideo run with GLES

Konstantin Kharlamov (9):
       exa: fix "comparison is always false"
       xfree86: numTimings is never value other than 0
       Xext: the check firstValuator ≤ 1 is duplicated in this branch
       xkbtext: fix copy-paste error
       glx: remove a noop assert (index is unsigned)
       modesetting: don't pass a big struct by value
       fdi2iclass.py: use "is" to compare with None
       fdi2iclass: remove unused local variable
       gen_gl_wrappers: remove unused imports

Luc Ma (1):
       ci: remove redundant slash in libxcvt repository url

Lucas Stach (4):
       xwayland: handle fd export failure in glamor_egl_fds_from_pixmap
       xwayland: properly get FDs from multiplanar GBM BOs
       glamor_egl: handle fd export failure in glamor_egl_fds_from_pixmap
       glamor_egl: properly get FDs from multiplanar GBM BOs

Michel Dänzer (30):
       xwayland: Clear timer_armed in xwl_present_unrealize_window
       xwayland: Always hook up frame_callback_list in xwl_present_queue_vblank
       xwayland/present: Do not send two idle notify events for flip pixmaps
       xwayland: Add break statements in pointer_handle_axis
       ci: Include meson logs in build job artifacts
       ci: Always generate artifacts from build jobs
       test: Fix 'xephr' mis-spelling
       test: Exclude two XTS xsetfontpath tests
       ci: Install weston from Debian
       ci: Use fixed Git commits for piglit, rendercheck & xts
       ci: Move build job script to a separate file
       ci: Check that all expected piglit results are there
       dix: Skip more code in SetRootClip for ROOT_CLIP_INPUT_ONLY
       ci: Use "meson test" instead of "ninja test"
       ci: Move dist testing to a separate job
       ci: Export LP_NUM_THREADS=0 for meson test
       xwayland: Spell Xwayland consistently in error messages
       xwayland: Spell XWAYLAND consistently in debug messages
       xwayland: Do not use "XWayland" spelling in code identifiers
       Drop Xquartz DDX
       Drop Xnest DDX
       Drop Xwin DDX and x86 MinGW-w64 cross build
       Drop Xorg DDX
       Drop Xephyr / kdrive DDX
       Drop config directory
       Drop EXA code
       Drop miext/shadow directory
       meson: Build Xwayland unconditionally
       Don't install Xvfb
       meson: Change project name to xwayland

Mike Gorse (1):
       dix: Use CopyPartialInternalEvent in EnqueueEvent

Minh Phan (3):
       randr: introduce rrCrtcGetInfo DDX function
       xwayland/output: properly return the current emulated mode when queried
       xwayland/window: Do not double add window to damage list

Morose (1):
       xwayland: Fix check logic in sprite_check_lost_focus()

Olivier Fourdan (46):
       render: Fix build with gcc 12
       xwayland: Fix cursor color
       Xwayland: Do not map the COW by default when rootless
       xwayland/present: Fix use-after-free in xwl_unrealize_window()
       randr: No need to check RRGetOutputProperty() twice
       randr: Add "RANDR Emulation" property
       xwayland/output: Set the "RANDR Emulation" property
       xwayland: catch SetWindowPixmap() even when rootful
       xwayland: make the output serials belong to the screen
       xwayland: update_screen_size() takes a screen argument
       xwayland: add a fixed geometry size for rootful
       xwayland: add xwl_output_from_wl_output()
       xwayland: keep track of the wl_output enter/leave
       xwayland: keep the xdg_toplevel around
       xwayland: pass the emulated mode by reference
       xwayland: update the Xwayland screen size first
       xwayland: add fullscreen mode for rootful
       xwayland: do not auto-lock pointer when rootful
       xwayland: add (fake) device grab support
       xwayland: move the root window surface to its own function
       xwayland: set the surface title when running rootful
       xwayland: add xdg-toplevel listener
       xwayland: set the app_id and install a desktop launcher
       xwayland: set tag on our surfaces
       xwayland: add optional support for libdecor
       ci: add libdecor
       xwayland: Fix "-force-xrandr-emulation"
       dix: Fix overzealous caching of ResourceClientBits()
       xwayland: Prevent Xserver grabs with rootless
       xwayland: Delay wl_surface destruction
       xwayland: Clear the "xwl-window" tag on unrealize
       build: Bump wayland requirement to 1.18
       xwayland/input: Do not ignore leave events
       modesetting: Document the "Atomic" option
       modesetting: Log whether atomic modesetting is enabled
       xfree86: Fix videodrv ABI version
       xwayland: Commit surface changes with libdecor configure
       build: Bump Wayland dependency to 1.21
       xwayland: wl_pointer.axis_v120 is no longer optional
       dix: Clear device sprite after free in AttachDevice()
       xwayland: Tell RR has changed only when done
       xwayland: Use xdg-output name for XRandR
       xwayland: Pass the wl_output version
       xwayland: Use wl_output.name for XRandR
       Bump version to
       Bump version to

Peter Harris (1):
       os: Restore buffer when writing to network

Peter Hutterer (31):
       xkb: move the SProcXkbDispatch declaration
       xkb: rename xkb.h to xkb-procs.h
       xkb: whitespace fixes
       xkb: switch to array index loops to moving pointers
       xkb: swap XkbSetDeviceInfo and XkbSetDeviceInfoCheck
       xkb: add request length validation for XkbSetGeometry
       xkb: fix some possible memleaks in XkbGetKbdByName
       xkb: length-check XkbGetKbdByName before accessing the fields
       xkb: length-check XkbListComponents before accessing the fields
       xkb: proof GetCountedString against request length attacks
       xwayland: correct the type for the discrete scroll events
       xwayland: add support for the XWAYLAND extension
       meson: add fontrootdir option to drop font-utils dependency
       Xtest: disallow GenericEvents in XTestSwapFakeInput
       Xi: disallow passive grabs with a detail > 255
       Xext: free the XvRTVideoNotify when turning off from the same client
       Xext: free the screen saver resource when replacing it
       Xi: return an error from XI property changes if verification failed
       Xi: avoid integer truncation in length check of ProcXIChangeProperty
       xkb: reset the radio_groups pointer to NULL after freeing it
       Xext: fix invalid event type mask in XTestSwapFakeInput
       Fix some indentation issues
       dix: remove unused PANORAMIX_DEBUG ifdef
       dix: localize two variables
       Disallow byte-swapped clients by default
       xwayland: use a define for the horiz/vert scroll valuators
       xwayland: hook up wl_pointer.axis_v120 events
       Xi: fix potential use-after-free in DeepCopyPointerClasses
       dix: remove pointless "flexible" x/y axis mapping
       dix: switch scroll button emulation to multiples of increment
       dix: fix wheel emulation lockup when a negative increment is set

Povilas Kanapickas (5):
       meson: Remove config macros that are no longer used
       dix: Correctly save replayed event into GrabInfoRec
       dix: Fix use after free in input device shutdown
       dix: Don't send touch end to clients that do async grab without touches
       xfree86: Fix event data alignment in inputtest driver

Samuel Thibault (1):
       xkb: fix XkbSetMap when changing a keysym without changing a keytype

Shashank Sharma (1):
       xf86: allow DDX driver for GPU/PCI hot-plug

Simon Ser (3):
       xwayland: fix GBM on driver without explicit modifiers
       xwayland: generate pkg-config file from Meson
       xwayland: override Meson dependency

Sultan Alsawaf (7):
       pixmap: make PixmapDirtyCopyArea public
       xfree86: make xf86RotateCrtcRedisplay public
       modesetting: make the shadow buffer helpers generic
       modesetting: make do_queue_flip_on_crtc generic
       present: add awareness for drivers with TearFree
       modesetting: coalesce vblank events to avoid DRM event queue exhaustion
       modesetting: add support for TearFree page flips

Tamura Dai (1):
       Xephyr: fix help output.

Thomas Zimmermann (1):
       xf86: Accept devices with the 'hyperv_drm' driver

Vasily Khoruzhick (1):
       glamor: use dual source blend on GL 2.1 with ARB_ES2_compatibility

Weng Xuetian (1):
       xwayland: Fix invalid pointer access in drm_lease_device_handle_released.

Yuriy (1):
       glamor: fix CbCr format handling

coypu at sdf.org (1):
       Simplify auto device configuration for choosing wsfb, fbdev

nerdopolis (1):
       xephyr: Don't check for SeatId anymore

nia (2):
       config/wscons: Fix build and add support for NetBSD
       config/wscons: Always attach the "ws" driver for pointer devices,

orbea (1):
       meson: wayland_client_dep is false when wayland is disabled

pkubaj (1):
       Fix build on FreeBSD/powerpc*

tholin (1):
       dix: Hold input lock for AttachDevice()

zhoulei (1):
       xwayland: Change randr_output status when call xwl_output_remove()

git tag: xwayland-

SHA256: 5ffc1aa370bbbe9aed82bd8b05b9ae704f8e26897beb175a7008e3688939bd8d  xwayland-
SHA512: 7c9efc47d59a34bca3065dc69142e58a9e2f873d073fe1602077a048a949aeac822f7f4d62ae01205933680699783bd641c913286efda3ebb1ae2fa122dcc67d  xwayland-
PGP:  https://xorg.freedesktop.org/archive/individual/xserver/xwayland-
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0x14706DBE1E4B4540.asc
Type: application/pgp-keys
Size: 2988 bytes
Desc: OpenPGP public key
URL: <https://lists.x.org/archives/xorg/attachments/20230222/35a4632b/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 203 bytes
Desc: OpenPGP digital signature
URL: <https://lists.x.org/archives/xorg/attachments/20230222/35a4632b/attachment-0001.sig>

More information about the xorg mailing list