~thopiekar/xorg-server/+git/xorg-xserver-displaylink.Spintzyk:server-1.18-branch

Last commit made on 2016-09-01
Get this branch:
git clone -b server-1.18-branch https://git.launchpad.net/~thopiekar/xorg-server/+git/xorg-xserver-displaylink.Spintzyk

Branch merges

Branch information

Recent commits

a3922cf... by Peter Hutterer

Allow compile-time selection of a fallback input driver

A new --with-fallback-input-driver=foo option allows selecting a
fallback driver for the server if the driver configured for the device
is not found. Note that this only applies when the device has a driver
assigned and that module fails to load, devices without a driver are
ignored as usual.

This avoids the situation where a configuration assigns e.g. the
synaptics driver but that driver is not available on the system,
resulting in a dead device. A fallback driver can at least provides some
functionality.

This becomes more important as we move towards making other driver true
leaf nodes that can be installed/uninstalled as requested. Specifically,
wacom and synaptics, a config that assigns either driver should be
viable even when the driver itself is not (yet) installed on the system.

It is up to the distributions to make sure that the fallback driver is
always installed. The fallback driver can be disabled with
--without-fallback-input-driver and is disabled by default on non-Linux
systems because we don't have generic drivers on those platforms.
Default driver on Linux is libinput, evdev is the only other serious
candidate here.

Sample log output:
[ 3274.421] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event4)
[ 3274.421] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad weird driver"
[ 3274.421] (II) LoadModule: "banana"
[ 3274.422] (WW) Warning, couldn't open module banana
[ 3274.422] (II) UnloadModule: "banana"
[ 3274.422] (II) Unloading banana
[ 3274.422] (EE) Failed to load module "banana" (module does not exist, 0)
[ 3274.422] (EE) No input driver matching `banana'
[ 3274.422] (II) Falling back to input driver `libinput'
.. server proceeds to assign libinput, init the device, world peace and rainbows
everywhere, truly what a sight. Shame about the banana though.

Reviewed-by: Adam Jackson <email address hidden>
Signed-off-by: Peter Hutterer <email address hidden>
(cherry picked from commit c69bd15e00aea2610834d05f63777f9bf20eca34)

8b312db... by Adam Jackson <email address hidden>

xserver 1.18.4

Signed-off-by: Adam Jackson <email address hidden>

42a7408... by =?utf-8?q?Michel_D=C3=A4nzer?= <email address hidden>

os: Use strtok instead of xstrtokenize in ComputeLocalClient

Fixes leaking the memory pointed to by the members of the array returned
by xstrtokenize.

Reviewed-by: Adam Jackson <email address hidden>
(cherry picked from commit e156c0ccb530897d3a428255bd5585f7ea7b9b41)

3c4cead... by Adam Jackson <email address hidden>

os: Treat ssh as a non-local client (v4)

By the time we get to ComputeLocalClient, we've already done
NextAvailableClient → ReserveClientIds → DetermineClientCmd (assuming
we're built with #define CLIENTIDS), so we can look up the name of the
client process and refuse to treat ssh's X forwarding as if it were
local.

v2: (Michel Dänzer)
    * Only match "ssh" itself, not other executable names starting with
      that prefix.
    * Ignore executable path for the match.
v3: (Michel Dänzer)
    * Use GetClientCmdName (Mark Kettenis)
    * Perform check on Windows as well, but only ignore path on Cygwin
      (Martin Peres, Emil Velikov, Jon Turney)
v4: (Michel Dänzer)
    * Cut of any colon and whatever comes after it. (Adam Jackson)
    * Add bugzilla reference.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93261

Signed-off-by: Adam Jackson <email address hidden>
Signed-off-by: Michel Dänzer <email address hidden>
(cherry picked from commit adefbaee499b9679c6cac21f52ec6545af2b36b5)

aebfc6a... by =?utf-8?q?Michel_D=C3=A4nzer?= <email address hidden>

glamor: Translate solid text background region after clipping

Fixes incorrect clipping for redirected windows which don't happen to be
located at the top left corner of the screen.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96742
Signed-off-by: Michel Dänzer <email address hidden>
Reviewed-by: Adam Jackson <email address hidden>
(cherry picked from commit e8e36755abb17872d669b88d33ca9adc511029a0)

7a08d8d... by Adam Jackson <email address hidden>

xfree86: Fix fallback driver sort order for Xorg -configure (v2)

The intent here was that fallback drivers would be at the end of the
list in order, but if a fallback driver happened to be at the end of the
list already that's not what would happen. Rather than open-code
something smarter, just use qsort.

Note that qsort puts things in ascending order, so somewhat backwardsly
fallbacks are greater than native drivers, and vesa is greater than
modesetting.

v2: Use strcmp to compare non-fallback drivers so we get a predictable
result if your libc's qsort isn't stable (Keith Packard)

Reviewed-by: Keith Packard <email address hidden>
Signed-off-by: Adam Jackson <email address hidden>
(cherry picked from commit 32a9504c69183485b0b796fa3966cd1e39992365)

8ff830d... by Andrew Eikum

shm: Also censor images returned by ShmGetImage

We currently censor images from dix's GetImage, but not from
ShmGetImage. This is a method to bypass XACE, creating a potential
leak. We should censor in both methods.

Reviewed-by: Adam Jackson <email address hidden>
Signed-off-by: Andrew Eikum <email address hidden>
(cherry picked from commit 4926845a57fa8b53e18ea7d3434bf5539e9b7782)

d4cbb11... by Rui Matos

xwayland: Update RR state on wl_output.done instead of wl_output.mode

Otherwise if the geometry changes but the mode doesn't we end up with
the previous geometry from RR's point of view.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=768710

Reviewed-by: Jonas Ådahl <email address hidden>
Signed-off-by: Rui Matos <email address hidden>
(cherry picked from commit cf6730c503f8090a5d1b80918fe253fc2c5bc090)

65c5eab... by =?utf-8?q?Michel_D=C3=A4nzer?= <email address hidden>

dix: Work around non-premultiplied ARGB cursor data

Some games incorrectly use non-premultiplied ARGB cursor data, presumably
because that's what Windows uses. On some hardware (and with SWcursor),
this breaks areas of the cursor which are supposed to be transparent
(and presumably also translucent areas, but that's less noticeable).

This change checks for pixels with alpha == 0 and any non-alpha component
!= 0. If any such pixel is found, the data is assumed to be
non-premultiplied and fixed up by multiplying the RGB components with the
alpha component.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92309
Signed-off-by: Michel Dänzer <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
(cherry picked from commit 401a8d6e1379133863e3271374dc21850d0d3cab)

c0b02ce... by Hans De Goede <email address hidden>

linux: Do not try to open /dev/vc/0, fix error msg when /dev/tty0 open fails

/dev/vc/0 is a devfs thing which is long dead, so stop trying to open
/dev/vc/0, besides being a (small) code cleanup this will also fix the
"parse_vt_settings: Cannot open /dev/tty0 (%s)\n" error message to
display the actual error, rather then the -ENOENT from also trying
/dev/vc/0.

BugLink: https://patchwork.freedesktop.org/patch/8768/
Reported-by: Chad Versace <email address hidden>
Suggested-by: Julien Cristau <email address hidden>
Signed-off-by: Hans de Goede <email address hidden>
Reviewed-by: Julien Cristau <email address hidden>
Reviewed-by: Chad Versace <email address hidden>
(cherry picked from commit 033888e7766d226a179357d970223428c19c4b53)