- 22 Jan, 2021 3 commits
-
-
Michel Dänzer authored
While this isn't critical yet, it might become so at some point, so let's make sure it keeps working. Don't set the PIGLIT/XTEST_DIR variables for ninja dist, testing XTS once against each DDX is enough (as part of ninja test). Requires git in the docker image. v2: * Drop /usr/local/bin/xkbcomp symlink, no longer needed with xkbcomp 1.4.1 (Peter Hutterer)
-
Michel Dänzer authored
This is a requirement for testing meson dist in CI.
-
Olivier Fourdan authored
Since commit b3f3d65e, xwayland now supports the command line option "-listenfd" for passing file descriptors and marked "-listen" as deprecated for this specific purpose. Add a new pkg-config variable "have_listenfd" to the xwayland.pc so that compositors can know this is available and use listenfd in place of the deprecated option. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com> Reviewed-by:
Jonas Ådahl <jadahl@gmail.com>
-
- 08 Jan, 2021 1 commit
-
-
Erik Kurzinger authored
There are currently no callers that make use of the "created" output parameter of xwl_glamor_pixmap_get_wl_buffer. Remove it, along with the corresponding argument of the associated EGL backend entrypoint.
-
- 06 Jan, 2021 1 commit
-
-
Povilas Kanapickas authored
Signed-off-by:
Povilas Kanapickas <povilas@radix.lt>
-
- 05 Jan, 2021 1 commit
-
-
Povilas Kanapickas authored
Pointer-emulated touch events should only be delivered to the client that owns the sequence even if it's a core client that became the effective owner of the sequency by selecting for pointer press and movement. Currently the emulated events are delivered like this already (see TouchResourceIsOwner() check in DeliverEmulatedMotionEvent()), except in the case of TouchEnd, in which case the generated motion event is still delivered to some client that's not necessarily the owner of the touch sequence. We already know whether a touch sequence that is about to emulate a pointer event has an owner, we just need to check that. This further allows to simplify DeliverEmulatedMotionEvent() as it won't ever be called for non-owned touch events. https://bugs.freedesktop.org/show_bug.cgi?id=60394Signed-off-by:
Povilas Kanapickas <povilas@radix.lt>
-
- 18 Dec, 2020 2 commits
-
-
Adam Jackson authored
All of these uses were attempting to set FD_CLOEXEC, which happens to be (1<<0). Since flags is going to be aligned in memory, its address is never going to have the low bit set, so we were never actually setting what we meant to. Fixes: #1114
-
Povilas Kanapickas authored
Signed-off-by:
Povilas Kanapickas <povilas@radix.lt>
-
- 17 Dec, 2020 3 commits
-
-
Povilas Kanapickas authored
Signed-off-by:
Povilas Kanapickas <povilas@radix.lt>
-
Povilas Kanapickas authored
Signed-off-by:
Povilas Kanapickas <povilas@radix.lt>
-
Povilas Kanapickas authored
Signed-off-by:
Povilas Kanapickas <povilas@radix.lt>
-
- 15 Dec, 2020 2 commits
-
-
Olivier Fourdan authored
Just a small code cleanup, there is no need to allocate a variable only to check the return value of eglInitialize(). Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com> Reviewed-by:
Tony Lindgren <tony@atomide.com>
-
Olivier Fourdan authored
Glamor requires at least big GL 2.1 or GLES2, therefore Xwayland tries to initialize first GL and then GLES2 if that fails. It does that all in one single function which makes the code slightly complicated, move the initialization of big-GL and GLES2 to separate functions to help with readability of the code. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com> Reviewed-by:
Tony Lindgren <tony@atomide.com>
-
- 14 Dec, 2020 3 commits
-
-
Tony Lindgren authored
We currently bail out early for GLES only devices, and call epoxy_gl_version() too early for GLES only that will make GLES only devices return NULL for glGetString(GL_RENDERER). Let's also add a check to see if we need to recreate the context to avoid pointless warnings for GLES only devices as suggested by Olivier Fourdan <ofourdan@redhat.com>. Fixes: a506b4ec - xwayland: make context current to check GL version Signed-off-by:
Tony Lindgren <tony@atomide.com>
-
Fabrice Fontaine authored
Kernel modesettings support also depends on dri2, see ./hw/xfree86/drivers/modesetting/meson.build So update meson.build to reflect the changes made in configure.ac by commit 9c81b8f5Signed-off-by:
Fabrice Fontaine <fontaine.fabrice@gmail.com>
-
Povilas Kanapickas authored
Signed-off-by:
Povilas Kanapickas <povilas@radix.lt>
-
- 10 Dec, 2020 3 commits
-
-
Olivier Fourdan authored
The window buffer mechanism would free the pixmap and its corresponding Wayland buffer as soon as window buffers are disposed. Typically when the X11 window is unrealized, the current window buffer is still used by the Wayland compositor and yet Xwayland will destroy the buffer. As a matter of fact, Xwayland should not destroy the Wayland buffer before the wl_buffer.release event is received. Add a reference counter to the window buffer similar to the to pixmap reference counter to keep the buffer around until the release callback is received. Increase that reference counter on the buffer which will be attached to the surface, and drop that reference when receiving the release callback notification. v2: Use a specific reference counter on the buffer rather than relying on the pixmap refcnt (Michel Dänzer <mdaenzer@redhat.com>) Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com> Acked-by:
Martin Peres <martin.peres@mupuf.org>
-
Olivier Fourdan authored
The cursor code would destroy the buffer as soon as the cursor is unrealized on X11 side. Yet, the Wayland compositor may still be using the buffer as long as a released callback has not been received. Increase the reference counter on the pixmap to hold a reference on the pixmap when attaching it to the surface and use the new pixmap release callback mechanism to release that reference when the buffer is released. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Acked-by:
Martin Peres <martin.peres@mupuf.org> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com>
-
Olivier Fourdan authored
The seat and tablet cursor functions are very similar, factorize the commonalities to simplify the code and reduce the copy/paste. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com>
-
- 08 Dec, 2020 2 commits
-
-
Prabhu Sundararaj authored
Commit 6a5a4e60 removed the option to configure useSIGIO option. Indeed, the xfree86 SIGIO support was reworked to use internal versions of OsBlockSIGIO and OsReleaseSIGIO. As a result, useSIGIO is no longer needed and can dropped Fixes: 6a5a4e60 - Remove SIGIO support for input [v5] Closes: #1107Reviewed-by:
Adam Jackson <ajax@redhat.com> Signed-off-by:
Prabhu Sundararaj <prabhu.sundararaj@nxp.com> Signed-off-by:
Mylène Josserand <mylene.josserand@free-electrons.com> Signed-off-by:
Fabrice Fontaine <fontaine.fabrice@gmail.com>
-
Mariusz Ceier authored
LogMessage logs only when the XLOG_VERBOSITY is >= 1, but by default XLOG_VERBOSITY is 0, so for example warning about deprected -listen parameter is never shown when running "Xwayland -listen 32 -help". Signed-off-by:
Mariusz Ceier <mceier+freedesktop@gmail.com>
-
- 04 Dec, 2020 1 commit
-
-
Michal Srb authored
Calling strlen on char[4] that does not need to contain '\0' is wrong and X server may end up running into uninitialized memory. In addition GCC 8 is clever enough that it knows that strlen on char[4] can return 0, 1, 2, 3 or cause undefined behavior. With this knowledge it can optimize away the min(..., 4). In reality it can cause the memcpy to be called with bigger size than 4 and overflow the destination buffer. Fixes: 83913de2 (xkb: Silence some compiler warnings) Closes: #288Signed-off-by:
Matt Turner <mattst88@gmail.com>
-
- 01 Dec, 2020 3 commits
-
-
Matthieu Herrb authored
Avoid out of bounds memory accesses on too short request. ZDI-CAN 11572 / CVE-2020-14360 This vulnerability was discovered by: Jan-Niklas Sohn working with Trend Micro Zero Day Initiative Signed-off-by:
Matthieu Herrb <matthieu@herrb.eu>
-
Matthieu Herrb authored
ZDI-CAN 11389 / CVE-2020-25712 This vulnerability was discovered by: Jan-Niklas Sohn working with Trend Micro Zero Day Initiative Signed-off-by:
Matthieu Herrb <matthieu@herrb.eu>
-
Michel Dänzer authored
The region as passed in is in the source pixmap's coordinate space, so intersecting it with the clipList (which is in screen space) resulted in disappointment. Fixes Firefox popups such as the hamburger menu when using the EGL backend. v2: * Drop vblank->x/y_off from RegionTranslate call, since they're always 0 here (present_wnmd_check_flip rejects flips for x/y_off != 0). Reported-by:
Robert Mader <robert.mader@posteo.de> Tested-by:
Robert Mader <robert.mader@posteo.de> Reviewed-by:
Olivier Fourdan <ofourdan@redhat.com> Tested-by: Joakim Tjernlund <joakim.tjernlund@infinera.com> # v1
-
- 30 Nov, 2020 1 commit
-
-
Michel Dänzer authored
GCC warned about it: ../../../glx/indirect_dispatch_swap.c:85:1: warning: ‘bswap_CARD64’ defined but not used [-Wunused-function] 85 | bswap_CARD64(const void *src) | ^~~~~~~~~~~~
-
- 26 Nov, 2020 2 commits
-
-
Olivier Fourdan authored
By default, the macro DebugPresent() is a no-op but it can be enabled at build time for debugging purpose. However, doing so prevents the code to build because one debug statement tries to make use of a non-existent variable: present.c: In function ‘ms_present_queue_vblank’: present.c:147:18: error: ‘vbl’ undeclared (first use in this function) 147 | vbl.request.sequence)); | ^~~ present.c:49:32: note: in definition of macro ‘DebugPresent’ 49 | #define DebugPresent(x) ErrorF x | ^ Fix the build with DebugPresent() by removing the vbl variable from the debug message. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com>
-
Erik Kurzinger authored
Querying the GLX_RENDER_TYPE of a GLX context via glXQueryContext will currently return the render type of the context's FB config, which is a bitmask of GLX_RGBA_BIT / GLX_COLOR_INDEX_BIT / ... values. However, this query should really return the render type that was specified when creating the context, which is one of GLX_RGBA_TYPE / GLX_COLOR_INDEX_TYPE / .... To enable this, save the render type when creating a new context (defaulting to GLX_RGBA_TYPE if unspecified), and then include this value in the context attributes sent to clients.
-
- 25 Nov, 2020 12 commits
-
-
Fabrice Fontaine authored
Kernel modesettings support also depends on dri2, see http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/drivers/modesetting/Makefile.am#n46 Fix #479Signed-off-by:
Bernd Kuhls <bernd.kuhls@t-online.de> [Patch retrieved (with a small update of commit message) from: https://git.buildroot.net/buildroot/tree/package/x11r7/xserver_xorg-server/1.20.6/0001-modesettings-needs-dri2.patch] Signed-off-by:
Fabrice Fontaine <fontaine.fabrice@gmail.com>
-
Böszörményi Zoltán authored
With !155, the device bus ID received via udev is constructed properly with the "usb:" prefix. But, it is not enough to make the following line to work in Section "Device": BusID "usb:0:1.2:1.0" Introduce BUS_USB, so the prefix can be distinguished from BUS_PCI and check the supplied BusID value against device->attribs->busid in xf86PlatformDeviceCheckBusID(). Signed-off-by:
Böszörményi Zoltán <zboszor@pr.hu>
-
Reza Arbab authored
The ID_PATH for a udl device looks like this: $ udevadm info /dev/dri/card2 | grep -w ID_PATH E: ID_PATH=pci-0000:00:14.0-usb-0:9.1:1.0 The parsing added in 0816e8fc ("linux: Make platform device probe less fragile"), sets OdevAttributes::busid to "pci:0000:00:14.0", where drmGetBusid() would have returned "3-9.1:1.0". Identifying this as a "pci:*" device eventually causes the vendor/device id check in probeSingleDevice() to fail, because a USB controller isn't a supported device: $ udevadm info --path=/devices/pci0000:00/0000:00:14.0 | grep -e VENDOR -e ID_PCI_CLASS E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller E: ID_VENDOR_FROM_DATABASE=Intel Corporation Instead of parsing out "pci:0000:00:14.0" in this case, use "usb:0:9.1:1.0" so the device probe will succeed. Fixes: 0816e8fc ("linux: Make platform device probe less fragile") Signed-off-by:
Reza Arbab <arbab@linux.ibm.com>
-
Aaron Plattner authored
I forgot to add these in commits 4fefe73f, b6985d6b, 245b9db0, and 4e670f12. Signed-off-by:
Aaron Plattner <aplattner@nvidia.com>
-
Povilas Kanapickas authored
XI2LASTEVENT identifies the bit number, not the mask size in bits. The mask size in bits is XI2LASTEVENT + 1 and the mask size in bytes is (XI2LASTEVENT + 8) / 8 or XI2MASKSIZE.
-
Povilas Kanapickas authored
-
Povilas Kanapickas authored
-
Povilas Kanapickas authored
-
Povilas Kanapickas authored
-
Povilas Kanapickas authored
-
Povilas Kanapickas authored
-
Povilas Kanapickas authored
-