Hello community,
here is the log from the commit of package compiz
checked in at Fri Mar 21 03:48:16 CET 2008.
--------
--- compiz/compiz.changes 2008-03-14 17:48:07.000000000 +0100
+++ compiz/compiz.changes 2008-03-20 15:44:39.000000000 +0100
@@ -1,0 +2,12 @@
+Wed Mar 19 15:59:55 CET 2008 - mhopf@suse.de
+
+- exec'ing decorator in compiz-decorator.
+- Redirecting in/out of director from/to /dev/null.
+- Updated compiz-core-default-plugins.diff to fix strange bug WRT gconf.
+
+-------------------------------------------------------------------
+Wed Mar 19 12:56:44 CET 2008 - mhopf@suse.de
+
+- Rewrote libIndirectGL patch to really support AIGLX and Xgl on all cards.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ compiz.spec ++++++
--- /var/tmp/diff_new_pack.v18571/_old 2008-03-21 03:44:40.000000000 +0100
+++ /var/tmp/diff_new_pack.v18571/_new 2008-03-21 03:44:40.000000000 +0100
@@ -35,7 +35,7 @@
Enhances: xgl >= git_070104
AutoReqProv: on
Version: 0.7.2
-Release: 6
+Release: 10
Requires: compiz-decorator = %{version}
Summary: OpenGL window and compositing manager.
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -353,6 +353,12 @@
%endif
%changelog
+* Wed Mar 19 2008 mhopf@suse.de
+- exec'ing decorator in compiz-decorator.
+- Redirecting in/out of director from/to /dev/null.
+- Updated compiz-core-default-plugins.diff to fix strange bug WRT gconf.
+* Wed Mar 19 2008 mhopf@suse.de
+- Rewrote libIndirectGL patch to really support AIGLX and Xgl on all cards.
* Fri Mar 14 2008 cyberorg@cyberorg.info
- add default plugins to load if gconf is used
- remove kde4-kwin version requirement, as 4.0.6 is available in unstable repo only
++++++ compiz-core-default-plugins.diff ++++++
--- /var/tmp/diff_new_pack.v18571/_old 2008-03-21 03:44:40.000000000 +0100
+++ /var/tmp/diff_new_pack.v18571/_new 2008-03-21 03:44:40.000000000 +0100
@@ -5,7 +5,7 @@
<type>list</type>
string
- <default>[]</default>
-+ <default>[gconf,decoration,png,wobbly,fade,minimize,cube,rotate,zoom,scale,move,resize,place,switcher,screenshot,dbus]</default>
++ <default>[core,glib,gconf,decoration,png,wobbly,fade,minimize,cube,rotate,zoom,scale,move,resize,place,switcher,screenshot,dbus]</default>
<locale name="C">
<short>Active Plugins</short>
<long>List of currently active plugins</long>
++++++ compiz-decorator ++++++
--- compiz/compiz-decorator 2008-03-12 20:11:06.000000000 +0100
+++ compiz/compiz-decorator 2008-03-19 15:59:40.000000000 +0100
@@ -93,9 +93,9 @@
if [ -n "$DECORATOR" ]; then
verbose "Starting ${DECORATOR}\n"
- ${COMPIZ_BIN_PATH}$DECORATOR "$@"
+ exec ${COMPIZ_BIN_PATH}$DECORATOR "$@" 1>/dev/null 2>&1 /dev/null 2>&1
+ #include
+ #include
++#include
++#include
+ #include
+ #include
- #include
+@@ -44,6 +46,8 @@
-+extern Bool noLibGLFallback;
+ #include
+
++extern int libGLFallback;
+
static unsigned int virtualModMask[] = {
CompAltMask, CompMetaMask, CompSuperMask, CompHyperMask,
CompModeSwitchMask, CompNumLockMask, CompScrollLockMask
-@@ -1994,6 +1996,17 @@ addDisplay (char *name)
+@@ -2052,6 +2056,27 @@ addDisplay (const char *name)
COMP_DISPLAY_OPTION_NUM))
return FALSE;
-+ if (!noLibGLFallback)
++ if (libGLFallback)
+ {
-+ int major, minor;
-+
-+ if (!glXQueryVersion (dpy, &major, &minor))
-+ return FALSE;
-+
-+ if (major < 2 || minor < 4)
++ const char *vendor;
++ if (! (vendor = glXGetClientString (dpy, GLX_VENDOR)))
+ return FALSE;
++ if (strstr (vendor, "NVIDIA") != NULL) {
++ if (! (vendor = glXQueryServerString (dpy, DefaultScreen (dpy),
++ GLX_VENDOR)))
++ return FALSE;
++ if (strstr (vendor, "NVIDIA") == NULL) {
++ /* Remove CLOSE_ON_EXEC flag to avoid server resets during
++ * re-exec with LD_PRELOAD */
++ fcntl (ConnectionNumber(dpy), F_SETFD,
++ fcntl (ConnectionNumber(dpy), F_GETFD) & ~FD_CLOEXEC);
++ /* dpy is never closed, in this case this is a blessing */
++ libGLFallback = 2;
++ return FALSE;
++ }
++ }
+ }
+
- snprintf (d->displayString, 255, "DISPLAY=%s", DisplayString (dpy));
+ d->opt[COMP_DISPLAY_OPTION_ABI].value.i = CORE_ABIVERSION;
- #ifdef DEBUG
+ snprintf (d->displayString, 255, "DISPLAY=%s", DisplayString (dpy));
diff --git a/src/main.c b/src/main.c
-index f6e5b26..6783781 100644
+index 19e9b6a..af3d359 100644
--- a/src/main.c
+++ b/src/main.c
@@ -67,6 +67,8 @@ Bool onlyCurrentScreen = FALSE;
Bool useCow = TRUE;
#endif
-+Bool noLibGLFallback = FALSE;
++int libGLFallback = 1; /* 0: --no-*fallback 1: possible 2: do it */
+
CompMetadata coreMetadata;
static void
-@@ -378,6 +380,10 @@ main (int argc, char **argv)
+@@ -264,6 +266,11 @@ main (int argc, char **argv)
+ signal (SIGINT, signalHandler);
+ signal (SIGTERM, signalHandler);
+
++ /* Except for native NVidia libGL (which doesn't know this ENV var),
++ * GLX_EXT_texture_from_pixmap is only available on purely indirect
++ * contexts. Specifying indirect rendering per context isn't enough. */
++ putenv ("LIBGL_ALWAYS_INDIRECT=1");
++
+ emptyRegion.rects = &emptyRegion.extents;
+ emptyRegion.numRects = 0;
+ emptyRegion.extents.x1 = 0;
+@@ -359,6 +366,10 @@ main (int argc, char **argv)
if (i + 1 < argc)
backgroundImage = argv[++i];
}
+ else if (!strcmp (argv[i], "--no-libgl-fallback"))
+ {
-+ noLibGLFallback = TRUE;
++ libGLFallback = 0;
+ }
else if (*argv[i] == '-')
{
compLogMessage (NULL, "core", CompLogLevelWarn,
-@@ -390,6 +396,9 @@ main (int argc, char **argv)
- }
- }
-
-+ if (noLibGLFallback)
-+ unsetenv ("LD_PRELOAD");
-+
- if (refreshRateArg)
- {
- ctx.refreshRateData = malloc (strlen (refreshRateArg) + 256);
-@@ -448,8 +457,24 @@ main (int argc, char **argv)
+@@ -432,8 +443,24 @@ main (int argc, char **argv)
initSession (clientId);
if (!addDisplay (displayName))
- return 1;
+ {
-+ if (!noLibGLFallback)
++ if (libGLFallback == 2)
+ {
+ char *arg[argc + 2];
+ static const char *libindirect_libgl = "/usr/$LIB/libIndirectGL.so.1";
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org