You have been requested to review the proposed merge of lp:~andrikos/ubuntu/quantal/xserver-xorg-video-intel/fix-ati-hybrid into lp:ubuntu/quantal/xserver-xorg-video-intel.
For more details, see: https://code.launchpad.net/~andrikos/ubuntu/quantal/xserver-xorg-video-intel/fix-ati-hybrid/+merge/132956 This update includes a patch to revert a speicific commit of the upstream intel driver that breaks ati/intel hybrid systems. -- https://code.launchpad.net/~andrikos/ubuntu/quantal/xserver-xorg-video-intel/fix-ati-hybrid/+merge/132956 Your team Ubuntu-X is requested to review the proposed merge of lp:~andrikos/ubuntu/quantal/xserver-xorg-video-intel/fix-ati-hybrid into lp:ubuntu/quantal/xserver-xorg-video-intel.
=== modified file 'debian/changelog' --- debian/changelog 2012-10-01 15:39:54 +0000 +++ debian/changelog 2012-11-05 20:59:20 +0000 @@ -1,3 +1,10 @@ +xserver-xorg-video-intel (2:2.20.9-0ubuntu2+andrik1) quantal; urgency=low + + * Add fix-ati-hybrid.patch to fix ATI/Intel hybrid setups + (LP: #1068661) + + -- Nick Andrik <nick.and...@gmail.com> Mon, 05 Nov 2012 21:54:26 +0100 + xserver-xorg-video-intel (2:2.20.9-0ubuntu2) quantal; urgency=low [ Maarten Lankhorst ] === added file 'debian/patches/fix-ati-hybrid.patch' --- debian/patches/fix-ati-hybrid.patch 1970-01-01 00:00:00 +0000 +++ debian/patches/fix-ati-hybrid.patch 2012-11-05 20:59:20 +0000 @@ -0,0 +1,155 @@ +Fixes regression for ati/intel hybrid systems +by reverting some commits of xf86-video-intel: + + commit 05dcc5f1699ba90fc14c50882e8d4be89bc4a4f9 + Author: Chris Wilson <ch...@chris-wilson.co.uk> + Date: Fri Aug 3 15:08:45 2012 +0100 + + Pass the chipset info through driverPrivate rather than a global pointer + + +Nick Andrik <nick.and...@gmail.com> +Index: xserver-xorg-video-intel-2.20.9/src/intel_driver.c +=================================================================== +--- xserver-xorg-video-intel-2.20.9.orig/src/intel_driver.c 2012-10-30 02:54:05.456713161 +0100 ++++ xserver-xorg-video-intel-2.20.9/src/intel_driver.c 2012-10-30 02:54:16.186075606 +0100 +@@ -185,7 +185,7 @@ + static void intel_check_chipset_option(ScrnInfoPtr scrn) + { + intel_screen_private *intel = intel_get_screen_private(scrn); +- intel_detect_chipset(scrn, intel->pEnt, intel->PciInfo); ++ intel->info = intel_detect_chipset(scrn, intel->pEnt, intel->PciInfo); + } + + static Bool I830GetEarlyOptions(ScrnInfoPtr scrn) +@@ -491,15 +491,14 @@ + if (flags & PROBE_DETECT) + return TRUE; + +- if (((uintptr_t)scrn->driverPrivate) & 1) { +- intel = xnfcalloc(sizeof(*intel), 1); ++ intel = intel_get_screen_private(scrn); ++ if (intel == NULL) { ++ intel = xnfcalloc(sizeof(intel_screen_private), 1); + if (intel == NULL) + return FALSE; + +- intel->info = (void *)((uintptr_t)scrn->driverPrivate & ~1); + scrn->driverPrivate = intel; + } +- intel = intel_get_screen_private(scrn); + intel->scrn = scrn; + intel->pEnt = pEnt; + +Index: xserver-xorg-video-intel-2.20.9/src/intel_driver.h +=================================================================== +--- xserver-xorg-video-intel-2.20.9.orig/src/intel_driver.h 2012-10-30 02:54:05.456713161 +0100 ++++ xserver-xorg-video-intel-2.20.9/src/intel_driver.h 2012-10-30 02:54:16.186075606 +0100 +@@ -277,9 +277,9 @@ + int gen; + }; + +-void intel_detect_chipset(ScrnInfoPtr scrn, +- EntityInfoPtr ent, +- struct pci_device *pci); ++const struct intel_device_info * ++intel_detect_chipset(ScrnInfoPtr scrn, ++ EntityInfoPtr ent, struct pci_device *pci); + + + #endif /* INTEL_DRIVER_H */ +Index: xserver-xorg-video-intel-2.20.9/src/intel_module.c +=================================================================== +--- xserver-xorg-video-intel-2.20.9.orig/src/intel_module.c 2012-10-30 02:54:05.456713161 +0100 ++++ xserver-xorg-video-intel-2.20.9/src/intel_module.c 2012-10-30 02:54:16.186075606 +0100 +@@ -51,6 +51,8 @@ + #include <xf86platformBus.h> + #endif + ++static struct intel_device_info *chipset_info; ++ + static const struct intel_device_info intel_generic_info = { + .gen = -1, + }; +@@ -315,10 +317,9 @@ + { 0, 0, 0 }, + }; + +-void ++const struct intel_device_info * + intel_detect_chipset(ScrnInfoPtr scrn, +- EntityInfoPtr ent, +- struct pci_device *pci) ++ EntityInfoPtr ent, struct pci_device *pci) + { + MessageType from = X_PROBED; + const char *name = NULL; +@@ -347,6 +348,7 @@ + } + + scrn->chipset = name; ++ return chipset_info; + } + + /* +@@ -481,6 +483,8 @@ + PciChipsets intel_pci_chipsets[NUM_CHIPSETS]; + unsigned i; + ++ chipset_info = (void *)match_data; ++ + if (!has_kernel_mode_setting(device)) { + #if KMS_ONLY + return FALSE; +@@ -515,7 +519,6 @@ + scrn->driverVersion = INTEL_VERSION; + scrn->driverName = INTEL_DRIVER_NAME; + scrn->name = INTEL_NAME; +- scrn->driverPrivate = (void *)(match_data | 1); + scrn->Probe = NULL; + + #if !KMS_ONLY +Index: xserver-xorg-video-intel-2.20.9/src/legacy/i810/i810_driver.c +=================================================================== +--- xserver-xorg-video-intel-2.20.9.orig/src/legacy/i810/i810_driver.c 2012-10-30 02:54:05.456713161 +0100 ++++ xserver-xorg-video-intel-2.20.9/src/legacy/i810/i810_driver.c 2012-10-30 02:54:16.186075606 +0100 +@@ -151,7 +151,7 @@ + static Bool + I810GetRec(ScrnInfoPtr scrn) + { +- if (((uintptr_t)scrn->driverPrivate & 1) == 0) ++ if (scrn->driverPrivate) + return TRUE; + + scrn->driverPrivate = xnfcalloc(sizeof(I810Rec), 1); +Index: xserver-xorg-video-intel-2.20.9/src/sna/sna_driver.c +=================================================================== +--- xserver-xorg-video-intel-2.20.9.orig/src/sna/sna_driver.c 2012-10-30 02:54:05.456713161 +0100 ++++ xserver-xorg-video-intel-2.20.9/src/sna/sna_driver.c 2012-10-30 02:54:16.190077605 +0100 +@@ -407,15 +407,14 @@ + + sna_selftest(); + +- if (((uintptr_t)scrn->driverPrivate) & 1) { ++ sna = to_sna(scrn); ++ if (sna == NULL) { + sna = xnfcalloc(sizeof(struct sna), 1); + if (sna == NULL) + return FALSE; + +- sna->info = (void *)((uintptr_t)scrn->driverPrivate & ~1); + scrn->driverPrivate = sna; + } +- sna = to_sna(scrn); + sna->scrn = scrn; + sna->pEnt = pEnt; + +@@ -465,7 +464,7 @@ + + sna_setup_capabilities(scrn, fd); + +- intel_detect_chipset(scrn, sna->pEnt, sna->PciInfo); ++ sna->info = intel_detect_chipset(scrn, sna->pEnt, sna->PciInfo); + + kgem_init(&sna->kgem, fd, sna->PciInfo, sna->info->gen); + if (xf86ReturnOptValBool(sna->Options, OPTION_ACCEL_DISABLE, FALSE)) { === modified file 'debian/patches/series' --- debian/patches/series 2012-10-01 15:39:54 +0000 +++ debian/patches/series 2012-11-05 20:59:20 +0000 @@ -1,1 +1,2 @@ fix-glamor-check.diff +fix-ati-hybrid.patch
_______________________________________________ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp