xorg-server: Changes to 'ubuntu'
debian/changelog | 75 +++
debian/patches/100_avoid_acpi_insanity.diff | 12
debian/patches/108_fedora_honor_displaysize.patch | 21 +
debian/patches/146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch | 190 ++++++++++
debian/patches/147_X86EMU-pass-the-correct-bus-dev-fn-tag-to-pci-emula.patch | 96 +++++
debian/patches/45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff | 56 ++
debian/patches/series | 5
debian/po/ja.po | 39 --
dix/getevents.c | 2
xkb/xkbLEDs.c | 3
10 files changed, 459 insertions(+), 40 deletions(-)
New commits:
commit fed68cf68679818d4b9a8507247858e8928e746a
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Tue Feb 5 19:02:04 2008 +0200
Drop patch 100_avoid_acpi_insanity.diff, superseded by patch 45.
diff --git a/debian/changelog b/debian/changelog
index b010db8..b4d8132 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,9 +8,6 @@ xorg-server (2:1.4.1~git20080131-1ubuntu1) hardy; urgency=low
different compared to Dapper.
- xvfb Depends on xauth, xfonts-base.
* debian/patches:
- - 100_avoid_acpi_insanity.diff
- Don't send a configuration change event just because somebody's pressed
- a brightness key.
- 101_fedora-apm-typedefs.patch:
Temporary hack from Fedora for broken kernels that don't publish the
/dev/apm_bios types.
@@ -50,7 +47,8 @@ xorg-server (2:1.4.1~git20080131-1ubuntu1) hardy; urgency=low
* 108_fedora_honor_displaysize.patch:
- Patch from upstream/Fedora to honor the DisplaySize-setting.
(LP: #135738, b.fd.o #9758)
-
+ * Drop patch 100_avoid_acpi_insanity.diff, superseded by patch 45.
+
[ Bart Trojanowski, Martin-Eric Racine ]
* 146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch
- Restrict access to I/O ports in range 0-0xFF from x86emu.
@@ -59,7 +57,7 @@ xorg-server (2:1.4.1~git20080131-1ubuntu1) hardy; urgency=low
- Fix improper emulation of PCI access General Software BIOS.
(LP: #140051)
- -- Timo Aaltonen <tepsipakki@ubuntu.com> Tue, 05 Feb 2008 18:46:07 +0200
+ -- Timo Aaltonen <tepsipakki@ubuntu.com> Tue, 05 Feb 2008 18:57:14 +0200
xorg-server (2:1.4.1~git20080131-1) unstable; urgency=low
diff --git a/debian/patches/100_avoid_acpi_insanity.diff b/debian/patches/100_avoid_acpi_insanity.diff
deleted file mode 100644
index 4d9b3fa..0000000
--- a/debian/patches/100_avoid_acpi_insanity.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur xorg-server-1.3.0.0.dfsg/hw/xfree86/os-support/linux/lnx_acpi.c xorg-server-1.3.0.0.dfsg.new/hw/xfree86/os-support/linux/lnx_acpi.c
---- xorg-server-1.3.0.0.dfsg/hw/xfree86/os-support/linux/lnx_acpi.c 2006-11-16 18:01:25.000000000 +0000
-+++ xorg-server-1.3.0.0.dfsg.new/hw/xfree86/os-support/linux/lnx_acpi.c 2007-08-26 16:14:34.000000000 +0100
-@@ -110,6 +110,8 @@
- case ACPI_VIDEO_NOTIFY_PREV_OUTPUT:
- break;
- default:
-+ /* If it's not a switch notification, send nothing */
-+ return 0;
- break;
- }
-
diff --git a/debian/patches/series b/debian/patches/series
index 06ced98..1b3439d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -23,7 +23,6 @@
92_xprint-security-holes-fix.patch
93_spooltodir_check_file_exists
93_xprint_fonts_fix
-100_avoid_acpi_insanity.diff
101_fedora-apm-typedefs.patch
102_ubuntu_sharevts_load_cpu.patch
103_fedora_openchrome.patch
commit 811f13cf796f285797b6d39635eeec75008f7619
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Tue Feb 5 18:56:04 2008 +0200
Add patches to fix broken -amd support.
* 146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch
- Restrict access to I/O ports in range 0-0xFF from x86emu.
* 147_X86EMU-pass-the-correct-bus-dev-fn-tag-to-pci-emula.patch
- Fix improper emulation of PCI access General Software BIOS.
https://launchpad.net/bugs/140051
diff --git a/debian/changelog b/debian/changelog
index ac39184..b010db8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,6 @@
-xorg-server (2:1.4.1~git20080131-1ubuntu1) UNRELEASED; urgency=low
+xorg-server (2:1.4.1~git20080131-1ubuntu1) hardy; urgency=low
+ [ Timo Aaltonen ]
* Merge with Debian unstable, remaining changes:
* debian/control:
- Change maintainer address.
@@ -49,8 +50,16 @@ xorg-server (2:1.4.1~git20080131-1ubuntu1) UNRELEASED; urgency=low
* 108_fedora_honor_displaysize.patch:
- Patch from upstream/Fedora to honor the DisplaySize-setting.
(LP: #135738, b.fd.o #9758)
-
- -- Timo Aaltonen <tepsipakki@ubuntu.com> Tue, 05 Feb 2008 18:34:06 +0200
+
+ [ Bart Trojanowski, Martin-Eric Racine ]
+ * 146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch
+ - Restrict access to I/O ports in range 0-0xFF from x86emu.
+ (LP: #140051)
+ * 147_X86EMU-pass-the-correct-bus-dev-fn-tag-to-pci-emula.patch
+ - Fix improper emulation of PCI access General Software BIOS.
+ (LP: #140051)
+
+ -- Timo Aaltonen <tepsipakki@ubuntu.com> Tue, 05 Feb 2008 18:46:07 +0200
xorg-server (2:1.4.1~git20080131-1) unstable; urgency=low
diff --git a/debian/patches/146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch b/debian/patches/146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch
new file mode 100644
index 0000000..e883d92
--- /dev/null
+++ b/debian/patches/146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch
@@ -0,0 +1,190 @@
+From 6061612987ebba7ca65835e658b8d969be13a22d Mon Sep 17 00:00:00 2001
+From: Bart Trojanowski <bart@symbio-technologies.com>
+Date: Fri, 11 Jan 2008 11:52:59 -0500
+Subject: [PATCH] X86EMU: added blacklist for I/O port in 0-0xFF range
+
+Signed-off-by: Bart Trojanowski <bart@jukie.net>
+
+Work funded by: Symbio Technologies
+
+There seems to be an inconsistency between what the x86emu gets from the
+PCI handling code and by accessing hardware directly. x86emu relies on
+a set of functions to emulate PCI access. When things goes wrong, the
+emulator is asked to execute an OUT instruction on port 0x20.
+
+I've put together a patch against xserver-xorg package that prevents
+accesses to BAD registers. This turns a freeze into a segfault in X.
+
+http://www.jukie.net/~bart/patches/xorg-server/20080111/0001-X86EMU-
+added-blacklist-for-I-O-port-in-0-0xFF-range.patch
+
+It does not address the DDC not working, I hope that after fixing the
+bugs in x86emu, things may improve.
+
+Anyway, I am continuing to investigate the real cause of the PCI access
+issue. To find out more read this thread:
+
+http://lists.freedesktop.org/archives/xorg/2008-January/031811.html
+
+-Bart
+
+
+diff -Nurp xorg-server-1.4.1~git20080118/hw/xfree86/int10/helper_exec.c xorg-server-1.4.1~git20080118-working/hw/xfree86/int10/helper_exec.c
+--- xorg-server-1.4.1~git20080118/hw/xfree86/int10/helper_exec.c 2008-01-18 13:23:40.000000000 -0800
++++ xorg-server-1.4.1~git20080118-working/hw/xfree86/int10/helper_exec.c 2008-01-22 09:53:27.000000000 -0800
+@@ -21,6 +21,8 @@
+ #define PRINT_PORT 0
+
+ #include <unistd.h>
++#include <sys/types.h>
++#include <signal.h>
+
+ #include <X11/Xos.h>
+ #include "xf86.h"
+@@ -210,6 +212,72 @@ stack_trace(xf86Int10InfoPtr pInt)
+ xf86ErrorFVerb(3, "\n");
+ }
+
++enum port_action_e {
++ PORT_ACTION_PERMIT,
++ PORT_ACTION_WARN,
++ PORT_ACTION_BAIL,
++ PORT_ACTION_MAX
++};
++
++static const struct port_range {
++ CARD16 start, end;
++ enum port_action_e access;
++} port_range_table[] = {
++ // NOTE: port ranges are non overlapping and sorted
++ { 0x00, 0x1f, PORT_ACTION_BAIL }, // DMA
++ { 0x20, 0x21, PORT_ACTION_BAIL }, // PIC
++ { 0x40, 0x47, PORT_ACTION_BAIL }, // PIT 1&2
++ { 0x50, 0x53, PORT_ACTION_BAIL },
++ { 0x70, 0x77, PORT_ACTION_BAIL }, // CMOS/RTC
++ { 0x81, 0x8f, PORT_ACTION_BAIL }, // DIAG REGS
++ { 0xa0, 0xa1, PORT_ACTION_BAIL }, // PIC2
++ { 0xc0, 0xdf, PORT_ACTION_BAIL }, // DMA
++};
++#define ARRAY_SIZE(X) (sizeof((X)) / (sizeof(*(X))))
++#define ARRAY_END(X) (&((X)[ARRAY_SIZE(X)]))
++
++static void assert_port_access_allowed (CARD16 port, CARD16 width)
++{
++ CARD16 access_start, access_end;
++ const struct port_range *pr, *pr_start, *pr_end;
++
++ access_start = port;
++ access_end = port + width - 1;
++
++ // TODO: if the list gets too long we should do a binary search
++ // or convert the port list to a bitmap representation
++ pr_start = port_range_table;
++ pr_end = ARRAY_END(port_range_table);
++
++ for (pr = pr_start; pr < pr_end; pr++) {
++ if (access_end < pr->start)
++ continue;
++ if (access_start > pr->end)
++ break;
++
++ // we are in the pr range now
++ switch (pr->access) {
++ default:
++ continue;
++ case PORT_ACTION_BAIL:
++ case PORT_ACTION_WARN:
++ break;
++ }
++
++ ErrorF("Emulator asked to make a suspect %saccess to "
++ "port %u (0x%04x)%s\n",
++ (width == 1) ? "byte " :
++ (width == 2) ? "word " :
++ (width == 4) ? "long " : "",
++ port, port,
++ (pr->access == PORT_ACTION_BAIL)
++ ? "; terminating." : "ignoring.");
++
++ if (pr->access == PORT_ACTION_BAIL)
++ kill(getpid(), SIGSEGV);
++ }
++}
++
+ int
+ port_rep_inb(xf86Int10InfoPtr pInt,
+ CARD16 port, CARD32 base, int d_f, CARD32 count)
+@@ -319,7 +387,7 @@ x_inb(CARD16 port)
+ ErrorF(" inb(%#x) = %2.2x\n", port, val);
+ #ifdef __NOT_YET__
+ } else if (port < 0x0100) { /* Don't interfere with mainboard */
+- val = 0;
++ val = 0;
+ xf86DrvMsgVerb(Int10Current->scrnIndex, X_NOT_IMPLEMENTED, 2,
+ "inb 0x%4.4x\n", port);
+ if (xf86GetVerbosity() > 3) {
+@@ -327,10 +395,14 @@ x_inb(CARD16 port)
+ stack_trace(Int10Current);
+ }
+ #endif /* __NOT_YET__ */
+- } else if (!pciCfg1inb(port, &val)) {
+- val = inb(Int10Current->ioBase + port);
+- if (PRINT_PORT && DEBUG_IO_TRACE())
+- ErrorF(" inb(%#x) = %2.2x\n", port, val);
++ } else {
++ assert_port_access_allowed (port, sizeof(val));
++
++ if (!pciCfg1inb(port, &val)) {
++ val = inb(Int10Current->ioBase + port);
++ if (PRINT_PORT && DEBUG_IO_TRACE())
++ ErrorF(" inb(%#x) = %2.2x\n", port, val);
++ }
+ }
+ return val;
+ }
+@@ -349,10 +421,14 @@ x_inw(CARD16 port)
+ */
+ X_GETTIMEOFDAY(&tv);
+ val = (CARD16)(tv.tv_usec / 3);
+- } else if (!pciCfg1inw(port, &val)) {
+- val = inw(Int10Current->ioBase + port);
+- if (PRINT_PORT && DEBUG_IO_TRACE())
+- ErrorF(" inw(%#x) = %4.4x\n", port, val);
++ } else {
++ assert_port_access_allowed (port, sizeof(val));
++
++ if (!pciCfg1inw(port, &val)) {
++ val = inw(Int10Current->ioBase + port);
++ if (PRINT_PORT && DEBUG_IO_TRACE())
++ ErrorF(" inw(%#x) = %4.4x\n", port, val);
++ }
+ }
+ return val;
+ }
+@@ -384,6 +460,8 @@ x_outb(CARD16 port, CARD8 val)
+ } else if (!pciCfg1outb(port, val)) {
+ if (PRINT_PORT && DEBUG_IO_TRACE())
+ ErrorF(" outb(%#x, %2.2x)\n", port, val);
++
++ assert_port_access_allowed (port, sizeof(val));
+ outb(Int10Current->ioBase + port, val);
+ }
+ }
+@@ -404,6 +482,8 @@ x_inl(CARD16 port)
+ {
+ CARD32 val;
+
++ assert_port_access_allowed (port, sizeof(val));
++
+ if (!pciCfg1in(port, &val)) {
+ val = inl(Int10Current->ioBase + port);
+ if (PRINT_PORT && DEBUG_IO_TRACE())
+@@ -418,6 +498,8 @@ x_outl(CARD16 port, CARD32 val)
+ if (!pciCfg1out(port, val)) {
+ if (PRINT_PORT && DEBUG_IO_TRACE())
+ ErrorF(" outl(%#x, %8.8x)\n", port, val);
++
++ assert_port_access_allowed (port, sizeof(val));
+ outl(Int10Current->ioBase + port, val);
+ }
+ }
diff --git a/debian/patches/147_X86EMU-pass-the-correct-bus-dev-fn-tag-to-pci-emula.patch b/debian/patches/147_X86EMU-pass-the-correct-bus-dev-fn-tag-to-pci-emula.patch
new file mode 100644
index 0000000..cfc7116
--- /dev/null
+++ b/debian/patches/147_X86EMU-pass-the-correct-bus-dev-fn-tag-to-pci-emula.patch
@@ -0,0 +1,96 @@
+From 9c17439807c80876bf7027b17859714b31401ab9 Mon Sep 17 00:00:00 2001
+From: Bart Trojanowski <bart@jukie.net>
+Date: Fri, 11 Jan 2008 19:59:54 -0500
+Subject: [PATCH] X86EMU: pass the correct bus:dev:fn tag to pci emulation
+
+Signed-off-by: Bart Trojanowski <bart@jukie.net>
+
+Work funded by: Symbio Technologies
+
+There seems to be an inconsistency between what the x86emu gets from the
+PCI handling code and by accessing hardware directly. x86emu relies on
+a set of functions to emulate PCI access. When things goes wrong, the
+emulator is asked to execute an OUT instruction on port 0x20.
+
+I've put together a patch against xserver-xorg package that prevents
+accesses to BAD registers. This turns a freeze into a segfault in X.
+
+http://www.jukie.net/~bart/patches/xorg-server/20080111/0001-X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch
+
+It does not address the DDC not working, I hope that after fixing the
+bugs in x86emu, things may improve.
+
+Anyway, I am continuing to investigate the real cause of the PCI access
+issue. To find out more read this thread:
+
+http://lists.freedesktop.org/archives/xorg/2008-January/031811.html
+
+-Bart
+
+diff -Nurp xorg-server-1.4.1~git20080118-patched/hw/xfree86/int10/helper_exec.c xorg-server-1.4.1~git20080118-working/hw/xfree86/int10/helper_exec.c
+--- xorg-server-1.4.1~git20080118-patched/hw/xfree86/int10/helper_exec.c 2008-01-22 10:22:26.000000000 -0800
++++ xorg-server-1.4.1~git20080118-working/hw/xfree86/int10/helper_exec.c 2008-01-22 11:00:52.000000000 -0800
+@@ -542,7 +542,8 @@ Mem_wl(CARD32 addr, CARD32 val)
+
+ static CARD32 PciCfg1Addr = 0;
+
+-#define OFFSET(Cfg1Addr) (Cfg1Addr & 0xff)
++#define PCI_OFFSET(x) ((x) & 0x000000ff)
++#define PCI_TAG(x) ((x) & 0x00ffff00)
+
+ static int
+ pciCfg1in(CARD16 addr, CARD32 *val)
+@@ -552,7 +553,7 @@ pciCfg1in(CARD16 addr, CARD32 *val)
+ return 1;
+ }
+ if (addr == 0xCFC) {
+- *val = pciReadLong(Int10Current->Tag, OFFSET(PciCfg1Addr));
++ *val = pciReadLong(PCI_TAG(PciCfg1Addr), PCI_OFFSET(PciCfg1Addr));
+ if (PRINT_PORT && DEBUG_IO_TRACE())
+ ErrorF(" cfg_inl(%#x) = %8.8x\n", PciCfg1Addr, *val);
+ return 1;
+@@ -570,7 +571,7 @@ pciCfg1out(CARD16 addr, CARD32 val)
+ if (addr == 0xCFC) {
+ if (PRINT_PORT && DEBUG_IO_TRACE())
+ ErrorF(" cfg_outl(%#x, %8.8x)\n", PciCfg1Addr, val);
+- pciWriteLong(Int10Current->Tag, OFFSET(PciCfg1Addr), val);
++ pciWriteLong(PCI_TAG(PciCfg1Addr), PCI_OFFSET(PciCfg1Addr), val);
+ return 1;
+ }
+ return 0;
+@@ -588,7 +589,7 @@ pciCfg1inw(CARD16 addr, CARD16 *val)
+ }
+ if ((addr >= 0xCFC) && (addr <= 0xCFF)) {
+ offset = addr - 0xCFC;
+- *val = pciReadWord(Int10Current->Tag, OFFSET(PciCfg1Addr) + offset);
++ *val = pciReadWord(PCI_TAG(PciCfg1Addr), PCI_OFFSET(PciCfg1Addr) + offset);
+ if (PRINT_PORT && DEBUG_IO_TRACE())
+ ErrorF(" cfg_inw(%#x) = %4.4x\n", PciCfg1Addr + offset, *val);
+ return 1;
+@@ -611,7 +612,7 @@ pciCfg1outw(CARD16 addr, CARD16 val)
+ offset = addr - 0xCFC;
+ if (PRINT_PORT && DEBUG_IO_TRACE())
+ ErrorF(" cfg_outw(%#x, %4.4x)\n", PciCfg1Addr + offset, val);
+- pciWriteWord(Int10Current->Tag, OFFSET(PciCfg1Addr) + offset, val);
++ pciWriteWord(PCI_TAG(PciCfg1Addr), PCI_OFFSET(PciCfg1Addr) + offset, val);
+ return 1;
+ }
+ return 0;
+@@ -629,7 +630,7 @@ pciCfg1inb(CARD16 addr, CARD8 *val)
+ }
+ if ((addr >= 0xCFC) && (addr <= 0xCFF)) {
+ offset = addr - 0xCFC;
+- *val = pciReadByte(Int10Current->Tag, OFFSET(PciCfg1Addr) + offset);
++ *val = pciReadByte(PCI_TAG(PciCfg1Addr), PCI_OFFSET(PciCfg1Addr) + offset);
+ if (PRINT_PORT && DEBUG_IO_TRACE())
+ ErrorF(" cfg_inb(%#x) = %2.2x\n", PciCfg1Addr + offset, *val);
+ return 1;
+@@ -652,7 +653,7 @@ pciCfg1outb(CARD16 addr, CARD8 val)
+ offset = addr - 0xCFC;
+ if (PRINT_PORT && DEBUG_IO_TRACE())
+ ErrorF(" cfg_outb(%#x, %2.2x)\n", PciCfg1Addr + offset, val);
+- pciWriteByte(Int10Current->Tag, OFFSET(PciCfg1Addr) + offset, val);
++ pciWriteByte(PCI_TAG(PciCfg1Addr), PCI_OFFSET(PciCfg1Addr) + offset, val);
+ return 1;
+ }
+ return 0;
diff --git a/debian/patches/series b/debian/patches/series
index 4411d13..06ced98 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -40,3 +40,5 @@
139_fedora_xserver-1.3.0-document-fontpath-correctly.patch
142_fedora_xserver-1.3.0-no-pseudocolor-composite.patch
144_fedora_xserver-1.3.0-xnest-exposures.patch
+146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch
+147_X86EMU-pass-the-correct-bus-dev-fn-tag-to-pci-emula.patch
commit 9575d679f6f5a3b1aac016cfbefde85bf4de6c60
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Tue Feb 5 18:42:31 2008 +0200
Patch from upstream/Fedora to honor the DisplaySize-setting.
https://launchpad.net/bugs/135738
https://bugs.freedesktop.org/show_bug.cgi?id=9758
diff --git a/debian/changelog b/debian/changelog
index 2cc038f..ac39184 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -46,8 +46,11 @@ xorg-server (2:1.4.1~git20080131-1ubuntu1) UNRELEASED; urgency=low
disable it on anything pseudocolor for safety.
- 144_fedora_xserver-1.3.0-xnest-exposures.patch:
Only collect xnest exposures for xexposes with non-zero height and width.
+ * 108_fedora_honor_displaysize.patch:
+ - Patch from upstream/Fedora to honor the DisplaySize-setting.
+ (LP: #135738, b.fd.o #9758)
- -- Timo Aaltonen <tepsipakki@ubuntu.com> Sat, 19 Jan 2008 02:40:00 +0200
+ -- Timo Aaltonen <tepsipakki@ubuntu.com> Tue, 05 Feb 2008 18:34:06 +0200
xorg-server (2:1.4.1~git20080131-1) unstable; urgency=low
diff --git a/debian/patches/108_fedora_honor_displaysize.patch b/debian/patches/108_fedora_honor_displaysize.patch
new file mode 100644
index 0000000..2dd4977
--- /dev/null
+++ b/debian/patches/108_fedora_honor_displaysize.patch
@@ -0,0 +1,21 @@
+From: Adam Jackson <ajax@redhat.com>
+Date: Sun, 28 Oct 2007 09:37:52 +0100
+Subject: [PATCH] Honor the Monitor section's DisplaySize directive.
+
+---
+diff -up xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c.da xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c
+--- xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c.da 2007-09-26 17:04:02.000000000 +1000
++++ xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c 2007-09-26 17:04:27.000000000 +1000
+@@ -401,8 +401,10 @@ xf86DDCMonitorSet(int scrnIndex, MonPtr
+
+ Monitor->DDC = DDC;
+
+- Monitor->widthmm = 10 * DDC->features.hsize;
+- Monitor->heightmm = 10 * DDC->features.vsize;
++ if (Monitor->widthmm <= 0 && Monitor->heightmm <= 0) {
++ Monitor->widthmm = 10 * DDC->features.hsize;
++ Monitor->heightmm = 10 * DDC->features.vsize;
++ }
+
+ /* If this is a digital display, then we can use reduced blanking */
+ if (DDC->features.input_type)
diff --git a/debian/patches/series b/debian/patches/series
index e00feab..4411d13 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -31,6 +31,7 @@
105_reduce_wakeups_from_smart_scheduler.diff
106_ubuntu_fpic_libxf86config.patch
107_fedora_dont_backfill_bg_none.patch
+108_fedora_honor_displaysize.patch
110_fedora_no_move_damage.patch
120_fedora_xserver-xaa-evict-pixmaps.patch
121_only_switch_vt_when_active.diff
commit 9699eee47d5467dbdf7a4920ccfabd20a2bad12b
Author: David Nusinow <dnusinow@debian.org>
Date: Thu Jan 31 22:39:15 2008 -0500
Prepare changelog for upload
diff --git a/debian/changelog b/debian/changelog
index 40243c5..ad9f99a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.4.1~git20080118-2) UNRELEASED; urgency=low
+xorg-server (2:1.4.1~git20080131-1) unstable; urgency=low
[ Brice Goglin ]
* Add 45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
@@ -7,8 +7,10 @@ xorg-server (2:1.4.1~git20080118-2) UNRELEASED; urgency=low
[ David Nusinow ]
* Update Japanese translation from Hideki Yamane. closes: #462761
+ * New upstream pull
+ + Fixes crashes due to absent LED's being referenced
- -- David Nusinow <dnusinow@debian.org> Sun, 27 Jan 2008 11:18:41 -0500
+ -- David Nusinow <dnusinow@debian.org> Thu, 31 Jan 2008 21:43:12 -0500
xorg-server (2:1.4.1~git20080118-1) unstable; urgency=low
commit bc72ef3a159efd67067322c043bba444869dc356
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Wed Jan 30 10:39:54 2008 +1030
xkb: don't update LEDs if they don't exist. (Bug #13961)
In some weird cases we call this function when there is no SrvLedInfo on the
device. And it turns out null-pointer dereferences are bad.
X.Org Bug 13961 <http://bugs.freedesktop.org/show_bug.cgi?id=13961>
(cherry picked from commit d954f9c80348de294602d931d387e5cd1ef4b9a5)
diff --git a/xkb/xkbLEDs.c b/xkb/xkbLEDs.c
index d607d90..d28973c 100644
--- a/xkb/xkbLEDs.c
+++ b/xkb/xkbLEDs.c
@@ -63,6 +63,9 @@ XkbSrvLedInfoPtr sli;
sli= XkbFindSrvLedInfo(dev,XkbDfltXIClass,XkbDfltXIId,0);
+ if (!sli)
+ return update;
+
if (state_changes&(XkbModifierStateMask|XkbGroupStateMask))
update|= sli->usesEffective;
if (state_changes&(XkbModifierBaseMask|XkbGroupBaseMask))
commit e98027c3ac7195fec665ef393d980b02870ca1b8
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Tue Dec 18 13:57:07 2007 +1030
dix: set the correct number of valuators in valuator events.
(first_valuator + num_valuators) must never be larger than the number of axes,
otherwise DIX freaks out. And from looking at libXI, anything larger than 6 is
wrong too.
(cherry picked from commit 9f6ae61ad12cc2813d04405458e1ca5aed8a539e)
diff --git a/dix/getevents.c b/dix/getevents.c
index 12d8189..b7ba69b 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -344,7 +344,7 @@ getValuatorEvents(xEvent *events, DeviceIntPtr pDev, int first_valuator,
for (i = first_valuator; i < final_valuator; i += 6, xv++, events++) {
xv->type = DeviceValuator;
xv->first_valuator = i;
- xv->num_valuators = num_valuators;
+ xv->num_valuators = ((num_valuators - i) > 6) ? 6 : (num_valuators - i);
xv->deviceid = pDev->id;
switch (final_valuator - i) {
case 6:
commit 8d2c79b8231ea63afe5525c5e8077281881f2831
Author: David Nusinow <dnusinow@debian.org>
Date: Sun Jan 27 11:21:07 2008 -0500
* Update Japanese translation from Hideki Yamane. closes: #462761
diff --git a/debian/changelog b/debian/changelog
index 9a073a3..40243c5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,14 @@
xorg-server (2:1.4.1~git20080118-2) UNRELEASED; urgency=low
+ [ Brice Goglin ]
* Add 45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
to prevent XF86_APM_CAPABILITY_CHANGED from being issued for all ACPI
events, thanks Sjoerd Simons, closes: #461463.
- -- Brice Goglin <bgoglin@debian.org> Fri, 18 Jan 2008 23:27:43 +0100
+ [ David Nusinow ]
+ * Update Japanese translation from Hideki Yamane. closes: #462761
+
+ -- David Nusinow <dnusinow@debian.org> Sun, 27 Jan 2008 11:18:41 -0500
xorg-server (2:1.4.1~git20080118-1) unstable; urgency=low
diff --git a/debian/po/ja.po b/debian/po/ja.po
index d3beb5e..0ca2faa 100644
--- a/debian/po/ja.po
+++ b/debian/po/ja.po
@@ -14,49 +14,35 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: xprint \n"
+"Project-Id-Version: xorg-server 2:1.4.1~git20080118-1\n"
"Report-Msgid-Bugs-To: debian-x@lists.debian.org\n"
"POT-Creation-Date: 2007-09-18 20:35+0200\n"
-"PO-Revision-Date: 2005-03-26 16:42+0900\n"
-"Last-Translator: Hideki Yamane <henrich@samba.gr.jp>\n"
+"PO-Revision-Date: 2008-01-27 19:52+0900\n"
+"Last-Translator: Hideki Yamane (Debian-JP) <henrich@debian.or.jp>\n"
"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=EUC-JP\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. Type: string
#. Description
#: ../xprint-common.templates:2001
-#, fuzzy
-#| msgid "Default printer resolution"
msgid "Default printer resolution:"
-msgstr "�ǥե����ǤΥץ�����٤ˤĤ���
+msgstr "デフォルトのプリンタ解像度:"
#. Type: string
#. Description
#: ../xprint-common.templates:2001
-#, fuzzy
-#| msgid ""
-#| "By default Xprint assumes a printer resolution of 600dpi. This should be "
-#| "fine for the majority of printers today."
msgid ""
"By default, Xprint assumes a printer resolution of 600 dpi. This should be "
"well suited for the majority of printers."
msgstr ""
-"Xprint �ϡ��ǥե����Ǥϥץ����β�٤�0dpi �Ȥ��Ƥ��ޤ������ߤΥץ�"
-"���Ǥϡ��ۤȤ����ͤ�ɤ��Ǥ��礦��"
+"デフォルトでは、Xprint はプリンタの解像度を 600dpi としています。ほとんどのプリン"
+"タでは、ほとんどこの値で良いでしょう。"
#. Type: string
#. Description
#: ../xprint-common.templates:2001
-#, fuzzy
-#| msgid ""
-#| "On certain 1200dpi printers, however, the image might appear squashed in "
-#| "the corner of the page, or it might be blown up too large on 300dpi "
-#| "printers. If you are experiencing these kinds of printing problems, you "
-#| "may want to set the default printer resolution to a more appropriate "
-#| "value. See /usr/share/doc/xprint-common/README.printing-problems.gz for "
-#| "more details."
msgid ""
"On certain 1200 dpi printers, however, the image might appear squashed in "
"the corner of the page, or it might be blown up too large on 300 dpi "
@@ -64,8 +50,9 @@ msgid ""
"set the default printer resolution to a more appropriate value. See /usr/"
"share/doc/xprint-common/README.printing-problems.gz for more details."
msgstr ""
-"��������1200dpi ����ץ����Ǥϰ���줿���ϥڡ����ζ��������-"�Ƥ��ޤ��ޤ�����300dpi �Υץ����Ǥ�礭���ʤꤹ���Ƥ��ޤ��ޤ�������ͤʰ�
-"��٤������������ץ����β�٤�����ͤ�ѹ��������ʤ�"
-"���礦�����ܺ٤ˤĤ��Ƥϡ�/usr/share/doc/xprint-common/README.printing-"
-"problems.gz �Ȥ��Ƥ��������"
+"しかし、1200dpi 固定のプリンタでは印刷された画像はページの隅に詰めて印刷され"
+"てしまいますし、300dpi のプリンタでは大きくなりすぎてしまいます。この様な印刷"
+"時の問題に遭遇した場合、プリンタの解像度をより適切な値に変更したくなるでしょう。"
+"詳細については、/usr/share/doc/xprint-common/README.printing-problems.gz "
+"を参照してください。"
+
commit 9ffbe1bc5e1e95774593e28a61093a1e0bdf6913
Author: Brice Goglin <bgoglin@debian.org>
Date: Fri Jan 18 23:33:16 2008 +0100
Add 45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
diff --git a/debian/changelog b/debian/changelog
index 02175b7..9a073a3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+xorg-server (2:1.4.1~git20080118-2) UNRELEASED; urgency=low
+
+ * Add 45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
+ to prevent XF86_APM_CAPABILITY_CHANGED from being issued for all ACPI
+ events, thanks Sjoerd Simons, closes: #461463.
+
+ -- Brice Goglin <bgoglin@debian.org> Fri, 18 Jan 2008 23:27:43 +0100
+
xorg-server (2:1.4.1~git20080118-1) unstable; urgency=low
[ Brice Goglin ]
diff --git a/debian/patches/45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff b/debian/patches/45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
new file mode 100644
index 0000000..56d5c98
--- /dev/null
+++ b/debian/patches/45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
@@ -0,0 +1,56 @@
+commit 74e84b8d891632141a60e2d29463ab46f622df3f
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Oct 19 17:28:15 2007 +0200
+
+ Only issue XF86_APM_CAPABILITY_CHANGED for video change ACPI events (not e.g. brightness etc.).
+
+diff --git a/hw/xfree86/os-support/linux/lnx_acpi.c b/hw/xfree86/os-support/linux/lnx_acpi.c
+index 9808e37..bb975cc 100644
+--- a/hw/xfree86/os-support/linux/lnx_acpi.c
++++ b/hw/xfree86/os-support/linux/lnx_acpi.c
+@@ -69,9 +69,11 @@ lnxACPIGetEventFromOs(int fd, pmEvent *events, int num)
+ TimerSet(NULL, 0, ACPI_REOPEN_DELAY, lnxACPIReopen, NULL);
+ return 0;
+ }
++ /* FIXME: this only processes the first read ACPI event & might break
++ * with interrupted reads. */
+
+ /* Check that we have a video event */
+- if (strstr(ev, "video") == ev) {
++ if (!strncmp(ev, "video", 5)) {
+ char *video = NULL;
+ char *GFX = NULL;
+ char *notify = NULL;
+@@ -97,26 +99,19 @@ lnxACPIGetEventFromOs(int fd, pmEvent *events, int num)
+ ErrorF("data: 0x%lx\n",data_l);
+ #endif
+
+- /* We currently don't differentiate between any event */
++ /* Differentiate between events */
+ switch (notify_l) {
+ case ACPI_VIDEO_NOTIFY_SWITCH:
+- break;
+- case ACPI_VIDEO_NOTIFY_PROBE:
+- break;
+ case ACPI_VIDEO_NOTIFY_CYCLE:
+- break;
+ case ACPI_VIDEO_NOTIFY_NEXT_OUTPUT:
+- break;
+ case ACPI_VIDEO_NOTIFY_PREV_OUTPUT:
+- break;
++ events[0] = XF86_APM_CAPABILITY_CHANGED;
++ return 1;
++ case ACPI_VIDEO_NOTIFY_PROBE:
++ return 0;
+ default:
+- break;
++ return 0;
+ }
+-
+- /* Deal with all ACPI events as a capability change */
+- events[0] = XF86_APM_CAPABILITY_CHANGED;
+-
+- return 1;
+ }
+
+ return 0;
diff --git a/debian/patches/series b/debian/patches/series
index 1612b7e..93b3c1a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -15,6 +15,7 @@
42_dont_break_grab_and_focus_for_window_when_redirecting.diff
43_allow_override_BIOS_EDID_preferred_mode.diff
44_preferredmode_infinite_loop.diff
+45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
#47_fbdevhw_magic_numbers.diff
#51_xkb-and-loathing.diff
91_ttf2pt1
Reply to: