forked from pool/xorg-x11-server
This commit is contained in:
parent
7c9438d00b
commit
4521bf8ff9
26
commit-29e0e18.diff
Normal file
26
commit-29e0e18.diff
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
commit 29e0e180729a4f0cc020985a4de4c8bc4b9c7f5f
|
||||||
|
Author: Keith Packard <keithp@koto.keithp.com>
|
||||||
|
Date: Mon Oct 22 13:38:16 2007 -0700
|
||||||
|
|
||||||
|
Leave hardware-specified preferred modes alone when user preference exists.
|
||||||
|
|
||||||
|
Instead of removing the preference bit marking the hardware declared mode
|
||||||
|
preference, leave it in place and just move the user preferred mode to the
|
||||||
|
front of the list while marking it with the USERPREF bit which will cause it
|
||||||
|
to be selected by the initial mode selection code.
|
||||||
|
|
||||||
|
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
|
||||||
|
index 0a48d5b..bb416fd 100644
|
||||||
|
--- a/hw/xfree86/modes/xf86Crtc.c
|
||||||
|
+++ b/hw/xfree86/modes/xf86Crtc.c
|
||||||
|
@@ -1417,9 +1417,8 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
|
||||||
|
output->probed_modes = mode;
|
||||||
|
}
|
||||||
|
mode->type |= (M_T_PREFERRED|M_T_USERPREF);
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
- else
|
||||||
|
- mode->type &= ~M_T_PREFERRED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
130
commit-feac075.diff
Normal file
130
commit-feac075.diff
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
commit feac0759522cbdc3e61ccfa373df735903c5cb27
|
||||||
|
Author: Keith Packard <keithp@koto.keithp.com>
|
||||||
|
Date: Wed Oct 17 11:42:28 2007 +0800
|
||||||
|
|
||||||
|
Make config file preferred mode override monitor preferred mode.
|
||||||
|
|
||||||
|
Add a new even-more-preferred bit to each mode which is used to make config
|
||||||
|
file preferences selected instead of the monitor preferred mode.
|
||||||
|
|
||||||
|
diff --git a/hw/xfree86/common/xf86str.h b/hw/xfree86/common/xf86str.h
|
||||||
|
index 0365ddd..af98b4f 100644
|
||||||
|
--- a/hw/xfree86/common/xf86str.h
|
||||||
|
+++ b/hw/xfree86/common/xf86str.h
|
||||||
|
@@ -142,6 +142,7 @@ typedef enum {
|
||||||
|
# define M_T_DEFAULT 0x10 /* (VESA) default modes */
|
||||||
|
# define M_T_USERDEF 0x20 /* One of the modes from the config file */
|
||||||
|
# define M_T_DRIVER 0x40 /* Supplied by the driver (EDID, etc) */
|
||||||
|
+# define M_T_USERPREF 0x80 /* mode preferred by the user config */
|
||||||
|
|
||||||
|
/* Video mode */
|
||||||
|
typedef struct _DisplayModeRec {
|
||||||
|
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
|
||||||
|
index f589b5a..0a48d5b 100644
|
||||||
|
--- a/hw/xfree86/modes/xf86Crtc.c
|
||||||
|
+++ b/hw/xfree86/modes/xf86Crtc.c
|
||||||
|
@@ -711,7 +711,8 @@ xf86DefaultMode (xf86OutputPtr output, int width, int height)
|
||||||
|
for (mode = output->probed_modes; mode; mode = mode->next)
|
||||||
|
{
|
||||||
|
int dpi;
|
||||||
|
- int preferred = (mode->type & M_T_PREFERRED) != 0;
|
||||||
|
+ int preferred = (((mode->type & M_T_PREFERRED) != 0) +
|
||||||
|
+ ((mode->type & M_T_USERPREF) != 0));
|
||||||
|
int diff;
|
||||||
|
|
||||||
|
if (xf86ModeWidth (mode, output->initial_rotation) > width ||
|
||||||
|
@@ -1415,7 +1416,7 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
|
||||||
|
mode->prev = NULL;
|
||||||
|
output->probed_modes = mode;
|
||||||
|
}
|
||||||
|
- mode->type |= M_T_PREFERRED;
|
||||||
|
+ mode->type |= (M_T_PREFERRED|M_T_USERPREF);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
mode->type &= ~M_T_PREFERRED;
|
||||||
|
@@ -1532,6 +1533,7 @@ xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow)
|
||||||
|
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
|
||||||
|
int o, c;
|
||||||
|
DisplayModePtr target_mode = NULL;
|
||||||
|
+ int target_preferred = 0;
|
||||||
|
Rotation target_rotation = RR_Rotate_0;
|
||||||
|
xf86CrtcPtr *crtcs;
|
||||||
|
DisplayModePtr *modes;
|
||||||
|
@@ -1572,43 +1574,34 @@ xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow)
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
- * Let outputs with preferred modes drive screen size
|
||||||
|
+ * User preferred > preferred > other modes
|
||||||
|
*/
|
||||||
|
for (o = 0; o < config->num_output; o++)
|
||||||
|
{
|
||||||
|
- xf86OutputPtr output = config->output[o];
|
||||||
|
+ xf86OutputPtr output = config->output[o];
|
||||||
|
+ DisplayModePtr default_mode;
|
||||||
|
+ int default_preferred;
|
||||||
|
|
||||||
|
- if (enabled[o] &&
|
||||||
|
- xf86OutputHasPreferredMode (output, width, height))
|
||||||
|
+ if (!enabled[o])
|
||||||
|
+ continue;
|
||||||
|
+ default_mode = xf86DefaultMode (output, width, height);
|
||||||
|
+ if (!default_mode)
|
||||||
|
+ continue;
|
||||||
|
+ default_preferred = (((default_mode->type & M_T_PREFERRED) != 0) +
|
||||||
|
+ ((default_mode->type & M_T_USERPREF) != 0));
|
||||||
|
+ if (default_preferred > target_preferred || !target_mode)
|
||||||
|
{
|
||||||
|
- target_mode = xf86DefaultMode (output, width, height);
|
||||||
|
+ target_mode = default_mode;
|
||||||
|
+ target_preferred = default_preferred;
|
||||||
|
target_rotation = output->initial_rotation;
|
||||||
|
- if (target_mode)
|
||||||
|
- {
|
||||||
|
- modes[o] = target_mode;
|
||||||
|
- config->compat_output = o;
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- if (!target_mode)
|
||||||
|
- {
|
||||||
|
- for (o = 0; o < config->num_output; o++)
|
||||||
|
- {
|
||||||
|
- xf86OutputPtr output = config->output[o];
|
||||||
|
- if (enabled[o])
|
||||||
|
- {
|
||||||
|
- target_mode = xf86DefaultMode (output, width, height);
|
||||||
|
- target_rotation = output->initial_rotation;
|
||||||
|
- if (target_mode)
|
||||||
|
- {
|
||||||
|
- modes[o] = target_mode;
|
||||||
|
- config->compat_output = o;
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
+ config->compat_output = o;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ if (target_mode)
|
||||||
|
+ modes[config->compat_output] = target_mode;
|
||||||
|
+ /*
|
||||||
|
+ * Fill in other output modes
|
||||||
|
+ */
|
||||||
|
for (o = 0; o < config->num_output; o++)
|
||||||
|
{
|
||||||
|
xf86OutputPtr output = config->output[o];
|
||||||
|
diff --git a/hw/xfree86/modes/xf86Crtc.h b/hw/xfree86/modes/xf86Crtc.h
|
||||||
|
index 9693e12..4c843cd 100644
|
||||||
|
--- a/hw/xfree86/modes/xf86Crtc.h
|
||||||
|
+++ b/hw/xfree86/modes/xf86Crtc.h
|
||||||
|
@@ -39,6 +39,9 @@
|
||||||
|
#ifndef M_T_DRIVER
|
||||||
|
#define M_T_DRIVER 0x40
|
||||||
|
#endif
|
||||||
|
+#ifndef M_T_USERPREF
|
||||||
|
+#define M_T_USERPREF 0x80
|
||||||
|
+#endif
|
||||||
|
#ifndef HARDWARE_CURSOR_ARGB
|
||||||
|
#define HARDWARE_CURSOR_ARGB 0x00004000
|
||||||
|
#endif
|
14
ia64linuxPciInit.diff
Normal file
14
ia64linuxPciInit.diff
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
--- hw/xfree86/os-support/bus/linuxPci.c
|
||||||
|
+++ hw/xfree86/os-support/bus/linuxPci.c
|
||||||
|
@@ -999,7 +999,10 @@ ia64linuxPciInit()
|
||||||
|
struct stat st;
|
||||||
|
|
||||||
|
linuxPciInit();
|
||||||
|
-
|
||||||
|
+
|
||||||
|
+ /* Need space for fake devices. */
|
||||||
|
+ xf86MaxPciDevs = MAX_PCI_DEVICES;
|
||||||
|
+
|
||||||
|
if (!stat("/proc/sgi_sn/licenseID", &st) && pciNumBuses) {
|
||||||
|
/* Be a little paranoid here and only use this code for Altix systems.
|
||||||
|
* It is generic, so it should work on any system, but depends on
|
@ -1,22 +0,0 @@
|
|||||||
--- xorg-server-1.3.0.0/hw/xfree86/modes/xf86Crtc.c.deadloop 2007-10-01 11:46:05.000000000 +0200
|
|
||||||
+++ xorg-server-1.3.0.0/hw/xfree86/modes/xf86Crtc.c 2007-10-01 11:53:35.000000000 +0200
|
|
||||||
@@ -1415,9 +1415,10 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn,
|
|
||||||
|
|
||||||
if (preferred_mode)
|
|
||||||
{
|
|
||||||
+ int found = 0;
|
|
||||||
for (mode = output->probed_modes; mode; mode = mode->next)
|
|
||||||
{
|
|
||||||
- if (!strcmp (preferred_mode, mode->name))
|
|
||||||
+ if (!found && !strcmp (preferred_mode, mode->name))
|
|
||||||
{
|
|
||||||
if (mode != output->probed_modes)
|
|
||||||
{
|
|
||||||
@@ -1431,6 +1432,7 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn,
|
|
||||||
output->probed_modes = mode;
|
|
||||||
}
|
|
||||||
mode->type |= M_T_PREFERRED;
|
|
||||||
+ found = 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
mode->type &= ~M_T_PREFERRED;
|
|
@ -1,3 +1,24 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 15 22:00:47 CET 2007 - sndirsch@suse.de
|
||||||
|
|
||||||
|
- commit-29e0e18.diff
|
||||||
|
* Make config file preferred mode override monitor preferred
|
||||||
|
mode.
|
||||||
|
- commit-feac075.diff
|
||||||
|
* Leave hardware-specified preferred modes alone when user
|
||||||
|
preference exists.
|
||||||
|
- obsoletes preferred_mode-fix.diff
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 15 15:47:36 CET 2007 - sndirsch@suse.de
|
||||||
|
|
||||||
|
- added xorg-x11-fonts-core/xorg-x11 to Requires (Bug #341312)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 14 17:18:00 CET 2007 - schwab@suse.de
|
||||||
|
|
||||||
|
- ia64linuxPciInit: allocate extra space for fake devices.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Nov 10 20:09:23 CET 2007 - sndirsch@suse.de
|
Sat Nov 10 20:09:23 CET 2007 - sndirsch@suse.de
|
||||||
|
|
||||||
|
@ -21,11 +21,11 @@ BuildRequires: libjpeg-devel
|
|||||||
Url: http://xorg.freedesktop.org/
|
Url: http://xorg.freedesktop.org/
|
||||||
%define EXPERIMENTAL 0
|
%define EXPERIMENTAL 0
|
||||||
Version: 7.3
|
Version: 7.3
|
||||||
Release: 25
|
Release: 27
|
||||||
License: X11/MIT
|
License: X11/MIT
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Group: System/X11/Servers/XF86_4
|
Group: System/X11/Servers/XF86_4
|
||||||
Requires: pkgconfig xorg-x11-fonts-core
|
Requires: pkgconfig xorg-x11-fonts-core xorg-x11
|
||||||
%if %suse_version > 1010
|
%if %suse_version > 1010
|
||||||
%ifnarch s390 s390x
|
%ifnarch s390 s390x
|
||||||
Requires: xorg-x11-driver-input xorg-x11-driver-video
|
Requires: xorg-x11-driver-input xorg-x11-driver-video
|
||||||
@ -86,7 +86,9 @@ Patch77: fbdevhw.diff
|
|||||||
Patch79: edit_data_sanity_check.diff
|
Patch79: edit_data_sanity_check.diff
|
||||||
Patch80: pixman.diff
|
Patch80: pixman.diff
|
||||||
Patch81: xserver-1.3.0-xkb-and-loathing.patch
|
Patch81: xserver-1.3.0-xkb-and-loathing.patch
|
||||||
Patch82: preferred_mode-fix.diff
|
Patch83: ia64linuxPciInit.diff
|
||||||
|
Patch84: commit-feac075.diff
|
||||||
|
Patch85: commit-29e0e18.diff
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This package contains the X.Org Server.
|
This package contains the X.Org Server.
|
||||||
@ -98,7 +100,7 @@ Summary: Additional Xservers (Xdmx, Xephyr, Xnest, Xvfb)
|
|||||||
Group: System/X11/Servers/XF86_4
|
Group: System/X11/Servers/XF86_4
|
||||||
Provides: xorg-x11-Xnest xorg-x11-Xvfb xorg-x11-server:/usr/bin/Xdmx
|
Provides: xorg-x11-Xnest xorg-x11-Xvfb xorg-x11-server:/usr/bin/Xdmx
|
||||||
Obsoletes: xorg-x11-Xnest xorg-x11-Xvfb
|
Obsoletes: xorg-x11-Xnest xorg-x11-Xvfb
|
||||||
Requires: xorg-x11-fonts-core
|
Requires: xorg-x11-fonts-core xorg-x11
|
||||||
AutoReqProv: on
|
AutoReqProv: on
|
||||||
|
|
||||||
%description extra
|
%description extra
|
||||||
@ -125,6 +127,7 @@ This package contains the X.Org Server SDK.
|
|||||||
%package -n xorg-x11-Xvnc
|
%package -n xorg-x11-Xvnc
|
||||||
Summary: VNC Server for the X Window System
|
Summary: VNC Server for the X Window System
|
||||||
Group: System/X11/Servers/XF86_4
|
Group: System/X11/Servers/XF86_4
|
||||||
|
Requires: xorg-x11-fonts-core xorg-x11
|
||||||
Provides: vnc:/usr/X11R6/bin/Xvnc XFree86-Xvnc
|
Provides: vnc:/usr/X11R6/bin/Xvnc XFree86-Xvnc
|
||||||
Obsoletes: XFree86-Xvnc
|
Obsoletes: XFree86-Xvnc
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
@ -198,7 +201,9 @@ popd
|
|||||||
%patch79 -p1
|
%patch79 -p1
|
||||||
%patch80
|
%patch80
|
||||||
%patch81 -p1
|
%patch81 -p1
|
||||||
%patch82 -p1
|
%patch83
|
||||||
|
%patch84 -p1
|
||||||
|
%patch85 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
pushd xorg-docs-*
|
pushd xorg-docs-*
|
||||||
@ -527,6 +532,18 @@ exit 0
|
|||||||
/usr/bin/Xvnc
|
/usr/bin/Xvnc
|
||||||
%endif
|
%endif
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Nov 15 2007 - sndirsch@suse.de
|
||||||
|
- commit-29e0e18.diff
|
||||||
|
* Make config file preferred mode override monitor preferred
|
||||||
|
mode.
|
||||||
|
- commit-feac075.diff
|
||||||
|
* Leave hardware-specified preferred modes alone when user
|
||||||
|
preference exists.
|
||||||
|
- obsoletes preferred_mode-fix.diff
|
||||||
|
* Thu Nov 15 2007 - sndirsch@suse.de
|
||||||
|
- added xorg-x11-fonts-core/xorg-x11 to Requires (Bug #341312)
|
||||||
|
* Wed Nov 14 2007 - schwab@suse.de
|
||||||
|
- ia64linuxPciInit: allocate extra space for fake devices.
|
||||||
* Sat Nov 10 2007 - sndirsch@suse.de
|
* Sat Nov 10 2007 - sndirsch@suse.de
|
||||||
- updated to Mesa 7.0.2 (final) sources
|
- updated to Mesa 7.0.2 (final) sources
|
||||||
* Wed Oct 31 2007 - sndirsch@suse.de
|
* Wed Oct 31 2007 - sndirsch@suse.de
|
||||||
|
Loading…
Reference in New Issue
Block a user