diff -u compiz-0.8.6/debian/changelog compiz-0.8.6/debian/changelog --- compiz-0.8.6/debian/changelog +++ compiz-0.8.6/debian/changelog @@ -1,3 +1,11 @@ +compiz (1:0.8.6-0ubuntu7) maverick; urgency=low + + * 060_move_checks_to_compiz.patch: Remove Sandybridge bridge devices from + the blacklist, they were preventing compiz from loading on machines + with discreet GPU's as well. (LP: #644372) + + -- Robert Hooker Tue, 21 Sep 2010 09:46:36 -0400 + compiz (1:0.8.6-0ubuntu6) maverick; urgency=low * Update 060_move_checks_to_compiz.patch to add Intel Sandybridge pci id's diff -u compiz-0.8.6/debian/patches/060_move_checks_to_compiz.patch compiz-0.8.6/debian/patches/060_move_checks_to_compiz.patch --- compiz-0.8.6/debian/patches/060_move_checks_to_compiz.patch +++ compiz-0.8.6/debian/patches/060_move_checks_to_compiz.patch @@ -4,26 +4,23 @@ need to check twice. Origin: vendor, ubuntu (1:0.8.4-0ubuntu4) diff --git a/src/main.c b/src/main.c -index 0427975..fb7581b 100644 +index 0427975..d703024 100644 --- a/src/main.c +++ b/src/main.c -@@ -74,6 +74,23 @@ Bool useCow = TRUE; +@@ -74,6 +74,20 @@ Bool useCow = TRUE; CompMetadata coreMetadata; +char *blacklist[] = { + "8086:3577", /* Intel 830MG, 845G (LP: #259385) */ + "8086:2562", -+ "8086:0100", /* Intel Sandybridge Desktop Chipsets (LP: #633376) */ -+ "8086:0102", ++ "8086:0102", /* Intel Sandybridge Desktop Chipsets (LP: #633376) */ + "8086:0112", + "8086:0122", -+ "8086:0104", /* Intel Sandybridge Mobile Chipsets */ -+ "8086:0106", ++ "8086:0106", /* Intel Sandybridge Mobile Chipsets */ + "8086:0116", + "8086:0126", -+ "8086:0108", /* Intel Sandybridge Server Chipsets */ -+ "8086:010A", ++ "8086:010A", /* Intel Sandybridge Server Chipsets */ + + NULL +}; @@ -31,7 +28,7 @@ static void usage (void) { -@@ -157,6 +174,28 @@ logLevelToString (CompLogLevel level) +@@ -157,6 +171,28 @@ logLevelToString (CompLogLevel level) return "Unknown"; } @@ -60,7 +57,7 @@ static void signalHandler (int sig) { -@@ -166,6 +205,9 @@ signalHandler (int sig) +@@ -166,6 +202,9 @@ signalHandler (int sig) case SIGCHLD: waitpid (-1, &status, WNOHANG | WUNTRACED); break; @@ -70,7 +67,7 @@ case SIGHUP: restartSignal = TRUE; break; -@@ -259,15 +301,35 @@ main (int argc, char **argv) +@@ -259,15 +298,35 @@ main (int argc, char **argv) Bool disableSm = FALSE; char *clientId = NULL; char *refreshRateArg = NULL; @@ -106,7 +103,7 @@ emptyRegion.rects = &emptyRegion.extents; emptyRegion.numRects = 0; -@@ -286,6 +348,13 @@ main (int argc, char **argv) +@@ -286,6 +345,13 @@ main (int argc, char **argv) memset (&ctx, 0, sizeof (ctx)); @@ -120,7 +117,7 @@ for (i = 1; i < argc; i++) { if (!strcmp (argv[i], "--help")) -@@ -388,6 +457,16 @@ main (int argc, char **argv) +@@ -388,6 +454,16 @@ main (int argc, char **argv) } } @@ -137,7 +134,7 @@ if (refreshRateArg) { ctx.refreshRateData = malloc (strlen (refreshRateArg) + 256); -@@ -459,10 +538,20 @@ main (int argc, char **argv) +@@ -459,10 +535,20 @@ main (int argc, char **argv) coreInitialized = TRUE; if (!disableSm)