debian/changelog | 36 debian/control | 1 debian/patches/103_inputproto_1.4.3_is_fine.patch | 11 debian/patches/103_psb_auto.patch | 32 debian/patches/110_fedora_no_move_damage.patch | 8 debian/patches/136_fedora_force_switchcorekeyboard_for_evdev.patch | 69 debian/patches/137_add_device_property_support.patch | 1290 ---------- debian/patches/138_look_at_all_bytes_of_dev_enabled.diff | 63 debian/patches/141_improved_driver_selection.patch | 338 -- debian/patches/142_psb_auto.patch | 32 debian/patches/150_dont-update-vcp-valuators.patch | 43 debian/patches/150_no_visibility_notify_on_unredirect.patch | 12 debian/patches/151_allow-null-as-rulesfile.patch | 68 debian/patches/152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch | 56 debian/patches/153_make_dmx_compile.patch | 47 debian/patches/series | 12 debian/serverminver | 2 17 files changed, 291 insertions(+), 1829 deletions(-)
New commits: commit 7318f5087319aab8e1a5969e859d4af62f4acad8 Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Fri Dec 12 22:33:41 2008 +0200 patch 153 is not from the proposed queue, clarify the changelog. diff --git a/debian/changelog b/debian/changelog index 8d320f6..cc7104e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -20,8 +20,8 @@ xorg-server (2:1.5.99.3-0ubuntu1) UNRELEASED; urgency=low - 152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch Rather than assuming rules in the CoreKeyboardProc, init the default rules in InitCoreDevices, then re-use them later. - - 153_make_dmx_compile.patch - Change xcalloc -> calloc, so that dmx compiles. Not tested if it + * Add 153_make_dmx_compile.patch + - Change xcalloc -> calloc, so that dmx compiles. Not tested if it also works. * Drop patch 136, since SwitchCoreKeyboard is gone, and patches 151/152 basically reimplement the functionality. commit 4f578030f1577b8f2fdec7975c805623bf07e0bb Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Fri Dec 12 22:19:28 2008 +0200 Bump the serverminver, add conflicts to old xserver-xorg-{input,video} versions diff --git a/debian/changelog b/debian/changelog index 94360db..553b6b8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xorg-server (2:1.5.99.2-1) UNRELEASED; urgency=low +xorg-server (2:1.5.99.3-1) UNRELEASED; urgency=low * New upstream beta version. * debian/control: @@ -11,6 +11,7 @@ xorg-server (2:1.5.99.2-1) UNRELEASED; urgency=low - Bump the libgl1-mesa-dev and mesa-common-dev build-dep to 7.2+git20081209.a0d5c3cf. - Add a build-dep on libxinerama-dev. + - Conflict xserver-xorg-video-4, xserver-xorg-input-2.1. * debian/rules: - Enable dri2 again. * debian/patches: @@ -19,7 +20,8 @@ xorg-server (2:1.5.99.2-1) UNRELEASED; urgency=low - Dropped, implemented upstream. 13_debian_add_xkbpath_env_variable.diff - Disabled for now, needs to be reimplemented or dropped. - * debian/*abiver: Bump the input (4) and videoabiver (5). + * debian/{input,video}abiver: Bump the input (4) and videoabiver (5). + * debian/serverminver: Bump to 2:1.5.99.3. -- Timo Aaltonen <tjaal...@ubuntu.com> Mon, 08 Dec 2008 08:39:38 +0200 diff --git a/debian/control b/debian/control index ffe944b..2ba7862 100644 --- a/debian/control +++ b/debian/control @@ -47,7 +47,8 @@ Suggests: xfonts-100dpi | xfonts-75dpi, xfonts-scalable Conflicts: xserver-xorg (<< 6.8.2-38), xserver-xfree86 (<< 1:7.0.0), xserver-xorg-video, xserver-common (<< 7), xserver-xorg-video-1.0, xserver-xorg-input, xserver-xorg-video-1.9, xserver-xorg-input-wacom (<< 0.7.8), - xserver-xorg-video-2, xserver-xorg-input-2 + xserver-xorg-video-2, xserver-xorg-input-2, + xserver-xorg-video-4, xserver-xorg-input-2.1 Replaces: xserver-xorg (<< 6.8.2-38), xserver-xfree86 (<< 1:7.0.0), xserver-common (<< 7) Provides: xserver diff --git a/debian/serverminver b/debian/serverminver index 90a72d1..8b40438 100644 --- a/debian/serverminver +++ b/debian/serverminver @@ -1 +1 @@ -2:1.4.99.905 +2:1.5.99.3 commit 7e2df677503166803b920613c9f8766aad014096 Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Fri Dec 12 21:36:54 2008 +0200 Drop patch 136 for good SwitchCoreKeyboard is gone, and patches 151/152 basically reimplement the functionality. diff --git a/debian/changelog b/debian/changelog index 83a55e7..0641a71 100644 --- a/debian/changelog +++ b/debian/changelog @@ -23,8 +23,8 @@ xorg-server (2:1.5.99.3-0ubuntu1) UNRELEASED; urgency=low - 153_make_dmx_compile.patch Change xcalloc -> calloc, so that dmx compiles. Not tested if it also works. - * Disable patch 136 for now, since it makes the build fail. Discuss - with upstream to see if it's needed anymore. + * Drop patch 136, since SwitchCoreKeyboard is gone, and patches 151/152 + basically reimplement the functionality. -- Timo Aaltonen <tjaal...@ubuntu.com> Thu, 11 Dec 2008 19:15:09 +0200 diff --git a/debian/patches/136_fedora_force_switchcorekeyboard_for_evdev.patch b/debian/patches/136_fedora_force_switchcorekeyboard_for_evdev.patch deleted file mode 100644 index 2ac6095..0000000 --- a/debian/patches/136_fedora_force_switchcorekeyboard_for_evdev.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 638cab7e1dc3711f7fb04155bcdabf4b8895cc5e Mon Sep 17 00:00:00 2001 -From: Peter Hutterer <peter.hutte...@who-t.net> -Date: Mon, 4 Aug 2008 17:08:36 +0930 -Subject: [PATCH] xfree86: force SwitchCoreKeyboard for evdev devices (updated). - -If an evdev keyboard device is added through the HAL mechanism, force a -SwitchCoreKeyboard to load the evdev map into the VCK. This way, by the time a -client starts the evdev keymap is already there, leading to less pain lateron. - -Works if: -- all keyboards are hotplugged through HAL, and/or -- the xorg.conf keyboard uses the kbd driver. - -Has no effect (i.e. busted keymaps) if: -- an evdev keyboard device has been specified in the xorg.conf. -- we don't have a device at startup and plug a device in after starting the - desktop environment. -- if the device we use isn't the first one reported by HAL. - -If HAL isn't set up, this patch is a noop. ---- - hw/xfree86/common/xf86Xinput.c | 31 +++++++++++++++++++++++++++++++ - 1 files changed, 31 insertions(+), 0 deletions(-) - -diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c -index 710e787..dacc3dc 100644 ---- a/hw/xfree86/common/xf86Xinput.c -+++ b/hw/xfree86/common/xf86Xinput.c -@@ -423,6 +423,37 @@ NewInputDeviceRequest (InputOption *options, DeviceIntPtr *pdev) - (!is_auto || xf86Info.autoEnableDevices)) - EnableDevice(dev); - -+ /* XXX: The VCK always starts with built-in defaults for keymap. These -+ * defaults are different to the evdev ones. When the first key is hit on -+ * an extension device, the keymap is copied into the VCK's and any -+ * changes made at runtime to the VCK map are lost. -+ * -+ * Assumption: if we have at least one evdev keyboard device, we can -+ * ignore kbd devices. Force a SwitchCoreKeyboard so the VCK has the same -+ * keymap as we do. -+ * -+ * Next time we hit a key, we don't change the map over anymore (see -+ * SwitchCoreKeyboard), and live happily ever after. -+ * Until we have 2 physical keyboards. Or the first real keyboard isn't -+ * actually the one we use. Oh well. -+ * -+ */ -+ if (dev->key) -+ { -+ InputInfoPtr info; -+ -+ /* Search if there is one other keyboard that uses evdev. */ -+ for (info = xf86InputDevs; info; info = info->next) -+ { -+ if (info != pInfo && info->dev && info->dev->key && -+ (strcmp(info->drv->driverName, "evdev") == 0)) -+ break; -+ } -+ -+ if (!info) -+ SwitchCoreKeyboard(dev); -+ } -+ - *pdev = dev; - return Success; - --- -1.5.5.1 - diff --git a/debian/patches/series b/debian/patches/series index c004b0a..1a4b918 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -9,7 +9,6 @@ 110_fedora_no_move_damage.patch 121_only_switch_vt_when_active.diff 135_rethrow_signals.patch -#136_fedora_force_switchcorekeyboard_for_evdev.patch 140_quell_acpi_errmsgs.patch 143_default_to_vesa.patch 150_dont-update-vcp-valuators.patch commit 93242934fecb3f8604ff50711f13d58e326fa4ae Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Fri Dec 12 21:25:49 2008 +0200 Add 153_make_dmx_compile.patch Change xcalloc -> calloc, so that dmx compiles. Not tested if it also works. diff --git a/debian/changelog b/debian/changelog index 7bee1c4..83a55e7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -20,6 +20,9 @@ xorg-server (2:1.5.99.3-0ubuntu1) UNRELEASED; urgency=low - 152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch Rather than assuming rules in the CoreKeyboardProc, init the default rules in InitCoreDevices, then re-use them later. + - 153_make_dmx_compile.patch + Change xcalloc -> calloc, so that dmx compiles. Not tested if it + also works. * Disable patch 136 for now, since it makes the build fail. Discuss with upstream to see if it's needed anymore. diff --git a/debian/patches/153_make_dmx_compile.patch b/debian/patches/153_make_dmx_compile.patch new file mode 100644 index 0000000..acb4a3e --- /dev/null +++ b/debian/patches/153_make_dmx_compile.patch @@ -0,0 +1,47 @@ +diff --git a/hw/dmx/dmx.h b/hw/dmx/dmx.h +index 05e5fab..1a71417 100644 +--- a/hw/dmx/dmx.h ++++ b/hw/dmx/dmx.h +@@ -341,14 +341,14 @@ do { \ + #define _MAXSCREENSALLOCF(o,size,fatal) \ + do { \ + if (!o) { \ +- o = xcalloc((size), sizeof(*(o))); \ ++ o = calloc((size), sizeof(*(o))); \ + if (!o && fatal) FatalError(MAXSCREEN_FAILED_TXT #o); \ + } \ + } while (0) + #define _MAXSCREENSALLOCR(o,size,retval) \ + do { \ + if (!o) { \ +- o = xcalloc((size), sizeof(*(o))); \ ++ o = calloc((size), sizeof(*(o))); \ + if (!o) return retval; \ + } \ + } while (0) +diff --git a/hw/dmx/dmxextension.c b/hw/dmx/dmxextension.c +index d20c844..6fd02dc 100644 +--- a/hw/dmx/dmxextension.c ++++ b/hw/dmx/dmxextension.c +@@ -1121,7 +1121,7 @@ static void dmxBERestoreRenderGlyph(pointer value, XID id, pointer n) + } + + /* Now allocate the memory we need */ +- images = xcalloc(len_images, sizeof(char)); ++ images = calloc(len_images, sizeof(char)); + gids = xalloc(glyphSet->hash.tableEntries*sizeof(Glyph)); + glyphs = xalloc(glyphSet->hash.tableEntries*sizeof(XGlyphInfo)); + +diff --git a/hw/dmx/glxProxy/glxutil.c b/hw/dmx/glxProxy/glxutil.c +index 080992e..ab1edef 100644 +--- a/hw/dmx/glxProxy/glxutil.c ++++ b/hw/dmx/glxProxy/glxutil.c +@@ -69,7 +69,7 @@ __glXCalloc(size_t numElements, size_t elementSize) + if ((numElements == 0) || (elementSize == 0)) { + return NULL; + } +- addr = xcalloc(numElements, elementSize); ++ addr = calloc(numElements, elementSize); + if (addr == NULL) { + /* XXX: handle out of memory error */ + return NULL; diff --git a/debian/patches/series b/debian/patches/series index a6716fe..c004b0a 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -15,3 +15,4 @@ 150_dont-update-vcp-valuators.patch 151_allow-null-as-rulesfile.patch 152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch +153_make_dmx_compile.patch commit 2692b11e0b978d544b78009c6ef3616455cc8a9d Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Thu Dec 11 20:28:48 2008 +0200 Disable patch 136 for now. diff --git a/debian/changelog b/debian/changelog index 124147d..7bee1c4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -20,6 +20,8 @@ xorg-server (2:1.5.99.3-0ubuntu1) UNRELEASED; urgency=low - 152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch Rather than assuming rules in the CoreKeyboardProc, init the default rules in InitCoreDevices, then re-use them later. + * Disable patch 136 for now, since it makes the build fail. Discuss + with upstream to see if it's needed anymore. -- Timo Aaltonen <tjaal...@ubuntu.com> Thu, 11 Dec 2008 19:15:09 +0200 diff --git a/debian/patches/series b/debian/patches/series index 39ddaba..a6716fe 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -9,7 +9,7 @@ 110_fedora_no_move_damage.patch 121_only_switch_vt_when_active.diff 135_rethrow_signals.patch -136_fedora_force_switchcorekeyboard_for_evdev.patch +#136_fedora_force_switchcorekeyboard_for_evdev.patch 140_quell_acpi_errmsgs.patch 143_default_to_vesa.patch 150_dont-update-vcp-valuators.patch commit 776ea4c7e8a0310b1cf6045252dd309e0df8c8ad Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Thu Dec 11 20:19:35 2008 +0200 bah, fix patch 150 diff --git a/debian/patches/150_dont-update-vcp-valuators.patch b/debian/patches/150_dont-update-vcp-valuators.patch index 9caccb9..9899d06 100644 --- a/debian/patches/150_dont-update-vcp-valuators.patch +++ b/debian/patches/150_dont-update-vcp-valuators.patch @@ -13,8 +13,7 @@ diff --git a/Xi/exevents.c b/Xi/exevents.c index 00a6b21..8eef400 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c -@@ -781,12 +781,14 @@ UpdateDeviceState(DeviceIntPtr device, xEvent* xE, int -count) +@@ -781,12 +781,14 @@ UpdateDeviceState(DeviceIntPtr device, xEvent* xE, int count) } /* Update device axis */ @@ -30,8 +29,7 @@ count) if (xV->num_valuators && (!v || (xV->num_valuators && (first + xV->num_valuators > v->numAxes)))) -@@ -1009,7 +1011,9 @@ ProcessOtherEvent(xEventPtr xE, DeviceIntPtr device, int -count) +@@ -1009,7 +1011,9 @@ ProcessOtherEvent(xEventPtr xE, DeviceIntPtr device, int count) } /* Valuator event handling */ commit 72e9d4cb856dd176b1ea0379e661853809b24692 Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Thu Dec 11 20:17:10 2008 +0200 Add a couple of patches from the proposed queue diff --git a/debian/changelog b/debian/changelog index eb7539b..124147d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,17 @@ xorg-server (2:1.5.99.3-0ubuntu1) UNRELEASED; urgency=low - 150_no_visibility_notify_on_unredirect.patch: upstream * 110_fedora_no_move_damage.patch modified to use new function names. * Renumbered 142_psb_auto.patch to 103. + * Add a couple of patches from the proposed queue: + - 150_dont-update-vcp-valuators.patch + The VCP doesn't need to update the valuators anyway since it cannot + send XI events. Just skip that bit. + - 151_allow-null-as-rulesfile.patch + If no rules file is given, simply re-use the previous one. If no + RF is given the first time this function is called, use the + built-in default. + - 152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch + Rather than assuming rules in the CoreKeyboardProc, init the default + rules in InitCoreDevices, then re-use them later. -- Timo Aaltonen <tjaal...@ubuntu.com> Thu, 11 Dec 2008 19:15:09 +0200 diff --git a/debian/patches/150_dont-update-vcp-valuators.patch b/debian/patches/150_dont-update-vcp-valuators.patch new file mode 100644 index 0000000..9caccb9 --- /dev/null +++ b/debian/patches/150_dont-update-vcp-valuators.patch @@ -0,0 +1,45 @@ +The VCP doesn't need to update the valuators anyway since it cannot send XI +events. Just skip that bit. + +X.Org Bug 18882 <http://bugs.freedesktop.org/show_bug.cgi?id=18882> +--- +Not cherry-picked from master as master does need to update the valuators. +(Keith: sorry for the resend, wrong "From:" blocked deliver to the xorg list) + + Xi/exevents.c | 8 ++++++-- + 1 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/Xi/exevents.c b/Xi/exevents.c +index 00a6b21..8eef400 100644 +--- a/Xi/exevents.c ++++ b/Xi/exevents.c +@@ -781,12 +781,14 @@ UpdateDeviceState(DeviceIntPtr device, xEvent* xE, int +count) + } + + /* Update device axis */ +- for (i = 1; i < count; i++) { ++ /* Don't update valuators for the VCP, it never sends XI events anyway */ ++ for (i = 1; !device->isMaster && i < count; i++) { + if ((++xV)->type == DeviceValuator) { + int *axisvals; + int first = xV->first_valuator; + BOOL change = FALSE; + ++ + if (xV->num_valuators && + (!v || (xV->num_valuators && + (first + xV->num_valuators > v->numAxes)))) +@@ -1009,7 +1011,9 @@ ProcessOtherEvent(xEventPtr xE, DeviceIntPtr device, int +count) + } + + /* Valuator event handling */ +- for (i = 1; i < count; i++) { ++ /* Don't care about valuators for the VCP, it never sends XI events */ ++ ++ for (i = 1; !device->isMaster && i < count; i++) { + if ((++xV)->type == DeviceValuator) { + int first = xV->first_valuator; + if (xV->num_valuators + diff --git a/debian/patches/151_allow-null-as-rulesfile.patch b/debian/patches/151_allow-null-as-rulesfile.patch new file mode 100644 index 0000000..5a2d4ad --- /dev/null +++ b/debian/patches/151_allow-null-as-rulesfile.patch @@ -0,0 +1,68 @@ +From 7ef9f6ba03ddb40db1b1d1cba4153db3f6b81b4e Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <peter.hutte...@redhat.com> +Date: Wed, 3 Dec 2008 15:06:37 +1000 +Subject: [PATCH] xkb: Allow NULL as rulesFile in XkbSetRulesDflts. + +If no rules file is given, simply re-use the previous one. If no RF is given +the first time this function is called, use the built-in default. +This includes fixing the built-in default to something that actually exists. + +Signed-off-by: Peter Hutterer <peter.hutte...@redhat.com> +--- + xkb/xkbInit.c | 29 ++++++++++++++++++++++++----- + 1 files changed, 24 insertions(+), 5 deletions(-) + +diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c +index 0b93e87..3a0e375 100644 +--- a/xkb/xkbInit.c ++++ b/xkb/xkbInit.c +@@ -93,7 +93,7 @@ typedef struct _SrvXkmInfo { + #define XKB_BIN_DIRECTORY XKB_BASE_DIRECTORY + #endif + #ifndef XKB_DFLT_RULES_FILE +-#define XKB_DFLT_RULES_FILE "rules" ++#define XKB_DFLT_RULES_FILE "base" + #endif + #ifndef XKB_DFLT_KB_LAYOUT + #define XKB_DFLT_KB_LAYOUT "us" +@@ -240,14 +240,33 @@ XkbSetRulesUsed(XkbRF_VarDefsPtr defs) + return; + } + ++/** ++ * Set the default RMLVO for the next device to be initialised. ++ * If a parameter is NULL, the previous setting will be used. Use empty ++ * strings if you want to delete a previous setting. ++ * ++ * If @rulesFile is NULL and no previous @rulesFile has been set, the ++ * built-in default is chosen as default. ++ */ + _X_EXPORT void + XkbSetRulesDflts(char *rulesFile,char *model,char *layout, + char *variant,char *options) + { +- if (XkbRulesFile) +- _XkbFree(XkbRulesFile); +- XkbRulesFile= _XkbDupString(rulesFile); +- rulesDefined= True; ++ if (!rulesFile && !XkbRulesFile) ++ { ++ LogMessage(X_WARNING, "[xkb] No rule given, and no previous rule " ++ "defined. Defaulting to '%s'.\n", ++ XKB_DFLT_RULES_FILE); ++ rulesFile = XKB_DFLT_RULES_FILE; ++ } ++ ++ if (rulesFile) { ++ if (XkbRulesFile) ++ _XkbFree(XkbRulesFile); ++ XkbRulesFile= _XkbDupString(rulesFile); ++ rulesDefined= True; ++ } ++ + if (model) { + if (XkbModelDflt) + _XkbFree(XkbModelDflt); +-- +1.6.0.4 + diff --git a/debian/patches/152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch b/debian/patches/152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch new file mode 100644 index 0000000..60bc382 --- /dev/null +++ b/debian/patches/152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch @@ -0,0 +1,56 @@ +From ca47f082ba3664720d13c4970dc2661bc2c196fa Mon Sep 17 00:00:00 2001 +From: Donnie Berkholz <dberkh...@gentoo.org> +Date: Wed, 3 Dec 2008 10:40:54 -0800 +Subject: [PATCH] Let the DDX decide on the XkbRulesDefaults. + +Rather than assuming rules in the CoreKeyboardProc, init the default rules in +InitCoreDevices, then re-use them later. + +In the xfree86 DDX, set the rules to "base" or "evdev", depending on whether +we'll load kbd or evdev. + +If we create a new MD, use pc105,us as default and re-use the rules file used +previously. + +Signed-off-by: Peter Hutterer <peter.hutte...@redhat.com> + +Conflicts: + + Xi/chdevhier.c +--- + dix/devices.c | 1 - + hw/xfree86/common/xf86Config.c | 6 ++++++ + 2 files changed, 6 insertions(+), 1 deletions(-) + +diff --git a/dix/devices.c b/dix/devices.c +index f7fef95..d89f6c3 100644 +--- a/dix/devices.c ++++ b/dix/devices.c +@@ -526,7 +526,6 @@ CoreKeyboardProc(DeviceIntPtr pDev, int what) + #ifdef XKB + if (!noXkbExtension) { + bzero(&names, sizeof(names)); +- XkbSetRulesDflts("base", "pc105", "us", NULL, NULL); + XkbInitKeyboardDeviceStruct(pDev, &names, &keySyms, modMap, + CoreKeyboardBell, CoreKeyboardCtl); + } +diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c +index f530ec4..ad72b16 100644 +--- a/hw/xfree86/common/xf86Config.c ++++ b/hw/xfree86/common/xf86Config.c +@@ -1032,6 +1032,12 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts) + xf86Info.allowEmptyInput = (xf86Info.autoAddDevices && xf86Info.autoEnableDevices); + xf86GetOptValBool(FlagOptions, FLAG_ALLOW_EMPTY_INPUT, &xf86Info.allowEmptyInput); + ++ /* AEI on? Then we're not using kbd, so use the evdev rules set. */ ++#ifdef XKB ++ XkbSetRulesDflts(((xf86Info.allowEmptyInput) ? "evdev" : "base"), ++ "pc105", "us", NULL, NULL); ++#endif ++ + xf86Info.useDefaultFontPath = TRUE; + xf86Info.useDefaultFontPathFrom = X_DEFAULT; + if (xf86GetOptValBool(FlagOptions, FLAG_USE_DEFAULT_FONT_PATH, &value)) { +-- +1.6.0.4 + diff --git a/debian/patches/series b/debian/patches/series index 1917ce3..39ddaba 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -12,3 +12,6 @@ 136_fedora_force_switchcorekeyboard_for_evdev.patch 140_quell_acpi_errmsgs.patch 143_default_to_vesa.patch +150_dont-update-vcp-valuators.patch +151_allow-null-as-rulesfile.patch +152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch commit 81fd07fe3efd0523e8c6a9158a92ca56cf4d2914 Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Thu Dec 11 19:52:39 2008 +0200 Merge 1.6beta3 drop obsolete patches, rename psb_auto and modify no_move_damage. diff --git a/debian/changelog b/debian/changelog index 8830188..eb7539b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,17 @@ +xorg-server (2:1.5.99.3-0ubuntu1) UNRELEASED; urgency=low + + * Merge from debian experimental git branch. + * Dropped patches: + - 103_inputproto_1.4.3_is_fine.patch: obsolete + - 137_add_device_property_support.patch: upstream + - 138_look_at_all_bytes_of_dev_enabled.diff: upstream + - 141_improved_driver_selection.patch: upstream + - 150_no_visibility_notify_on_unredirect.patch: upstream + * 110_fedora_no_move_damage.patch modified to use new function names. + * Renumbered 142_psb_auto.patch to 103. + + -- Timo Aaltonen <tjaal...@ubuntu.com> Thu, 11 Dec 2008 19:15:09 +0200 + xorg-server (2:1.5.99.2-1) UNRELEASED; urgency=low * New upstream beta version. diff --git a/debian/patches/103_inputproto_1.4.3_is_fine.patch b/debian/patches/103_inputproto_1.4.3_is_fine.patch deleted file mode 100644 index 7f06cd5..0000000 --- a/debian/patches/103_inputproto_1.4.3_is_fine.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/configure.ac -+++ b/configure.ac -@@ -662,7 +662,7 @@ else - RENDERPROTO="renderproto" - fi - --REQUIRED_MODULES="[randrproto >= 1.2] $RENDERPROTO [fixesproto >= 4.0] [damageproto >= 1.1] xcmiscproto xextproto [xproto >= 7.0.9] xtrans [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto [inputproto >= 1.4.4] [kbproto >= 1.0.3]" -+REQUIRED_MODULES="[randrproto >= 1.2] $RENDERPROTO [fixesproto >= 4.0] [damageproto >= 1.1] xcmiscproto xextproto [xproto >= 7.0.9] xtrans [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto [inputproto >= 1.4.3] [kbproto >= 1.0.3]" - REQUIRED_LIBS="xfont xau fontenc [pixman-1 >= 0.9.5]" - - dnl HAVE_DBUS is true if we actually have the D-Bus library, whereas diff --git a/debian/patches/103_psb_auto.patch b/debian/patches/103_psb_auto.patch new file mode 100644 index 0000000..8d23c4f --- /dev/null +++ b/debian/patches/103_psb_auto.patch @@ -0,0 +1,32 @@ +This patch adds autodetection support for the Poulsbo ("psb") driver +needed by moblin.org for the Intel mobile chipset. Rather than add an +else if, I restructured things with a case statement to make it conform +in style to the savage driver section. + +Bryce Harrington 23-Aug-2007 + +--- xorg-server.orig/hw/xfree86/common/xf86AutoConfig.c ++++ xorg-server/hw/xfree86/common/xf86AutoConfig.c +@@ -166,11 +166,17 @@ + case 0x102c: driverList[0] = "chips"; break; + case 0x1013: driverList[0] = "cirrus"; break; + case 0x8086: +- if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) { +- driverList[0] = "i740"; +- } else { +- driverList[0] = "intel"; +- driverList[1] = "i810"; ++ switch (dev->device_id) ++ { ++ case 0x00d1: case 0x7800: ++ driverList[0] = "i740"; break; ++ case 0x8108: case 0x8109: ++ driverList[0] = "vesa"; /* should be psb but broken */ ++ break; ++ default: ++ driverList[0] = "intel"; ++ driverList[1] = "i810"; ++ break; + } + break; + case 0x102b: driverList[0] = "mga"; break; diff --git a/debian/patches/110_fedora_no_move_damage.patch b/debian/patches/110_fedora_no_move_damage.patch index f55f5c1..a1d6766 100644 --- a/debian/patches/110_fedora_no_move_damage.patch +++ b/debian/patches/110_fedora_no_move_damage.patch @@ -17,9 +17,9 @@ Index: xorg-server/composite/compwindow.c REGION_TRANSLATE (prgnSrc, prgnSrc, pWin->drawable.x - ptOldOrg.x, pWin->drawable.y - ptOldOrg.y); -- DamageDamageRegion (&pWin->drawable, prgnSrc); +- DamageRegionAppend(&pWin->drawable, prgnSrc); + if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic) -+ DamageDamageRegion (&pWin->drawable, prgnSrc); ++ DamageRegionAppend(&pWin->drawable, prgnSrc); } cs->CopyWindow = pScreen->CopyWindow; pScreen->CopyWindow = compCopyWindow; @@ -27,9 +27,9 @@ Index: xorg-server/composite/compwindow.c /* * Report that as damaged so it will be redrawn */ -- DamageDamageRegion (&pWin->drawable, &damage); +- DamageRegionAppend(&pWin->drawable, &damage); + if (cw->update == CompositeRedirectAutomatic) -+ DamageDamageRegion (&pWin->drawable, &damage); ++ DamageRegionAppend(&pWin->drawable, &damage); REGION_UNINIT (pScreen, &damage); /* * Save the new border clip region diff --git a/debian/patches/137_add_device_property_support.patch b/debian/patches/137_add_device_property_support.patch deleted file mode 100644 index 34dca94..0000000 --- a/debian/patches/137_add_device_property_support.patch +++ /dev/null @@ -1,1290 +0,0 @@ -Index: xorg-server/Xi/Makefile.am -=================================================================== ---- xorg-server.orig/Xi/Makefile.am 2008-10-09 12:45:05.000000000 +0300 -+++ xorg-server/Xi/Makefile.am 2008-10-09 12:45:11.000000000 +0300 -@@ -75,6 +75,8 @@ - ungrdevb.c \ - ungrdevb.h \ - ungrdevk.c \ -- ungrdevk.h -+ ungrdevk.h \ -+ xiproperty.c \ -+ xiproperty.h - - EXTRA_DIST = stubs.c -Index: xorg-server/Xi/exglobals.h -=================================================================== ---- xorg-server.orig/Xi/exglobals.h 2008-10-09 12:45:05.000000000 +0300 -+++ xorg-server/Xi/exglobals.h 2008-10-09 12:45:11.000000000 +0300 -@@ -50,6 +50,7 @@ - extern Mask DeviceButtonGrabMask; - extern Mask DeviceButtonMotionMask; - extern Mask DevicePresenceNotifyMask; -+extern Mask DevicePropertyNotifyMask; - extern Mask PropagateMask[]; - - extern int DeviceValuator; -@@ -68,6 +69,7 @@ - extern int DeviceMappingNotify; - extern int ChangeDeviceNotify; - extern int DevicePresenceNotify; -+extern int DevicePropertyNotify; - - extern int RT_INPUTCLIENT; - -Index: xorg-server/Xi/extinit.c -=================================================================== ---- xorg-server.orig/Xi/extinit.c 2008-10-09 12:45:05.000000000 +0300 -+++ xorg-server/Xi/extinit.c 2008-10-09 12:45:11.000000000 +0300 -@@ -109,6 +109,8 @@ - #include "ungrdev.h" - #include "ungrdevb.h" - #include "ungrdevk.h" -+#include "xiproperty.c" -+#include "xiproperty.h" - - static Mask lastExtEventMask = 1; - int ExtEventIndex; -@@ -166,6 +168,7 @@ - Mask DeviceButtonGrabMask; - Mask DeviceButtonMotionMask; - Mask DevicePresenceNotifyMask; -+Mask DevicePropertyNotifyMask; - - int DeviceValuator; - int DeviceKeyPress; -@@ -183,6 +186,7 @@ - int DeviceMappingNotify; - int ChangeDeviceNotify; - int DevicePresenceNotify; -+int DevicePropertyNotify; - - int RT_INPUTCLIENT; - -@@ -288,6 +292,14 @@ - return (ProcXGetDeviceControl(client)); - else if (stuff->data == X_ChangeDeviceControl) - return (ProcXChangeDeviceControl(client)); -+ else if (stuff->data == X_ListDeviceProperties) -+ return (ProcXListDeviceProperties(client)); -+ else if (stuff->data == X_ChangeDeviceProperty) -+ return ProcXChangeDeviceProperty(client); -+ else if (stuff->data == X_DeleteDeviceProperty) -+ return ProcXDeleteDeviceProperty(client); -+ else if (stuff->data == X_GetDeviceProperty) -+ return ProcXGetDeviceProperty(client); - - return (BadRequest); - } -@@ -375,6 +387,14 @@ - return (SProcXGetDeviceControl(client)); - else if (stuff->data == X_ChangeDeviceControl) - return (SProcXChangeDeviceControl(client)); -+ else if (stuff->data == X_ListDeviceProperties) -+ return (SProcXListDeviceProperties(client)); -+ else if (stuff->data == X_ChangeDeviceProperty) -+ return (SProcXChangeDeviceProperty(client)); -+ else if (stuff->data == X_DeleteDeviceProperty) -+ return (SProcXDeleteDeviceProperty(client)); -+ else if (stuff->data == X_GetDeviceProperty) -+ return (SProcXGetDeviceProperty(client)); - - return (BadRequest); - } -@@ -445,6 +465,10 @@ - else if (rep->RepType == X_ChangeDeviceControl) - SRepXChangeDeviceControl(client, len, - (xChangeDeviceControlReply *) rep); -+ else if (rep->RepType == X_ListDeviceProperties) -+ SRepXListDeviceProperties(client, len, (xListDevicePropertiesReply*)rep); -+ else if (rep->RepType == X_GetDeviceProperty) -+ SRepXGetDeviceProperty(client, len, (xGetDevicePropertyReply *) rep); - else { - FatalError("XINPUT confused sending swapped reply"); - } -@@ -550,6 +574,17 @@ - swaps(&to->control, n); - } - -+static void -+SDevicePropertyNotifyEvent (devicePropertyNotify *from, devicePropertyNotify *to) -+{ -+ char n; -+ -+ *to = *from; -+ swaps(&to->sequenceNumber,n); -+ swapl(&to->time, n); -+ swapl(&to->atom, n); -+} -+ - /************************************************************************** - * - * Allow the specified event to have its propagation suppressed. -@@ -670,6 +705,7 @@ - DeviceKeyStateNotify = ChangeDeviceNotify + 1; - DeviceButtonStateNotify = DeviceKeyStateNotify + 1; - DevicePresenceNotify = DeviceButtonStateNotify + 1; -+ DevicePropertyNotify = DevicePresenceNotify + 1; - - event_base[KeyClass] = DeviceKeyPress; - event_base[ButtonClass] = DeviceButtonPress; -@@ -745,6 +781,10 @@ - - DevicePresenceNotifyMask = GetNextExtEventMask(); - SetEventInfo(DevicePresenceNotifyMask, _devicePresence); -+ -+ DevicePropertyNotifyMask = GetNextExtEventMask(); -+ SetMaskForExtEvent(DevicePropertyNotifyMask, DevicePropertyNotify); -+ - SetEventInfo(0, _noExtensionEvent); - } - -@@ -786,6 +826,7 @@ - DeviceKeyStateNotify = 13; - DeviceButtonStateNotify = 13; - DevicePresenceNotify = 14; -+ DevicePropertyNotify = 15; - - BadDevice = 0; - BadEvent = 1; -@@ -824,6 +865,7 @@ - EventSwapVector[DeviceMappingNotify] = NotImplemented; - EventSwapVector[ChangeDeviceNotify] = NotImplemented; - EventSwapVector[DevicePresenceNotify] = NotImplemented; -+ EventSwapVector[DevicePropertyNotify] = NotImplemented; - RestoreExtensionEvents(); - } - -@@ -909,6 +951,8 @@ - DO_SWAP(SChangeDeviceNotifyEvent, changeDeviceNotify); - else if (type == DevicePresenceNotify) - DO_SWAP(SDevicePresenceNotifyEvent, devicePresenceNotify); -+ else if (type == DevicePropertyNotify) -+ DO_SWAP(SDevicePropertyNotifyEvent, devicePropertyNotify); - else { - FatalError("XInputExtension: Impossible event!\n"); - } -@@ -936,6 +980,7 @@ - IReqCode = extEntry->base; - AllExtensionVersions[IReqCode - 128] = thisversion; - MakeDeviceTypeAtoms(); -+ XIInitKnownProperties(); - RT_INPUTCLIENT = CreateNewResourceType((DeleteType) InputClientGone); - RegisterResourceName(RT_INPUTCLIENT, "INPUTCLIENT"); - FixExtensionEvents(extEntry); -Index: xorg-server/Xi/xiproperty.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ xorg-server/Xi/xiproperty.c 2008-10-09 13:07:10.000000000 +0300 -@@ -0,0 +1,773 @@ -+/* -+ * Copyright © 2006 Keith Packard -+ * Copyright © 2008 Peter Hutterer -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a -+ * copy of this software and associated documentation files (the "Software"), -+ * to deal in the Software without restriction, including without limitation -+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, -+ * and/or sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice (including the next -+ * paragraph) shall be included in all copies or substantial portions of the -+ * Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WAXIANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WAXIANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -+ * DEALINGS IN THE SOFTWARE. -+ * -+ */ -+ -+/* This code is a modified version of randr/rrproperty.c */ -+ -+#ifdef HAVE_DIX_CONFIG_H -+#include <dix-config.h> -+#endif -+ -+#include "dix.h" -+#include "inputstr.h" -+#include <X11/extensions/XI.h> -+#include <X11/extensions/XIproto.h> -+#include "exglobals.h" -+#include "exevents.h" -+#include "swaprep.h" -+ -+#include "xiproperty.h" -+#include "xserver-properties.h" -+ -+/** -+ * Properties used or alloced from inside the server. -+ */ -+static struct dev_properties -+{ -+ Atom type; -+ char *name; -+} dev_properties[] = { -+ {0, XI_PROP_ENABLED} -+}; -+ -+static long XIPropHandlerID = 1; -+ -+/** -+ * Return the type assigned to the specified atom or 0 if the atom isn't known -+ * to the DIX. -+ */ -+_X_EXPORT Atom -+XIGetKnownProperty(char *name) -+{ -+ int i; -+ for (i = 0; i < (sizeof(dev_properties)/sizeof(struct dev_properties)); i++) -+ { -+ if (strcmp(name, dev_properties[i].name) == 0) -+ return dev_properties[i].type; -+ } -+ -+ return 0; -+} -+ -+/** -+ * Init those properties that are allocated by the server and most likely used -+ * by the DIX or the DDX. -+ */ -+void -+XIInitKnownProperties(void) -+{ -+ int i; -+ for (i = 0; i < (sizeof(dev_properties)/sizeof(struct dev_properties)); i++) -+ { -+ dev_properties[i].type = -+ MakeAtom(dev_properties[i].name, -+ strlen(dev_properties[i].name), -+ TRUE); -+ } -+} -+ -+ -+/* Registers a new property handler on the given device and returns a unique -+ * identifier for this handler. This identifier is required to unregister the -+ * property handler again. -+ * @return The handler's identifier or 0 if an error occured. -+ */ -+long -+XIRegisterPropertyHandler(DeviceIntPtr dev, -+ int (*SetProperty) (DeviceIntPtr dev, -+ Atom property, -+ XIPropertyValuePtr prop), -+ int (*GetProperty) (DeviceIntPtr dev, -+ Atom property), -+ int (*DeleteProperty) (DeviceIntPtr dev, -+ Atom property)) -+{ -+ XIPropertyHandlerPtr new_handler; -+ -+ new_handler = xcalloc(1, sizeof(XIPropertyHandler)); -+ if (!new_handler) -+ return 0; -+ -+ new_handler->id = XIPropHandlerID++; -+ new_handler->SetProperty = SetProperty; -+ new_handler->GetProperty = GetProperty; -+ new_handler->DeleteProperty = DeleteProperty; -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org