diff options
Diffstat (limited to '')
7 files changed, 24 insertions, 455 deletions
| diff --git a/xorg-server-hwcursor-gamma/0001-dix-Add-unaccelerated-valuators-to-the-ValuatorMask.patch b/xorg-server-hwcursor-gamma/0001-dix-Add-unaccelerated-valuators-to-the-ValuatorMask.patch deleted file mode 100644 index 86744f1..0000000 --- a/xorg-server-hwcursor-gamma/0001-dix-Add-unaccelerated-valuators-to-the-ValuatorMask.patch +++ /dev/null @@ -1,210 +0,0 @@ -From e1a7f4bb5333b0271d29f785eb55f1c3273e626a Mon Sep 17 00:00:00 2001 -From: Peter Hutterer <peter.hutterer@who-t.net> -Date: Tue, 5 May 2015 14:18:54 +1000 -Subject: [PATCH] dix: Add unaccelerated valuators to the ValuatorMask - -Allows a mask to carry both accelerated and unaccelerated motion at the same -time. - -This is required for xf86-input-libinput where the pointer acceleration -happens in libinput already, but parts of the server, specifically raw events -and DGA rely on device-specific unaccelerated data. - -To ease integration add this as a second set to the ValuatorMask rather than -extending all APIs to carry a second, possibly NULL set of valuators. - -Note that a valuator mask should only be used in either accel/unaccel or -standard mode at any time. Switching requires either a valuator_mask_zero() -call or unsetting all valuators one-by-one. Trying to mix the two will produce -a warning. - -The server has a shortcut for changing a mask with the -valuator_mask_drop_unaccelerated() call. This saves us from having to loop -through all valuators on every event, we can just drop the bits we know we -don't want. - -Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> -Reviewed-by: Hans de Goede <hdegoede@redhat.com> ---- - dix/inpututils.c               | 82 +++++++++++++++++++++++++++++++++++++++--- - hw/xfree86/common/xf86Module.h |  2 +- - include/input.h                | 15 ++++++++ - include/inpututils.h           |  2 ++ - 4 files changed, 95 insertions(+), 6 deletions(-) - -diff --git a/dix/inpututils.c b/dix/inpututils.c -index 5c2a32d..1363988 100644 ---- a/dix/inpututils.c -+++ b/dix/inpututils.c -@@ -505,11 +505,8 @@ valuator_mask_isset(const ValuatorMask *mask, int valuator) -     return mask->last_bit >= valuator && BitIsOn(mask->mask, valuator); - } -  --/** -- * Set the valuator to the given floating-point data. -- */ --void --valuator_mask_set_double(ValuatorMask *mask, int valuator, double data) -+static inline void -+_valuator_mask_set_double(ValuatorMask *mask, int valuator, double data) - { -     mask->last_bit = max(valuator, mask->last_bit); -     SetBit(mask->mask, valuator); -@@ -517,6 +514,17 @@ valuator_mask_set_double(ValuatorMask *mask, int valuator, double data) - } -  - /** -+ * Set the valuator to the given floating-point data. -+ */ -+void -+valuator_mask_set_double(ValuatorMask *mask, int valuator, double data) -+{ -+    BUG_WARN_MSG(mask->has_unaccelerated, -+                 "Do not mix valuator types, zero mask first\n"); -+    _valuator_mask_set_double(mask, valuator, data); -+} -+ -+/** -  * Set the valuator to the given integer data. -  */ - void -@@ -594,11 +602,15 @@ valuator_mask_unset(ValuatorMask *mask, int valuator) -  -         ClearBit(mask->mask, valuator); -         mask->valuators[valuator] = 0.0; -+        mask->unaccelerated[valuator] = 0.0; -  -         for (i = 0; i <= mask->last_bit; i++) -             if (valuator_mask_isset(mask, i)) -                 lastbit = max(lastbit, i); -         mask->last_bit = lastbit; -+ -+        if (mask->last_bit == -1) -+            mask->has_unaccelerated = FALSE; -     } - } -  -@@ -611,6 +623,66 @@ valuator_mask_copy(ValuatorMask *dest, const ValuatorMask *src) -         valuator_mask_zero(dest); - } -  -+Bool -+valuator_mask_has_unaccelerated(const ValuatorMask *mask) -+{ -+    return mask->has_unaccelerated; -+} -+ -+void -+valuator_mask_drop_unaccelerated(ValuatorMask *mask) -+{ -+    memset(mask->unaccelerated, 0, sizeof(mask->unaccelerated)); -+    mask->has_unaccelerated = FALSE; -+} -+ -+/** -+ * Set both accelerated and unaccelerated value for this mask. -+ */ -+void -+valuator_mask_set_unaccelerated(ValuatorMask *mask, -+                                int valuator, -+                                double accel, -+                                double unaccel) -+{ -+    BUG_WARN_MSG(mask->last_bit != -1 && !mask->has_unaccelerated, -+                 "Do not mix valuator types, zero mask first\n"); -+    _valuator_mask_set_double(mask, valuator, accel); -+    mask->has_unaccelerated = TRUE; -+    mask->unaccelerated[valuator] = unaccel; -+} -+ -+double -+valuator_mask_get_accelerated(const ValuatorMask *mask, -+                              int valuator) -+{ -+    return valuator_mask_get_double(mask, valuator); -+} -+ -+double -+valuator_mask_get_unaccelerated(const ValuatorMask *mask, -+                                int valuator) -+{ -+    return mask->unaccelerated[valuator]; -+} -+ -+Bool -+valuator_mask_fetch_unaccelerated(const ValuatorMask *mask, -+                                  int valuator, -+                                  double *accel, -+                                  double *unaccel) -+{ -+    if (valuator_mask_isset(mask, valuator)) { -+        if (accel) -+            *accel = valuator_mask_get_accelerated(mask, valuator); -+        if (unaccel) -+            *unaccel = valuator_mask_get_unaccelerated(mask, valuator); -+        return TRUE; -+    } -+    else -+        return FALSE; -+} -+ - int - CountBits(const uint8_t * mask, int len) - { -diff --git a/hw/xfree86/common/xf86Module.h b/hw/xfree86/common/xf86Module.h -index e68fe9c..6133641 100644 ---- a/hw/xfree86/common/xf86Module.h -+++ b/hw/xfree86/common/xf86Module.h -@@ -81,7 +81,7 @@ typedef enum { -  */ - #define ABI_ANSIC_VERSION	SET_ABI_VERSION(0, 4) - #define ABI_VIDEODRV_VERSION	SET_ABI_VERSION(19, 0) --#define ABI_XINPUT_VERSION	SET_ABI_VERSION(21, 0) -+#define ABI_XINPUT_VERSION	SET_ABI_VERSION(21, 1) - #define ABI_EXTENSION_VERSION	SET_ABI_VERSION(9, 0) - #define ABI_FONT_VERSION	SET_ABI_VERSION(0, 6) -  -diff --git a/include/input.h b/include/input.h -index bf22dc7..0a4c4f7 100644 ---- a/include/input.h -+++ b/include/input.h -@@ -674,6 +674,21 @@ extern _X_EXPORT Bool valuator_mask_fetch(const ValuatorMask *mask, - extern _X_EXPORT Bool valuator_mask_fetch_double(const ValuatorMask *mask, -                                                  int valnum, double *val); -  -+extern _X_EXPORT Bool valuator_mask_has_unaccelerated(const ValuatorMask *mask); -+extern _X_EXPORT void valuator_mask_set_unaccelerated(ValuatorMask *mask, -+                                                      int valuator, -+                                                      double accel, -+                                                      double unaccel); -+extern _X_EXPORT double valuator_mask_get_accelerated(const ValuatorMask *mask, -+                                                      int valuator); -+extern _X_EXPORT double valuator_mask_get_unaccelerated(const ValuatorMask *mask, -+                                                        int valuator); -+extern _X_EXPORT Bool valuator_mask_fetch_unaccelerated(const ValuatorMask *mask, -+                                                        int valuator, -+                                                        double *accel, -+                                                        double *unaccel); -+extern _X_HIDDEN void valuator_mask_drop_unaccelerated(ValuatorMask *mask); -+ - /* InputOption handling interface */ - extern _X_EXPORT InputOption *input_option_new(InputOption *list, -                                                const char *key, -diff --git a/include/inpututils.h b/include/inpututils.h -index 53c96ba..4e90815 100644 ---- a/include/inpututils.h -+++ b/include/inpututils.h -@@ -36,8 +36,10 @@ extern Mask event_filters[MAXDEVICES][MAXEVENTS]; -  - struct _ValuatorMask { -     int8_t last_bit;            /* highest bit set in mask */ -+    int8_t has_unaccelerated; -     uint8_t mask[(MAX_VALUATORS + 7) / 8]; -     double valuators[MAX_VALUATORS];    /* valuator data */ -+    double unaccelerated[MAX_VALUATORS];    /* valuator data */ - }; -  - extern void verify_internal_event(const InternalEvent *ev); ---  -2.4.1 - diff --git a/xorg-server-hwcursor-gamma/0001-os-make-sure-the-clientsWritable-fd_set-is-initializ.patch b/xorg-server-hwcursor-gamma/0001-os-make-sure-the-clientsWritable-fd_set-is-initializ.patch deleted file mode 100644 index b3a7d2e..0000000 --- a/xorg-server-hwcursor-gamma/0001-os-make-sure-the-clientsWritable-fd_set-is-initializ.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 7cc7ffd25d5e50b54cb942d07d4cb160f20ff9c5 Mon Sep 17 00:00:00 2001 -From: Martin Peres <martin.peres@linux.intel.com> -Date: Fri, 17 Jul 2015 17:21:26 +0300 -Subject: [PATCH] os: make sure the clientsWritable fd_set is initialized - before use - -In WaitForSomething(), the fd_set clientsWritable may be used unitialized when -the boolean AnyClientsWriteBlocked is set in the WakeupHandler(). This leads to -a crash in FlushAllOutput() after x11proto's commit -2c94cdb453bc641246cc8b9a876da9799bee1ce7. - -The problem did not manifest before because both the XFD_SIZE and the maximum -number of clients were set to 256. As the connectionTranslation table was -initalized for the 256 clients to 0, the test on the index not being 0 was -aborting before dereferencing the client #0. - -As of commit 2c94cdb453bc641246cc8b9a876da9799bee1ce7 in x11proto, the XFD_SIZE -got bumped to 512. This lead the OutputPending fd_set to have any fd above 256 -to be uninitialized which in turns lead to reading an index after the end of -the ConnectionTranslation table. This index would then be used to find the -client corresponding to the fd marked as pending writes and would also result -to an out-of-bound access which would usually be the fatal one. - -Fix this by zeroing the clientsWritable fd_set at the beginning of -WaitForSomething(). In this case, the bottom part of the loop, which would -indirectly call FlushAllOutput, will not do any work but the next call to -select will result in the execution of the right codepath. This is exactly what -we want because we need to know the writable clients before handling them. In -the end, it also makes sure that the fds above MaxClient are initialized, -preventing the crash in FlushAllOutput(). - -Thanks to everyone involved in tracking this one down! - -Reported-by: Karol Herbst <freedesktop@karolherbst.de> -Reported-by: Tobias Klausmann <tobias.klausmann@mni.thm.de> -Signed-off-by: Martin Peres <martin.peres@linux.intel.com> -Tested-by: Martin Peres <martin.peres@linux.intel.com> -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91316 -Cc: Ilia Mirkin  <imirkin@alum.mit.edu> -Cc: Martin Peres <martin.peres@linux.intel.com> -Cc: Olivier Fourdan <ofourdan@redhat.com -Cc: Adam Jackson <ajax@redhat.com> -Cc: Alan Coopersmith <alan.coopersmith@oracle.com -Cc: Chris Wilson <chris@chris-wilson.co.uk> ---- - os/WaitFor.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/os/WaitFor.c b/os/WaitFor.c -index 431f1a6..993c14e 100644 ---- a/os/WaitFor.c -+++ b/os/WaitFor.c -@@ -158,6 +158,7 @@ WaitForSomething(int *pClientsReady) -     Bool someReady = FALSE; -  -     FD_ZERO(&clientsReadable); -+    FD_ZERO(&clientsWritable); -  -     if (nready) -         SmartScheduleStopTimer(); ---  -2.4.5 - diff --git a/xorg-server-hwcursor-gamma/0002-dix-hook-up-the-unaccelerated-valuator-masks.patch b/xorg-server-hwcursor-gamma/0002-dix-hook-up-the-unaccelerated-valuator-masks.patch deleted file mode 100644 index 6b8b1e5..0000000 --- a/xorg-server-hwcursor-gamma/0002-dix-hook-up-the-unaccelerated-valuator-masks.patch +++ /dev/null @@ -1,134 +0,0 @@ -From 7504fbd2239257f1a00a1a15d02862eea81f167c Mon Sep 17 00:00:00 2001 -From: Peter Hutterer <peter.hutterer@who-t.net> -Date: Tue, 5 May 2015 14:48:41 +1000 -Subject: [PATCH] dix: hook up the unaccelerated valuator masks - -If present, access the unaccelerated valuator mask values for DGA and XI2 raw -events. - -Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> -Reviewed-by: Hans de Goede <hdegoede@redhat.com> ---- - dix/getevents.c                | 31 ++++++++++++++++++++++--------- - hw/xfree86/common/xf86Xinput.c |  4 ++++ - 2 files changed, 26 insertions(+), 9 deletions(-) - -diff --git a/dix/getevents.c b/dix/getevents.c -index 6fb12c5..64bf76e 100644 ---- a/dix/getevents.c -+++ b/dix/getevents.c -@@ -213,14 +213,25 @@ init_raw(DeviceIntPtr dev, RawDeviceEvent *event, Time ms, int type, int detail) - } -  - static void --set_raw_valuators(RawDeviceEvent *event, ValuatorMask *mask, double *data) -+set_raw_valuators(RawDeviceEvent *event, ValuatorMask *mask, -+                  BOOL use_unaccel, double *data) - { -     int i; -  -+    use_unaccel = use_unaccel && valuator_mask_has_unaccelerated(mask); -+ -     for (i = 0; i < valuator_mask_size(mask); i++) { -         if (valuator_mask_isset(mask, i)) { -+            double v; -+ -             SetBit(event->valuators.mask, i); --            data[i] = valuator_mask_get_double(mask, i); -+ -+            if (use_unaccel) -+                v = valuator_mask_get_unaccelerated(mask, i); -+            else -+                v = valuator_mask_get_double(mask, i); -+ -+            data[i] = v; -         } -     } - } -@@ -1138,11 +1149,11 @@ GetKeyboardEvents(InternalEvent *events, DeviceIntPtr pDev, int type, -     valuator_mask_copy(&mask, mask_in); -  -     init_raw(pDev, raw, ms, type, key_code); --    set_raw_valuators(raw, &mask, raw->valuators.data_raw); -+    set_raw_valuators(raw, &mask, TRUE, raw->valuators.data_raw); -  -     clipValuators(pDev, &mask); -  --    set_raw_valuators(raw, &mask, raw->valuators.data); -+    set_raw_valuators(raw, &mask, FALSE, raw->valuators.data); -  -     event = &events->device_event; -     init_device_event(event, pDev, ms); -@@ -1423,9 +1434,11 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type, -         num_events++; -  -         init_raw(pDev, raw, ms, type, buttons); --        set_raw_valuators(raw, &mask, raw->valuators.data_raw); -+        set_raw_valuators(raw, &mask, TRUE, raw->valuators.data_raw); -     } -  -+    valuator_mask_drop_unaccelerated(&mask); -+ -     /* valuators are in driver-native format (rel or abs) */ -  -     if (flags & POINTER_ABSOLUTE) { -@@ -1438,7 +1451,7 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type, -         transformAbsolute(pDev, &mask); -         clipAbsolute(pDev, &mask); -         if ((flags & POINTER_NORAW) == 0 && raw) --            set_raw_valuators(raw, &mask, raw->valuators.data); -+            set_raw_valuators(raw, &mask, FALSE, raw->valuators.data); -     } -     else { -         transformRelative(pDev, &mask); -@@ -1446,7 +1459,7 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type, -         if (flags & POINTER_ACCELERATE) -             accelPointer(pDev, &mask, ms); -         if ((flags & POINTER_NORAW) == 0 && raw) --            set_raw_valuators(raw, &mask, raw->valuators.data); -+            set_raw_valuators(raw, &mask, FALSE, raw->valuators.data); -  -         moveRelative(pDev, flags, &mask); -     } -@@ -1951,7 +1964,7 @@ GetTouchEvents(InternalEvent *events, DeviceIntPtr dev, uint32_t ddx_touchid, -         events++; -         num_events++; -         init_raw(dev, raw, ms, type, client_id); --        set_raw_valuators(raw, &mask, raw->valuators.data_raw); -+        set_raw_valuators(raw, &mask, TRUE, raw->valuators.data_raw); -     } -  -     event = &events->device_event; -@@ -2013,7 +2026,7 @@ GetTouchEvents(InternalEvent *events, DeviceIntPtr dev, uint32_t ddx_touchid, -         screeny = dev->spriteInfo->sprite->hotPhys.y; -     } -     if (need_rawevent) --        set_raw_valuators(raw, &mask, raw->valuators.data); -+        set_raw_valuators(raw, &mask, FALSE, raw->valuators.data); -  -     /* Indirect device touch coordinates are not used for cursor positioning. -      * They are merely informational, and are provided in device coordinates. -diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c -index 1fb5b16..5ce4c71 100644 ---- a/hw/xfree86/common/xf86Xinput.c -+++ b/hw/xfree86/common/xf86Xinput.c -@@ -1137,12 +1137,16 @@ xf86CheckMotionEvent4DGA(DeviceIntPtr device, int is_absolute, -                 dx = valuator_mask_get(mask, 0); -                 if (is_absolute) -                     dx -= device->last.valuators[0]; -+                else if (valuator_mask_has_unaccelerated(mask)) -+                    dx = valuator_mask_get_unaccelerated(mask, 0); -             } -  -             if (valuator_mask_isset(mask, 1)) { -                 dy = valuator_mask_get(mask, 1); -                 if (is_absolute) -                     dy -= device->last.valuators[1]; -+                else if (valuator_mask_has_unaccelerated(mask)) -+                    dy = valuator_mask_get_unaccelerated(mask, 1); -             } -  -             if (DGAStealMotionEvent(device, idx, dx, dy)) ---  -2.4.1 - diff --git a/xorg-server-hwcursor-gamma/PKGBUILD b/xorg-server-hwcursor-gamma/PKGBUILD index e547481..83daf75 100644 --- a/xorg-server-hwcursor-gamma/PKGBUILD +++ b/xorg-server-hwcursor-gamma/PKGBUILD @@ -4,11 +4,11 @@  _pkgname=xorg-server  pkgname=xorg-server-hwcursor-gamma -pkgver=1.17.4 -pkgrel=1 # 2 in xorg-server +pkgver=1.18.0 +pkgrel=2 # 2 in xorg-server  pkgdesc="Xorg X server with patch to apply gamma ramps on hardware cursors" -depends=(libepoxy libxdmcp libxfont libpciaccess libdrm pixman libgcrypt libxau xorg-server-common xf86-input-evdev libxshmfence libgl) -provides=("xorg-server=${pkgver}" 'X-ABI-VIDEODRV_VERSION=19' 'X-ABI-XINPUT_VERSION=21.1' 'X-ABI-EXTENSION_VERSION=9.0' 'x-server') +depends=(libepoxy libxdmcp libxfont libpciaccess libdrm pixman libgcrypt libxau xorg-server-common libxshmfence libgl xf86-input-evdev) +provides=("xorg-server=${pkgver}" 'X-ABI-VIDEODRV_VERSION=20' 'X-ABI-XINPUT_VERSION=22.1' 'X-ABI-EXTENSION_VERSION=9.0' 'x-server')  conflicts=('xorg-server' 'nvidia-utils<=331.20' 'glamor-egl' 'xf86-video-modesetting')  replaces=('glamor-egl' 'xf86-video-modesetting')  arch=('i686' 'x86_64') @@ -22,20 +22,16 @@ makedepends=('pixman' 'libx11' 'mesa' 'mesa-libgl' 'xf86driproto' 'xcmiscproto'               'xcb-util' 'xcb-util-image' 'xcb-util-renderutil' 'xcb-util-wm' 'xcb-util-keysyms' 'dri3proto'  	     'libxshmfence' 'libunwind')  source=(${url}/releases/individual/xserver/${_pkgname}-${pkgver}.tar.bz2 -	nvidia-drm-outputclass.conf          xvfb-run          xvfb-run.1 -        0001-dix-Add-unaccelerated-valuators-to-the-ValuatorMask.patch -        0002-dix-hook-up-the-unaccelerated-valuator-masks.patch +	v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch  	0001-When-an-cursor-is-set-it-is-adjusted-to-use-the.patch  	0002-Fix-for-full-and-semi-transparency-under-negative-im.patch  	0003-Use-Harms-s-suggest-do-not-use-inline-if.-And-fix-si.patch) -sha256sums=('0c4b45c116a812a996eb432d8508cf26c2ec8c3916ff2a50781796882f8d6457' -            'af1c3d2ea5de7f6a6b5f7c60951a189a4749d1495e5462f3157ae7ac8fe1dc56' +sha256sums=('195670819695d9cedd8dde95fbe069be0d0f488a77797a2d409f9f702daf312e'              'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9'              '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' -            '3dc795002b8763a7d29db94f0af200131da9ce5ffc233bfd8916060f83a8fad7' -            '416a1422eed71efcebb1d893de74e7f27e408323a56c4df003db37f5673b3f96' +	    'c8addd0dc6d91797e82c51b539317efa271cd7997609e026c7c8e3884c5f601c'  	    'bea348631dedd66475d84ac2cfe0840f22a80a642b4680d73fead4749e47f055'  	    'be9169b937b5d0b44f7f05d7c08aaa5f0c1092e128ce261d9cb350f09dfe1fb0'  	    '0a643ae83e03faee0f4db669a33c5b3c99edbba5c86cde2c83962ae536d31081') @@ -43,15 +39,14 @@ sha256sums=('0c4b45c116a812a996eb432d8508cf26c2ec8c3916ff2a50781796882f8d6457'  prepare() {    cd "${_pkgname}-${pkgver}" -  msg2 'Apply hardware cursors gamma adjustments patchs' +  msg2 'Apply hardware cursors gamma adjustments patches'    patch -Np1 -i ../0001-When-an-cursor-is-set-it-is-adjusted-to-use-the.patch    patch -Np1 -i ../0002-Fix-for-full-and-semi-transparency-under-negative-im.patch    patch -Np1 -i ../0003-Use-Harms-s-suggest-do-not-use-inline-if.-And-fix-si.patch -  msg2 'Fix FS#45229, merged upstream' -  patch -Np1 -i ../0001-dix-Add-unaccelerated-valuators-to-the-ValuatorMask.patch -  patch -Np1 -i ../0002-dix-hook-up-the-unaccelerated-valuator-masks.patch -   +  msg2 'Fix xorg only working with root FS#47061' +  patch -Np1 -i ../v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch +    autoreconf -fvi  } @@ -70,9 +65,7 @@ build() {        --enable-xephyr \        --enable-glamor \        --enable-xwayland \ -      --enable-glx-tls \        --enable-kdrive \ -      --enable-kdrive-evdev \        --enable-kdrive-kbd \        --enable-kdrive-mouse \        --enable-config-udev \ @@ -112,7 +105,6 @@ package() {    # distro specific files must be installed in /usr/share/X11/xorg.conf.d    install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d" -  install -m644 "${srcdir}/nvidia-drm-outputclass.conf" "${pkgdir}/usr/share/X11/xorg.conf.d/"    # Needed for non-mesa drivers, libgl will restore it    mv "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" \ @@ -129,6 +121,5 @@ package() {    rm -rf "${pkgdir}/usr/lib/pkgconfig"    rm -rf "${pkgdir}/usr/include"    rm -rf "${pkgdir}/usr/share/aclocal" -  # this is now part of xorg-input-evdev -  rm -rf "${pkgdir}/usr/share/X11/xorg.conf.d/10-evdev.conf"  } + diff --git a/xorg-server-hwcursor-gamma/autoconfig-sis.patch b/xorg-server-hwcursor-gamma/autoconfig-sis.patch deleted file mode 100644 index 0b50049..0000000 --- a/xorg-server-hwcursor-gamma/autoconfig-sis.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- hw/xfree86/common/xf86pciBus.c.orig	2011-09-24 10:53:45.421697668 +0000 -+++ hw/xfree86/common/xf86pciBus.c	2011-09-24 10:55:56.416250708 +0000 -@@ -1200,9 +1200,15 @@ -             break; -         } -         break; --    case 0x1039: --        driverList[0] = "sis"; --        break; -+	case 0x1039: -+	    switch (dev->device_id) -+	    { -+		case 0x6350: case 0x6351: -+		    driverList[0] = "sisimedia"; driverList[1] = "sis"; break; -+		default: -+		    driverList[0] = "sis"; break; -+	    } -+	    break; -     case 0x126f: -         driverList[0] = "siliconmotion"; -         break; diff --git a/xorg-server-hwcursor-gamma/nvidia-drm-outputclass.conf b/xorg-server-hwcursor-gamma/nvidia-drm-outputclass.conf deleted file mode 100644 index 40c1e08..0000000 --- a/xorg-server-hwcursor-gamma/nvidia-drm-outputclass.conf +++ /dev/null @@ -1,6 +0,0 @@ -Section "OutputClass" -	Identifier "nvidia" -	MatchDriver "nvidia-drm" -	Driver "nvidia" -EndSection - diff --git a/xorg-server-hwcursor-gamma/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch b/xorg-server-hwcursor-gamma/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch new file mode 100644 index 0000000..220c5bb --- /dev/null +++ b/xorg-server-hwcursor-gamma/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch @@ -0,0 +1,12 @@ +diff --git a/hw/xfree86/xorg-wrapper.c b/hw/xfree86/xorg-wrapper.c +index 4c37cfc..d930962 100644 +--- a/hw/xfree86/xorg-wrapper.c ++++ b/hw/xfree86/xorg-wrapper.c +@@ -24,6 +24,7 @@ +  */ +  + #include "dix-config.h" ++#include "xorg-config.h" +  + #include <errno.h> + #include <fcntl.h> | 
