-
23a53f0d
by Vasily Khoruzhick
at 2021-05-03T21:44:18-07:00
glx: fixup symbol name for get_extensions function
glxProbeDriver() concatenates __DRI_DRIVER_GET_EXTENSIONS with driver name
to get symbol name for get_extension function. Unfortunately that doesn't
work for drivers that have hyphen in their name, e.g. sun4i-drm --
get_extensions() for these uses underscore instead.
As result dlsym() doesn't find get_extension() function and AIGLX
initialization fails resulting in following message in Xorg.0.log:
(EE) AIGLX error: sun4i-drm does not export required DRI extension
Replace all non-alpha-numeric characters with underscore to fix the issue..
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
(cherry picked from commit b56e501092169a9c0a60663d832ee71898a8bc4b)
-
d41b4334
by Olivier Fourdan
at 2021-06-08T08:02:37+00:00
xwayland: Add PtrFeedback to the touch device
Trying to change the acceleration/threshold on Xwayland cannot work, and
the corresponding handler xwl_pointer_control() is a no-op.
Yet, an X11 client trying to change those on the touch device may
possibly cause a crash because the touch device in Xwayland doesn't set
that.
Initialize the touch device's PtrFeedback to make sure that just cannot
happen.
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1137
(cherry picked from commit ab76272a7d2bff997985893c89147412a7360310)
-
62725293
by Olivier Fourdan
at 2021-06-08T08:02:37+00:00
dix: Guard against non-existing PtrFeedbackPtr
Trying to change the pointer control settings on a device without
PtrFeedbackPtr would be a bug and a crash in the Xserver.
Guard against that case by returning early with a BadImplementation
error, that might kill the X11 client but the Xserver would survive.
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Related: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1137
(cherry picked from commit dee2bb033e78e2f4aae7f5708c3d4fc74a9957de)
-
4e11bd39
by Łukasz Spintzyk
at 2021-06-09T19:25:30+00:00
modesetting: Disable reverse prime offload mode for displays running on evdi,udl
This mode for displays running on evdi/udl as side effect of failed glamor_egl_init
reverse_prime_offload_mode was initialized to FALSE
After Mesa upgrade to 21.0.0 GL_RENDERER is not llvmpipe that results in successful glamor_egl_init
and reverse_prime_offload_mode enabled.
This commit is explicitly disabling reverse_prime_offload_mode for evdi and udl drivers
Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
(cherry picked from commit 7e7c147105ac704a7b33bdee0f85dc9ccdd8f747)
-
464cbee1
by Łukasz Spintzyk
at 2021-06-14T12:16:45+02:00
modesetting: Initialize present extension despite glamor is disabled
Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
(cherry picked from commit d03c0de77ba36bb5221d00ac84dcdd6aae0df453)
-
31544e68
by Łukasz Spintzyk
at 2021-06-14T12:16:47+02:00
present: Use crtc's screen present operation for syncing
Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
(cherry picked from commit 908deb0895f9fe345d70be933d251ea10511d30a)
-
c7a2da7b
by Łukasz Spintzyk
at 2021-06-14T12:16:48+02:00
present: fix msc offset calculation in screen mode
Instead of getting the current msc value from the window crtc,
which not exist take the last saved msc value saved in
the window_priv struct
Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
(cherry picked from commit d2dce22b6775c772282ac2c0e224ef9685ab34fa)
-
52eb801d
by Łukasz Spintzyk
at 2021-06-14T12:16:49+02:00
modesetting: Find crtc on slave outputs as fallback instead of returning primary crtc
Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
(cherry picked from commit b923364c5ec8251e81b4aa5fd451d9d7bb038009)
-
32196444
by Łukasz Spintzyk
at 2021-06-14T12:16:50+02:00
modesetting: remove unnecessary ms_covering_xf86_crtc dup of ms_covering_randr_crtc
Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
(cherry picked from commit c282be503e267afdd050df837d4cf61e0e7287b7)
-
0086535e
by Łukasz Spintzyk
at 2021-06-14T12:16:51+02:00
modesetting: Remove few common functions from ms namespace
A lot of that code is the same as in xf86-amdgpu and xf86-nouveau drivers. By removing that functions from
ms namespace we can move that code to common implementation.
Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
(cherry picked from commit 5be3b80b8d084ca5721be8791910d5827d1b6014)
-
394b6cc1
by Erik Kurzinger
at 2021-06-14T21:23:48+00:00
glx: don't create implicit GLXWindow if one already exists
If a GLXMakeCurrent request specifies an X window as its drawable,
__glXGetDrawable will implicitly create a GLXWindow for it. However,
the client may have already explicitly created a GLXWindow for that X
window. If that happens, two __glXDrawableRes resources will be added
to the window.
If the explicitly-created GLXWindow is later destroyed by the client,
DrawableGone will call FreeResourceByType on the X window, but this
will actually free the resource for the implicitly-created GLXWindow,
since that one would be at the head of the list.
Then if the X window is destroyed after that, the resource for the
explicitly-created GLXWindow will be freed. But that GLXWindow was
already destroyed above. This crashes the server when it tries to call
the destroyed GLXWindow's destructor. It also means the
implicitly-created GLXWindow would have been leaked since the
FreeResourceByType call mentioned above skips calling the destructor.
To fix this, if __glXGetDrawable is given an X window, it should check
if there is already a GLXWindow associated with it, and only create an
implicit one if there is not.
Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit b7a85e44da91d1663d5b4eabac06327c92a80f91)
-
2a83c840
by Olivier Fourdan
at 2021-06-14T21:23:48+00:00
glx: Set ContextTag for all contexts
Currently, xorgGlxMakeCurrent() would set the context tag only for
indirect GLX contexts.
However, several other places expect to find a context for the tag or
they would raise a GLXBadContextTag error, such as WaitGL() or WaitX().
Set the context tag for direct contexts as well, to avoid raising an
error and possibly killing the client.
Thanks to Erik Kurzinger <ekurzinger@nvidia.com> for spotting the issue.
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit c468d34c7208c9041f9c077b54a00ae9cccad6a3)
-
3ef6e7b7
by Jeremy Huddleston Sequoia
at 2021-06-14T22:26:43+00:00
xquartz: Fix appFlags build failure with macOS 10.15+ SDKs
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
(cherry picked from commit e59848548a462f1a0ac751bb8bb6afe56258cf4e)
-
7bf47771
by Jeremy Huddleston Sequoia
at 2021-06-14T22:26:43+00:00
xquartz: Ensure the mouse pointer is shown when switching to a native macOS alert or window
Fixes: https://github.com/XQuartz/XQuartz/issues/100
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
(cherry picked from commit 4ae36f418ed683532b0b6991e4a1e7d56740b845)
-
f1e76731
by Ville Syrjälä
at 2021-06-14T22:39:39+00:00
modesetting: Update props for dynamically added outputs
Dynamically added outputs should have their properties
properly updated as well. Otherwise we're left with an output
with many of its propeties not exposed.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Michel Dänzer <michel@daenzer.net>
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1143
(cherry picked from commit 0c5179c280a193a1dbbe29160906087f06eae6f2)
-
d16f6403
by Ville Syrjälä
at 2021-06-14T22:39:39+00:00
modesetting: Fix possible_crtcs
Populate outout possible_crtcs as the union of possible_crtcs from
the encoders rather than the intersection. Otherwise we're easily left
with possible_crtcs==0 when all the possible encoders have
non-overlapping possible_crtcs.
No idea what the magic 0x7f is about, but keep it around in case
it matters.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
(cherry picked from commit 0e4bd71d02d09c320e76280ae8f14df169387507)
-
22449f63
by Jose Maria Casanova Crespo
at 2021-06-14T23:39:37+00:00
glamor: Avoid using GL_QUADS on V3D
Like in 0e3f1252dacdc3194 ("glamor: Avoid using GL_QUADS on VC4")
this will avoid mesa to fallback doing conversion for QUADS primitives.
Signed-off-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
(cherry picked from commit 9adb13e296baead53112a268ddfd291195742c71)
-
a4210fe0
by Łukasz Spintzyk
at 2021-06-15T14:50:39+02:00
xfree86: Change displays array to pointers array to fix invalid pointer issues after table reallocation
There are rare cases when xf86SetDepthBpp is resizing displays array in confScreen.
As that array is shared between set of ScrnInfoRec's then realloc might invalidate chached DispPtr display values in
otheres ScrnInfoRec objects.
If we will change displays array as an array of pointers to DispRec then cached DispRec pointers in ScrnInfoRec
won't be invalid after reallocation of displays array.
Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
(cherry picked from commit f8a6be04d0c7e6a99824ff888ad6c010960c5c21)
-
1fc0ca6e
by Łukasz Spintzyk
at 2021-06-24T13:41:24+02:00
xfree86: Fix out of array bound access to xf86Entities
Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
(cherry picked from commit d66b7ec12986efd4f32fcc84cdaacbd04ec98ccb)
-
9a59631a
by Olivier Fourdan
at 2021-06-26T21:13:41+00:00
glx: Fix use after free in MakeCurrent
The fix from commit c468d34c7 - "glx: Set ContextTag for all contexts"
is actually incomplete, it correctly sets the context tag for direct
contexts as well, but would fail to mark the context's currentClient.
As a result, when the context is destroyed, it would be freed
immediately rather than being just scheduled for deletion, even though
it is still current for some client. leading to a use-after-free.
Make sure to also set the context's currentClient for direct contexts as
well, not just indirect ones.
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Fixes: c468d34c7 - "glx: Set ContextTag for all contexts"
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1186
Reviewed-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit aad61e8e03311eb8bae4f7db59e65634733eadc2)
-
e49738f0
by Zoltán Böszörményi
at 2021-06-26T21:20:56+00:00
xfree86: Fix NULL pointer dereference crash
screenp->displays[count] (passed to configDisplay() in
configScreen()) is NULL if there is no Virtual setting
in the configuration.
Fixes: f8a6be04d0c7e6a99824ff888ad6c010960c5c21 ("xfree86: Change
displays array to pointers array to fix invalid pointer issues
after table reallocation")
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
(cherry picked from commit ef89b6648e2a806237a6d2fa598e1b9c83f128b4)
-
b7adbac7
by orbea
at 2021-06-26T21:29:23+00:00
hw/dmx/config: Link directly with libdmxconfig.a
When building xserver with slibtool (https://dev.midipix.org/cross/slibtool)
the build will fail.
/usr/bin/ld: cannot find -ldmxconfig
This is because xserver creates libdmxconfig.a internally and then links with
the linker flag -ldmxconfig. However according to automake documentation the
-lfoo linker flags should only be used for external dependencies and all
internal libraries should be linked with the libtool archive file (.la) or
the static archive (.a) when the former is not available.
GNU libtool is far more permissive and happens to silently obscure this issue
while slibtool fails because it instead sees '-L./.libs -ldmxconfig'.
Signed-off-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit 2531ee02450e3be3549daa09407557c3addeba02)
-
8dea5022
by Matt Turner
at 2021-07-08T12:15:13-07:00
Build xz tarballs instead of bzip2
Signed-off-by: Matt Turner <mattst88@gmail.com>
-
b88ad0b3
by Matt Turner
at 2021-07-08T12:15:21-07:00
xserver 1.20.12
Signed-off-by: Matt Turner <mattst88@gmail.com>
-
b03d7184
by Łukasz Spintzyk
at 2021-07-29T11:55:38+02:00
present: fallback get_crtc to return crtc belonging to screen with present extension
Since crtc can belong to secondary output that may not have present
extension enabled we should fallback to first enabled crtc or fake crtc.
Fix for issue xorg/xserver#1195
(cherry picked from commit d6c02ffd9c910637f6b3b7249507998e9e45f93c)
-
f85e4edb
by Łukasz Spintzyk
at 2021-07-29T11:55:40+02:00
modesetting: unflip not possible when glamor is not set
This is fixing crashes of xfce when running under qemu
(cherry picked from commit 8836b9d243444031b6396d39d345f2f83b5fa6a9)
-
86a72cb1
by Matt Turner
at 2021-07-29T11:23:15-07:00
xserver 1.20.13
Signed-off-by: Matt Turner <mattst88@gmail.com>
-
b122e9f9
by Timo Aaltonen
at 2021-08-10T12:13:30+03:00
Merge branch 'upstream-unstable' into debian-unstable
-
3426e987
by Timo Aaltonen
at 2021-08-10T12:21:22+03:00
bump the version
-
0684b2b7
by Timo Aaltonen
at 2021-08-10T12:27:35+03:00
release to experimental