diff --git a/xorg-server-1.7.99.902.tar.bz2 b/xorg-server-1.7.99.902.tar.bz2 new file mode 100644 index 0000000..2ba58f4 --- /dev/null +++ b/xorg-server-1.7.99.902.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef0b2e7bca72fcfad725526cc5c78bbff541fdd193e6c723de91004a41c16f36 +size 5091687 diff --git a/xorg-server-1.8.0.diff b/xorg-server-1.8.0.diff deleted file mode 100644 index 5568f45..0000000 --- a/xorg-server-1.8.0.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- config/Makefile.am.orig 2010-04-02 11:56:16.000000000 +0200 -+++ config/Makefile.am 2010-04-02 11:56:49.000000000 +0200 -@@ -9,7 +9,7 @@ - libconfig_la_SOURCES += udev.c - libconfig_la_LIBADD = $(UDEV_LIBS) - --xorgconfddir = $(prefix)/etc/X11/$(XF86CONFIGDIR) -+xorgconfddir = $(sysconfdir)/X11/$(XF86CONFIGDIR) - xorgconfd_DATA = 10-evdev.conf - - else diff --git a/xorg-server-1.8.0.tar.bz2 b/xorg-server-1.8.0.tar.bz2 deleted file mode 100644 index 53c17cb..0000000 --- a/xorg-server-1.8.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:423a8092e28affb83aa736695408e01fd4641040727f34ed6bcfae9c06018b77 -size 5097035 diff --git a/xorg-server-walk_drivers.diff b/xorg-server-walk_drivers.diff new file mode 100644 index 0000000..dc5fcbe --- /dev/null +++ b/xorg-server-walk_drivers.diff @@ -0,0 +1,123 @@ +commit 4da6cffa8b6169595ea447cc53dfab857c04db04 +Author: h_root +Date: Thu Mar 25 18:32:04 2010 +0100 + + when doing driver autoconfiguration with some parts of the config + file present but no driver set (e.g. only input configuration) + fix the case that we may have multiple drivers to try. + + create a screen section for each driver and let them be tried + in a row + +diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c +index 7f4ada8..56f7deb 100644 +--- a/hw/xfree86/common/xf86AutoConfig.c ++++ b/hw/xfree86/common/xf86AutoConfig.c +@@ -546,10 +546,41 @@ chooseVideoDriver(void) + return chosen_driver; + } + ++ ++/* copy a screen section and enter the desired driver ++ * and insert it at i in the list of screens */ ++static Bool ++copyScreen(confScreenPtr oscreen, GDevPtr odev, int i, char *driver) ++{ ++ GDevPtr cptr = NULL; ++ ++ xf86ConfigLayout.screens[i].screen = xnfcalloc(1, sizeof(confScreenRec)); ++ if(!xf86ConfigLayout.screens[i].screen) ++ return FALSE; ++ memcpy(xf86ConfigLayout.screens[i].screen, oscreen, sizeof(confScreenRec)); ++ ++ cptr = xcalloc(1, sizeof(GDevRec)); ++ if (!cptr) ++ return FALSE; ++ memcpy(cptr, odev, sizeof(GDevRec)); ++ ++ cptr->identifier = Xprintf("Autoconfigured Video Device %s", driver); ++ cptr->driver = driver; ++ ++ /* now associate the new driver entry with the new screen entry */ ++ xf86ConfigLayout.screens[i].screen->device = cptr; ++ cptr->myScreenSection = xf86ConfigLayout.screens[i].screen; ++ ++ return TRUE; ++} ++ + GDevPtr + autoConfigDevice(GDevPtr preconf_device) + { + GDevPtr ptr = NULL; ++ char *matches[20]; /* If we have more than 20 drivers we're in trouble */ ++ int num_matches = 0, num_screens = 0, i; ++ screenLayoutPtr slp; + + if (!xf86configptr) { + return NULL; +@@ -573,14 +604,59 @@ autoConfigDevice(GDevPtr preconf_device) + ptr->driver = NULL; + } + if (!ptr->driver) { +- ptr->driver = chooseVideoDriver(); +- } ++ /* get all possible video drivers and count them */ ++ listPossibleVideoDrivers(matches, 20); ++ for (; matches[num_matches]; num_matches++) { ++ xf86Msg(X_DEFAULT, "Matched %s as autoconfigured driver %d\n", ++ matches[num_matches], num_matches); ++ } ++ ++ slp = xf86ConfigLayout.screens; ++ if (slp) { ++ /* count the number of screens and make space for ++ * a new screen for each additional possible driver ++ * minus one for the already existing first one ++ * plus one for the terminating NULL */ ++ for (; slp[num_screens].screen; num_screens++); ++ xf86ConfigLayout.screens = xnfcalloc(num_screens + num_matches, ++ sizeof(screenLayoutRec)); ++ xf86ConfigLayout.screens[0] = slp[0]; ++ ++ /* do the first match and set that for the original first screen */ ++ ptr->driver = matches[0]; ++ if (!xf86ConfigLayout.screens[0].screen->device) { ++ xf86ConfigLayout.screens[0].screen->device = ptr; ++ ptr->myScreenSection = xf86ConfigLayout.screens[0].screen; ++ } ++ ++ /* for each other driver found, copy the first screen, insert it ++ * into the list of screens and set the driver */ ++ i = 0; ++ while (i++ < num_matches) { ++ if (!copyScreen(slp[0].screen, ptr, i, matches[i])) ++ return NULL; ++ } + +- /* TODO Handle multiple screen sections */ +- if (xf86ConfigLayout.screens && !xf86ConfigLayout.screens->screen->device) { +- xf86ConfigLayout.screens->screen->device = ptr; +- ptr->myScreenSection = xf86ConfigLayout.screens->screen; ++ /* shift the rest of the original screen list ++ * to the end of the current screen list ++ * ++ * TODO Handle rest of multiple screen sections */ ++ for (i = 1; i < num_screens; i++) { ++ xf86ConfigLayout.screens[i+num_matches] = slp[i]; ++ } ++ xf86ConfigLayout.screens[num_screens+num_matches-1].screen = NULL; ++ xfree(slp); ++ } else { ++ /* layout does not have any screens, not much to do */ ++ ptr->driver = matches[0]; ++ for (i = 1; matches[i] ; i++) { ++ if (matches[i] != matches[0]) { ++ xfree(matches[i]); ++ } ++ } ++ } + } ++ + xf86Msg(X_DEFAULT, "Assigned the driver to the xf86ConfigLayout\n"); + + return ptr; diff --git a/xorg-server-xf4vnc.patch b/xorg-server-xf4vnc.patch index 55f8182..d967178 100644 --- a/xorg-server-xf4vnc.patch +++ b/xorg-server-xf4vnc.patch @@ -134,7 +134,8 @@ Index: xorg-server-1.6.3.901/Makefile.am if XQUARTZ XQUARTZ_SUBDIRS = xquartz endif -@@ -33,8 +37,9 @@ +@@ -32,10 +36,11 @@ + $(XVFB_SUBDIRS) \ $(XNEST_SUBDIRS) \ $(DMX_SUBDIRS) \ + $(VNC_SUBDIRS) \ @@ -145,6 +146,7 @@ Index: xorg-server-1.6.3.901/Makefile.am +DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive vnc relink: + for i in $(SUBDIRS) ; do $(MAKE) -C $$i relink ; done --- xorg-server-1.7.99/hw/dmx/Makefile.am +++ xorg-server-1.7.99/hw/dmx/Makefile.am @@ -1,6 +1,6 @@ diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index 9020bf7..52f2f6f 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,12 +1,3 @@ -------------------------------------------------------------------- -Fri Apr 2 11:33:28 CEST 2010 - sndirsch@suse.de - -- update to 1.8 -- obsoletes xorg-server-walk_drivers.diff -- adjusted xorg-server-xf4vnc.patch -- xorg-server-1.8.0.diff - * install evdev config file to the right directory - ------------------------------------------------------------------- Fri Mar 26 02:45:15 CET 2010 - sndirsch@suse.de diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 28892fc..58f3e6d 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -1,5 +1,5 @@ # -# spec file for package xorg-x11-server (Version 7.5_1.8.0) +# spec file for package xorg-x11-server (Version 7.5_1.7.99.902) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -20,7 +20,7 @@ %define moblin 0 Name: xorg-x11-server -%define dirsuffix 1.8.0 +%define dirsuffix 1.7.99.902 %define fglrx_driver_hack 0 ### FIXME %define vnc 1 @@ -106,6 +106,7 @@ Patch129: bug474071-fix1.diff Patch132: fixed-SYNC-extension-trigger-BlockHandler-test.diff Patch143: autoconfig_fallback_fbdev_first.diff Patch145: driver-autoconfig.diff +Patch146: xorg-server-walk_drivers.diff Patch147: xserver-1.6.1-nouveau.patch # Moblin Patch162: cache-xkbcomp-output-for-fast-start-up.patch @@ -125,7 +126,6 @@ Patch200: bug534768-prefer_local_symbols.patch Patch202: 0001-Check-harder-for-primary-PCI-device.patch Patch203: 0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch Patch204: missing_font_paths.diff -Patch205: xorg-server-1.8.0.diff %description This package contains the X.Org Server. @@ -229,6 +229,7 @@ popd %patch132 -p1 %patch143 -p0 %patch145 -p0 +%patch146 -p1 %patch147 -p1 %patch162 -p1 %if %moblin @@ -248,7 +249,6 @@ popd %patch202 -p1 %patch203 -p1 %patch204 -p0 -%patch205 -p0 %build pushd xorg-docs-* @@ -553,10 +553,6 @@ exit 0 %ifnarch s390 s390x /var/adm/fillup-templates/sysconfig.displaymanager-%name %endif -%if %suse_version > 1120 -%dir /etc/X11/xorg.conf.d -/etc/X11/xorg.conf.d/10-evdev.conf -%endif %files extra %defattr(-,root,root)