1. 18 Mar, 2021 1 commit
    • Simon Ser's avatar
      xwayland: add support for presentation-time · 8db9b345
      Simon Ser authored
      This change just replaces wl_surface.frame with presentation-time
      when available. This allows the X11 PresentCompleteNotify events to
      be sent right after vblank like X11 clients expect, even if the
      compositor sends delayed wl_surface.frame events (e.g. Sway can be
      configured to do so).
      This is groundwork for taking advantage of more presentation-time
      features, like accurate timing information and multiple frames in
      flight at the same time.
      Signed-off-by: Simon Ser's avatarSimon Ser <contact@emersion.fr>
  2. 15 Mar, 2021 1 commit
  3. 11 Mar, 2021 1 commit
    • Jan Beich's avatar
      meson: hide C API if Xorg is disabled (like autotools) · 376eaadd
      Jan Beich authored and Peter Hutterer's avatar Peter Hutterer committed
      When building only Xwayland using Meson some files are always installed.
      This causes package conflict if Xwayland is built separately from Xorg.
  4. 09 Mar, 2021 1 commit
  5. 08 Mar, 2021 1 commit
  6. 06 Mar, 2021 2 commits
  7. 05 Mar, 2021 2 commits
  8. 03 Mar, 2021 2 commits
    • Jacob Cherry's avatar
      xfree86: Fix autoconfig secondary GPU devices · a5367fac
      Jacob Cherry authored and Aaron Plattner's avatar Aaron Plattner committed
      The code path added by commit 69e4b8e6
       (xfree86: attempt to autoconfig
      gpu slave devices (v3)) assumes that it will only be run if the primary
      device on the screen is the first device in xf86configptr->conf_device_lst.
      While this is true most of the time, there are two specific cases where
      this assumption fails.
      First, if the first device in conf_device_lst is assigned to a different
      seat than the running X server, it will be skipped by the previous
      FIND_SUITABLE macro usage. Second, if the primary device was explicitly
      assigned to the screen but auto_gpu_device is still set and no secondary
      devices were explicitly listed, that device may not be the first device
      in conf_device_lst.
      When the first device in conf_device_lst is not the primary device
      assigned to the screen, two problems emerge. First, the first device in
      conf_device_lst will never be assigned to the screen as a secondary
      device. Second, the primary device is additionally assigned to the
      screen as a secondary device. The combination of these problems causes
      certain otherwise valid configurations to be invalid. For example, if a
      primary device is assigned to a screen and a secondary device is listed
      in the config but not explicitly assigned to the screen, then one order
      of the device sections results in a usable PRIME or Reverse PRIME setup
      and the other order does not.
      This commit removes the assumption that the primary device is the first
      device in conf_device_lst by starting the loop from the start of
      conf_device_lst and skipping the primary device when it is encountered.
      Signed-off-by: Jacob Cherry's avatarJacob Cherry <jcherry@nvidia.com>
    • Olivier Fourdan's avatar
      xwayland: Delay cursor visibility update · 97ed0048
      Olivier Fourdan authored
      Xwayland won't emulate XWarpPointer requests if the cursor is visible,
      this is to avoid having the cursor jumping on screen and preventing
      random X11 clients from controlling the pointer in Wayland, while
      allowing games which use that mechanism with a hidden cursor to work in
      There are, however, games which tend to do it in the wrong order, i.e.
      show the cursor before moving the pointer, and because Xwayland will not
      allow an X11 client to move the pointer while the cursor is visible, the
      requests will fail.
      Add a workaround for such X11 clients, when the cursor is being shown,
      keep it invisible until the cursor is actually moved. This way, X11
      clients which show their cursor just before moving it would still have a
      chance to succeed.
      v2: Add a timeout to show the cursor for well behaved clients.
      v3: Some cleanup (Michel)
      v4: Do not cancel cursor delay when updating the cursor to avoid
          delaying cursor visibility indefinitely if the client keeps
          settings different cursors (Michel)
      Signed-off-by: Olivier Fourdan's avatarOlivier Fourdan <ofourdan@redhat.com>
      Tested-by: Jaap Buurman's avatarJaap Buurman <jaapbuurman@gmail.com>
      Reviewed-by: Michel Dänzer's avatarMichel Dänzer <mdaenzer@redhat.com>
      Closes: xorg/xserver#734
  9. 22 Feb, 2021 3 commits
  10. 21 Feb, 2021 2 commits
    • Jeremy Huddleston Sequoia's avatar
    • Jeremy Huddleston Sequoia's avatar
      xquartz: Allocate each fbconfig separately · 487286d4
      Jeremy Huddleston Sequoia authored
      A change during the 1.20 development cycle resulted in fbconfigs being walked
      and deallocated individually during __glXScreenDestroy.  This change
      now avoids a use-after-free caused by that change.
      ==50859==ERROR: AddressSanitizer: heap-use-after-free on address 0x00010d3819c8 at pc 0x0001009d4230 bp 0x00016feca7a0 sp 0x00016feca798
      READ of size 8 at 0x00010d3819c8 thread T5
          #0 0x1009d422c in __glXScreenDestroy glxscreens.c:448
          #1 0x10091cc98 in __glXAquaScreenDestroy indirect.c:510
          #2 0x1009d2734 in glxCloseScreen glxscreens.c:169
          #3 0x100740a24 in dix_main main.c:325
          #4 0x10023ed50 in server_thread quartzStartup.c:65
          #5 0x199ae7fd0 in _pthread_start+0x13c (libsystem_pthread.dylib:arm64e+0x6fd0)
          #6 0x199ae2d38 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1d38)
      0x00010d3819c8 is located 200 bytes inside of 12800-byte region [0x00010d381900,0x00010d384b00)
      freed by thread T5 here:
          #0 0x101477ba8 in wrap_free+0x98 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x3fba8)
          #1 0x1009d4240 in __glXScreenDestroy glxscreens.c:449
          #2 0x10091cc98 in __glXAquaScreenDestroy indirect.c:510
          #3 0x1009d2734 in glxCloseScreen glxscreens.c:169
          #4 0x100740a24 in dix_main main.c:325
          #5 0x10023ed50 in server_thread quartzStartup.c:65
          #6 0x199ae7fd0 in _pthread_start+0x13c (libsystem_pthread.dylib:arm64e+0x6fd0)
          #7 0x199ae2d38 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1d38)
      previously allocated by thread T5 here:
          #0 0x101477e38 in wrap_calloc+0x9c (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x3fe38)
          #1 0x100925a40 in __glXAquaCreateVisualConfigs visualConfigs.c:116
          #2 0x10091cb24 in __glXAquaScreenProbe+0x224 (X11.bin:arm64+0x100730b24)
          #3 0x1009cd840 in xorgGlxServerInit glxext.c:528
          #4 0x10074539c in _CallCallbacks dixutils.c:743
          #5 0x100932a70 in CallCallbacks callback.h:83
          #6 0x100932478 in GlxExtensionInit vndext.c:244
          #7 0x10020a364 in InitExtensions miinitext.c:267
          #8 0x10073fe7c in dix_main main.c:197
          #9 0x10023ed50 in server_thread quartzStartup.c:65
          #10 0x199ae7fd0 in _pthread_start+0x13c (libsystem_pthread.dylib:arm64e+0x6fd0)
          #11 0x199ae2d38 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1d38)
      Regressed-in: 4b0a3cba
      CC: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
      Signed-off-by: Jeremy Huddleston Sequoia's avatarJeremy Huddleston Sequoia <jeremyhu@apple.com>
  11. 20 Feb, 2021 1 commit
  12. 19 Feb, 2021 13 commits
  13. 18 Feb, 2021 2 commits
  14. 17 Feb, 2021 4 commits
  15. 16 Feb, 2021 2 commits
  16. 15 Feb, 2021 2 commits