summaryrefslogtreecommitdiff
path: root/xserver/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'xserver/ChangeLog')
-rw-r--r--xserver/ChangeLog481
1 files changed, 481 insertions, 0 deletions
diff --git a/xserver/ChangeLog b/xserver/ChangeLog
index 4dcd10d1e..ecf0d41b5 100644
--- a/xserver/ChangeLog
+++ b/xserver/ChangeLog
@@ -1,3 +1,484 @@
+commit ebfb06b11955a6c32500b7086be912ab96b753a7
+Author: Adam Jackson <ajax@redhat.com>
+Date: Wed Dec 20 14:23:57 2017 -0500
+
+ xserver 1.19.6
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+commit 91c42093b248fc61a23cd1f48fec451fa29e122c
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Tue Sep 26 17:28:12 2017 -0700
+
+ glx: Duplicate relevant fbconfigs for compositing visuals
+
+ Previously, before GLX_OML_swap_method was fixed, both the X server and
+ client ignored the swapMethod fbconfig value, which meant that, if the dri
+ driver thought it exposed more than one swapMethod, it actually just
+ exported a duplicated set of fbconfigs. When fixing GLX_OML_swap_method
+ and restricting the choice for built-in visuals to a single swap method
+ that meant we didn't have that many fbconfigs to choose from when pairing
+ the compositing visual with an fbconfig, resulting in the fbconfig paired
+ with the compositing visual becoming too restrictive for some applications,
+ (at least for kwin). This problem would also happen if the dri driver
+ only exposed a single swap method to begin with.
+
+ So, to make sure the compositing visual gets a good enough fbconfig,
+ duplicate fbconfigs that are suitable for compositing visuals and make
+ sure these duplicated fbconfigs can be used only by compositing visuals.
+ For duplicated fbconfigs not paired with a compositing visual, construct
+ new compositing visuals, making compositing clients able to choose visuals
+ / fbconfig more adapted to their needs.
+
+ This is in some sense equivalent to adding a new "TRUECOLOR_COMPOSITING"
+ GLX visualtype.
+
+ Fixes: 4486d199bd3b ("glx: Fix visual fbconfig matching with respect to
+ swap method")
+ Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102806
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+ Tested-By: Nick Sarnie <commendsarnex@gmail.com>
+ Tested-by: Fredrik Höglund <fredrik@kde.org>
+ Reviewed-by: Adam Jackson <ajax@redhat.com>
+ (cherry picked from commit f84e59a4f474d22860bac8aec2947798a86db69b)
+
+commit 22b0880df680aee95e21bb8f93d6dd7d3434c681
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Wed Sep 6 16:27:54 2017 +0200
+
+ glx: Fix visual fbconfig matching with respect to swap method
+
+ For the built in visuals, we'd typically select the "best" fbconfig
+ without considering the swap method. If the client then requests a
+ specific swap method, say GLX_SWAP_COPY_OML, it may well happen that the
+ first fbconfig matching requirements would have been paired with the 32-bit
+ compositing visual, and the client would render a potentially transparent
+ window.
+
+ Fix this so that we try to match fbconfigs with the same swap method to all
+ built-in visuals. That would guarantee that selecting a specific swap-
+ method would not influence the chance of getting a compositing visual.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+ Reviewed-by: Adam Jackson <ajax@redhat.com>
+ (cherry picked from commit 4486d199bd3bcb5b2b8ad9bc54eb11604d9bd653)
+
+commit 1726badd61358e644b96f7c561ba239a68d87ba6
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Wed Sep 6 16:27:53 2017 +0200
+
+ glx: Work around a GLX_OML swap method in older dri drivers
+
+ The swapMethod config member would typically contain an arbitrary value
+ on older dri drivers. Fix this so that if we detect an illegal value,
+ return GLX_SWAP_UNDEFINED_OML.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+ Reviewed-by: Adam Jackson <ajax@redhat.com>
+ (cherry picked from commit 0fc26310d5b09213c65f50bde444a1758172b016)
+
+commit c64bd21d7a732b6b8de0f8f636e93b1d1bb46135
+Author: Adam Jackson <ajax@redhat.com>
+Date: Thu Jan 19 17:20:49 2017 -0500
+
+ glx: Move Composite's synthetic visuals to a different select group
+
+ Should you find yourself using a 16bpp display while also using a
+ compositor, you poor soul, you may find that your GLX applications
+ behave strangely; in particular, glxgears will be transparent. This is
+ because it clears to (0,0,0,0) which is transparent if you honor alpha,
+ and it will choose the synthetic visual because it has the most
+ available r/g/b bits.
+
+ To avoid this, bump synthetic visuals to a higher (less-preferred)
+ select group. Unless the client explicitly asks for non-zero alpha bits,
+ this will prefer any rgb565 visual ahead of the argb8888 visual.
+
+ Reviewed-by: Eric Anholt <eric@anholt.net>
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ (cherry picked from commit ea483af99a6351323afe00a0b630cd63310efdb1)
+
+commit 4c64b20a629287472908ae82a05844feed209dd9
+Author: Adam Jackson <ajax@redhat.com>
+Date: Thu Jan 19 17:20:49 2017 -0500
+
+ glx: Send GLX_VISUAL_SELECT_GROUP_SGIX attribute for visuals
+
+ We already send this for fbconfigs. Mesa happens to implement
+ glXChooseVisual relative to the fbconfig data, but that might not be
+ true of NVIDIA's libGL.
+
+ Reviewed-by: Eric Anholt <eric@anholt.net>
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ (cherry picked from commit 43efaa6e4fd903229dc9c508da4177ad4bbdd4d8)
+
+commit 0a73e7bf10d5a9373be5f057fd583c8a5e8e511f
+Author: Adam Jackson <ajax@redhat.com>
+Date: Thu Jul 27 16:02:28 2017 -0400
+
+ composite: Make compIsAlternateVisual safe even if Composite is off
+
+ As of ea483af9 we're calling this unconditionally from the GLX code so
+ the synthetic visual is in a lower select group. If Composite has been
+ disabled then GetCompScreen() will return NULL, and this would crash.
+
+ Rather than force the caller to check first, just always return FALSE if
+ Composite is disabled (which is correct, since none of the visuals will
+ be synthetic in that case).
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
+ (cherry picked from commit f80119120c487581ac050ce741808f7c8f438f35)
+
+commit 06d1c83d04a53f506ae3c8c3c86df5ae779b9ca9
+Author: Adam Jackson <ajax@redhat.com>
+Date: Thu Jan 19 17:20:49 2017 -0500
+
+ composite: Export compIsAlternateVisual
+
+ Reviewed-by: Eric Anholt <eric@anholt.net>
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ (cherry picked from commit ef2345aaa28461a76f77c65240ce5facc180f98e)
+
+commit c70d8e5585ddcd3c9f5b4adac15eca1f9178d3c5
+Author: Adam Jackson <ajax@redhat.com>
+Date: Thu Jan 19 17:20:49 2017 -0500
+
+ composite: Remove a misleading comment
+
+ This comment is above compIsAlternateVisual, which used to be the only
+ thing determining whether implicit redirect was needed. It's not anymore
+ due to the redirection exception list. That job is now performed by
+ compImplicitRedirect, whose code is self-explanitory.
+
+ Reviewed-by: Eric Anholt <eric@anholt.net>
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ (cherry picked from commit bccbaf7c113b1300071601879002682ebbe8b1c1)
+
+commit dbf97534de61539873717b8e0fcc03f1be6362f8
+Author: Tomasz Śniatowski <kailoran@gmail.com>
+Date: Wed Dec 6 12:16:17 2017 +0100
+
+ os: Fix strtok/free crash in ComputeLocalClient
+
+ Don't reuse cmd for strtok output to ensure the proper pointer is
+ freed afterwards.
+
+ The code incorrectly assumed the pointer returned by strtok(cmd, ":")
+ would always point to cmd. However, strtok(str, sep) != str if str
+ begins with sep. This caused an invalid-free crash when running
+ a program under X with a name beginning with a colon.
+
+ Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=104123
+ Signed-off-by: Tomasz Śniatowski <kailoran@gmail.com>
+ Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
+ (cherry picked from commit 6883ae43eb72fe4e2651c1dca209563323fad2db)
+
+commit 072dff82817bc02bb4bdb2dad594e6090586bf58
+Author: Olivier Fourdan <ofourdan@redhat.com>
+Date: Tue Dec 5 09:59:06 2017 +0100
+
+ dix: avoid deferencing NULL PtrCtrl
+
+ PtrCtrl really makes sense for relative pointing device only, absolute
+ devices such as touch devices do not have any PtrCtrl set.
+
+ In some cases, if the client issues a XGetPointerControl() immediatlely
+ after a ChangeMasterDeviceClasses() copied the touch device to the VCP,
+ a NULL pointer dereference will occur leading to a crash of Xwayland.
+
+ Check whether the PtrCtrl is not NULL in ProcGetPointerControl() and
+ return the default control values otherwise, to avoid the NULL pointer
+ dereference.
+
+ Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1519533
+ Reviewed-by: Adam Jackson <ajax@redhat.com>
+ Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
+ (cherry picked from commit 9f7a9be13d6449c00c86d3035374f4f543654b3f)
+
+commit f9a55653721980e3921083015ffb39f777606828
+Author: Olivier Fourdan <ofourdan@redhat.com>
+Date: Wed Sep 27 18:01:01 2017 +0200
+
+ xwayland: Fix non-argb cursor conversion
+
+ From the bug: "What happens if bits->width is less than 8? :)"
+
+ Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=103012
+ Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
+ Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
+ Reviewed-by: Daniel Stone <daniels@collabora.com>
+ (cherry picked from commit 97ac59b1ed3624f7c04e54dd3e3dadfa46a8f170)
+
+commit b832dac751f81d803d33df7c4dd929f77a69c7b0
+Author: Adam Jackson <ajax@redhat.com>
+Date: Tue Nov 14 15:15:01 2017 -0500
+
+ glx: Fix glXQueryContext for GLX_FBCONFIG_ID and GLX_RENDER_TYPE (v2)
+
+ Just never filled in, oops. Seems to have gone unnoticed because
+ normally glXQueryContext simply returns the values filled in by the
+ client library when the context was created. The only path by which you
+ normally get to a GLXQueryContext request is glXImportContext, and then
+ only if the context is already indirect.
+
+ However, that's a statement about Mesa's libGL (and anything else that
+ inherited that bit of the SGI SI more or less intact). Nothing prevents
+ a mischeivous client from issuing that request of a direct context, and
+ if they did we'd be in trouble because we never bothered to preserve the
+ associated fbconfig in the context state, so we'd crash looking up
+ GLX_VISUAL_ID_EXT. So let's fix that too.
+
+ v2: Fixed missing preservation of the config in DRI2 (Eric Anholt)
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Reviewed-by: Eric Anholt <eric@anholt.net>
+ (cherry picked from commit 5d667df6ea1634191a26f9a7c26bc883701d62b0)
+
+commit ee64427c6c5b22514b4d427fb9cee11b8239baea
+Author: Daniel Martin <consume.noise@gmail.com>
+Date: Mon Nov 20 10:47:38 2017 +0100
+
+ os/xdmcp: Honour -once when session is dead
+
+ Terminate a dead session when -once was passed. Don't restart it.
+
+ Signed-off-by: Daniel Martin <consume.noise@gmail.com>
+ Reviewed-by: Walter Harms <wharms@bfs.de>
+ (cherry picked from commit 918afeecbc63d70413e222efdb2ac4cfb16eae9e)
+
+commit 5c00e693631475679c1c2504e03177652ec7de28
+Author: Michel Dänzer <michel.daenzer@amd.com>
+Date: Mon Oct 2 11:33:43 2017 +0200
+
+ present: Only send PresentCompleteNotify events to the presenting client
+
+ We were sending the events to all clients listening for them on the
+ window. But clients can get confused by events from another client, and
+ I can't imagine any case where receiving events from other clients would
+ be required.
+
+ v2:
+ * Also restrict events sent to additional windows to the presenting
+ client
+ * Don't shorten line lengths
+
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit 559954aaa8d811a22cf918cc16a7d618e12201a0)
+
+commit a4bd27bdc8e3569ffa67c1105a2e5cdf0f3de683
+Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+Date: Thu Nov 9 10:21:19 2017 +0100
+
+ randr: rrGetScreenResources: initialize memory
+
+ Similarly to bb766ef11227bd8c71ac65845d1930edd0eda40d, ensure that the
+ extra padding is set to 0.
+
+ Reviewed-by: Adam Jackson <ajax@redhat.com>
+ Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+ (cherry picked from commit fb5ee77b91a93e27801006be8ee34d27984e7fa6)
+
+commit ece2e82ebf597ffda44b4753aa5cb7f5e1d97480
+Author: Adam Jackson <ajax@redhat.com>
+Date: Tue Nov 14 15:59:35 2017 -0500
+
+ glx: Only flush indirect contexts in MakeCurrent (v2)
+
+ If the context is direct none of the GL commands were issued by this
+ process, the server couldn't flush them even if it wanted to.
+
+ v2: Fix embarassingly obvious boolean inversion (Michel Dänzer)
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
+ (cherry picked from commit 307c124d6bcfe26057767b2c0990dc9ac66b9c93)
+
+commit d1a2a2757977bf2f241fd254be821bf96910b587
+Author: Hector Martin <marcan@marcan.st>
+Date: Wed Nov 15 03:12:31 2017 +0900
+
+ edid: fix off-by-one error in CEA mode numbering
+
+ The CEA extension short video descriptors contain the VIC, which starts
+ at 1, not 0.
+
+ Reviewed-by: Adam Jackson <ajax@redhat.com>
+ Signed-off-by: Hector Martin <marcan@marcan.st>
+ (cherry picked from commit 68556d74b49e99d3490166c446079f7d5de26ca4)
+
+commit b3fa60edc412e4c52bc6fa0346217eed0ebc98e3
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Nov 6 16:07:41 2017 -0500
+
+ glx: Fix typos that break GLX_ARB_context_flush_control
+
+ The trailing \n are just wrong here, __glXEnableExtension wants a string
+ without them.
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
+ Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
+ (cherry picked from commit fd0eafb18426da14601d5c0d0a50092c49a7aff8)
+
+commit c010bcb8c36b2ca0bba1b80c9bde63ff89e42ed4
+Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+Date: Sat Nov 4 23:06:29 2017 +0100
+
+ randr: ProcRRGetOutputInfo: initialize memory
+
+ Running Xephyr under valgrind reveals that we're sending some
+ uninitialized memory over the wire (particularly, the leftover padding
+ that comes from rounding extraLen to the next 32-bit multiple).
+
+ Solve by calloc()ing the memory instead of malloc()ing (the alternative
+ would be to memset just the padding, but I'm not sure it's more
+ convenient.)
+
+ Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+ Reviewed-by: Adam Jackson <ajax@redhat.com>
+ (cherry picked from commit bb766ef11227bd8c71ac65845d1930edd0eda40d)
+
+commit c328570644e3b4dfaf840d057883a4db31976da7
+Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+Date: Sat Nov 4 23:06:27 2017 +0100
+
+ xkb: initialize tsyms
+
+ This fixes some “Conditional jump depends on uninitialized value(s)”
+ errors spotted by valgrind.
+
+ Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
+ Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+ (cherry picked from commit b2167015043a458e9cf93b827b43eb5b7c552ce9)
+
+commit c39de5f7358634eb2fea66041e3a3465e8cf6e13
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Oct 31 12:22:31 2017 -0700
+
+ xkb: Print the xkbcomp path being executed when we fail to compile.
+
+ I don't know how many times I've had a broken server due to a bad
+ directory to xkbcomp, and only finding the whole path has shown me
+ where I went wrong.
+
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 30f4d440ebc3517fdcc1d3c6a422a8fbf3af1f23)
+
+commit 5a5b6d6cca469521daa6ac9087f3589b7489ab55
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Sep 26 15:21:59 2017 +1000
+
+ config/udev: consider ID_INPUT_FOO=0 as 'unset'
+
+ Historically we didn't need to care about this case but more devices are
+ having invalid types set and they cannot be unset with a hwdb entry (which
+ doesn't handle the empty string). Allow for "0" to mean "unset" because
+ anything else would be crazy anyway.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 5aad81445c8c3d6b7b30d503cfe26027fa482870)
+
+commit 8817747c8587d75c14e00069e8f26e3edb671013
+Author: Daniel Martin <consume.noise@gmail.com>
+Date: Fri Oct 27 16:11:55 2017 +0200
+
+ test: signal-logging: Fix looping signed number tests
+
+ unsigned_tests[] was used to compute the amount of signed numbers to
+ test.
+
+ Signed-off-by: Daniel Martin <consume.noise@gmail.com>
+ Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
+ (cherry picked from commit 15a32ee5d1fffa171bb05af9a0e5b472e4af1488)
+
+commit e663998fa8bb77bb753abed1e0c12922d4ce1669
+Author: Daniel Martin <consume.noise@gmail.com>
+Date: Fri Oct 27 16:11:54 2017 +0200
+
+ test: input: Fix used uninitialized warning in dix_event_to_core
+
+ input.c: In function ‘dix_event_to_core’:
+ ../include/inputstr.h:61:55: warning: ‘*((void *)&ev+80)’ is used uninitialized in this function [-Wuninitialized]
+ #define SetBit(ptr, bit) (((BYTE *) (ptr))[(bit)>>3] |= (1 << ((bit) & 7)))
+ ^~
+
+ Signed-off-by: Daniel Martin <consume.noise@gmail.com>
+ Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
+ (cherry picked from commit 0bcc65f2bf479c6a74ac70bb5b5181d6834dded6)
+
+commit e8530b872aa4b1648bba7fb3dddaf9abf70100ed
+Author: Daniel Martin <consume.noise@gmail.com>
+Date: Fri Oct 27 16:11:53 2017 +0200
+
+ modesetting: Fix potential buffer overflow
+
+ If one misconfigures a ZaphodHeads value (more than 20 characters
+ without a delimiter), we get an overflow of our buffer. Use
+ xstrtokenize() instead of writing/fixing our own tokenizer.
+
+ Signed-off-by: Daniel Martin <consume.noise@gmail.com>
+ Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
+ (cherry picked from commit 04a305121fbc08ecc2ef345ee7155d6087a43fd1)
+
+commit 4ef1aef0fbbf47c937cf421f0180cc18fc23a03e
+Author: Alex Goins <agoins@nvidia.com>
+Date: Tue Oct 24 18:39:13 2017 -0700
+
+ ramdac: Check ScreenPriv != NULL in xf86ScreenSetCursor()
+
+ Similar to change cba5a10f, xf86ScreenSetCursor() would dereference ScreenPriv
+ without NULL checking it. If Option "SWCursor" is specified, ScreenPriv == NULL.
+
+ Without this fix, it is observed that setting Option "SWCursor" "on" on the
+ modesetting driver in a PRIME configuration will segfault the server.
+
+ It is important to return success rather than failure in the instance that
+ ScreenPriv == NULL and pCurs == NullCursor, because otherwise xf86SetCursor()
+ can fall into infinite recursion: xf86SetCursor(pCurs) calls
+ xf86ScreenSetCursor(pCurs), and if FALSE, calls xf86SetCursor(NullCursor). If
+ xf86ScreenSetCursor(NullCursor) returns FALSE, it calls
+ xf86SetCursor(NullCursor) again and this repeats forever.
+
+ Signed-off-by: Alex Goins <agoins@nvidia.com>
+ Reviewed-by: Dave Airlie <airlied@redhat.com>
+ (cherry picked from commit 68d95e759f8b6ebca6bd52e69e6bc34cc174f8ca)
+
+commit cd5076a50c0274512bd2ce2c8ecf56c3517d0266
+Author: Nikolay Martynov <mar.kolya@gmail.com>
+Date: Wed Sep 13 23:23:13 2017 -0400
+
+ XShmGetImage: fix censoring
+
+ It looks like offsets calculated during image censoring are wrong.
+ This results in black (empty) images returns.
+
+ This fix is very similar to 6c6f09aac7f1d1367a042087b7681c7fdf1d1e0f
+ that was applied to XGetImage
+
+ Visually this fixes chromium/firefox window sharing in multiscreen
+ configurations - without this patch most of the windows on 'secodnary'
+ screens are black.
+
+ This also should fix https://bugs.freedesktop.org/show_bug.cgi?id=101730.
+
+ Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
+ Reviewed-by: Adam Jackson <ajax@redhat.com>
+ (cherry picked from commit 885636b7d42b3c7b151fc386d358184db004ce45)
+
+commit a6776111b24f7211c08c7497466f5d9351d0756c
+Author: Adam Jackson <ajax@redhat.com>
+Date: Thu Jun 8 16:23:12 2017 -0400
+
+ xfixes: Remove the CursorCurrent array
+
+ We're not wrapping all the ways a cursor can be destroyed, so this array
+ ends up with stale data. Rather than try harder to wrap more code paths,
+ just look up the cursor when we need it.
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ (cherry picked from commit aa6651f83c698e8cc40de61aad36c73ca7a6adcf)
+
commit b96e982e3a43513549636850186ff80a82190f64
Author: Adam Jackson <ajax@redhat.com>
Date: Thu Oct 12 12:32:31 2017 -0400