diff -upNr compiz-manager-0.6.0.orign/compiz-manager compiz-manager-0.6.0/compiz-manager --- compiz-manager-0.6.0.orign/compiz-manager 2007-10-15 21:10:06.000000000 +0200 +++ compiz-manager-0.6.0/compiz-manager 2008-03-24 20:38:23.000000000 +0100 @@ -26,17 +26,28 @@ # started, and start a default plugin and possibly window decorator. # +# differ between LIBDIR for x86 and x86_64, ppc and ppc64 +if [ `uname -m` = x86_64 -o `uname -m` = ppc64 ];then + ARCH_LIB=lib64 +else + ARCH_LIB=lib +fi -COMPIZ_BIN_PATH="/usr/local/bin/" # For window decorators and compiz -PLUGIN_PATH="/usr/local/lib/compiz/" +COMPIZ_BIN_PATH="/usr/bin/" # For window decorators and compiz +PLUGIN_PATH="/usr/$ARCH_LIB/compiz/" GLXINFO="/usr/bin/glxinfo" KWIN="/usr/bin/kwin" METACITY="/usr/bin/metacity" COMPIZ_NAME="compiz" # Final name for compiz (compiz.real) +LIBDIR=/usr/$ARCH_LIB/ # For Xgl LD_PRELOAD -LIBGL_NVIDIA="/usr/lib/nvidia/libGL.so.1.2.xlibmesa" -LIBGL_FGLRX="/usr/lib/fglrx/libGL.so.1.2.xlibmesa" +for driver in $LIBDIR/nvidia/libGL.so.*.xlibmesa ; do + LIBGL_NVIDIA=$driver +done +for driver in $LIBDIR/fglrx/libGL.so.*.xlibmesa ; do + LIBGL_FGLRX=$driver +done # Minimum amount of memory (in kilo bytes) that nVidia cards need # to be allowed to start @@ -45,9 +56,14 @@ NVIDIA_MEMORY="65536" # 64MB NVIDIA_SETTINGS="nvidia-settings" # Assume it's in the path by default # For detecting what driver is in use, the + is for one or more /'s -XORG_DRIVER_PATH="/usr/lib/xorg/modules/drivers/+" +XORG_DRIVER_PATH="/usr/$ARCH_LIB/xorg/modules/+drivers/+" -FALLBACKWM="${METACITY}" +# FALLBACKWM should depend on the used desktop +if [ -n "$KDE_FULL_SESSION" ]; then + FALLBACKWM="${KWIN}" +else + FALLBACKWM="${METACITY}" +fi FALLBACKWM_OPTIONS="--replace $@" # Driver whitelist @@ -65,8 +81,8 @@ COMPIZ_OPTIONS="--ignore-desktop-hints - COMPIZ_PLUGINS="" ENV="" -# Use emerald by default if it exist -USE_EMERALD="yes" +# Don't use emerald by default (to avoid additional requirements) +USE_EMERALD=${USE_EMERALD:-no} # No indirect by default INDIRECT="no" @@ -262,14 +278,14 @@ running_under_whitelisted_driver() # check pciid blacklist have_blacklisted_pciid() { - OUTPUT=$(lspci -n) + OUTPUT=$(/sbin/lspci -n) for ID in ${BLACKLIST_PCIIDS}; do if echo "$OUTPUT" | egrep -q "$ID"; then verbose "Blacklisted PCIID '$ID' found \n" return 0 fi done - OUTPUT=$(lspci -vn | grep -i VGA) + OUTPUT=$(/sbin/lspci -vn | grep -i VGA) verbose "Detected PCI ID for VGA: $OUTPUT\n" return 1 } @@ -374,10 +390,17 @@ if [ -x ${COMPIZ_BIN_PATH}emerald ] && [ elif [ -x ${COMPIZ_BIN_PATH}gtk-window-decorator ] && [ -n "$GNOME_DESKTOP_SESSION_ID" ]; then verbose "Starting gtk-window-decorator\n" ${COMPIZ_BIN_PATH}gtk-window-decorator --replace & -elif [ -x ${COMPIZ_BIN_PATH}kde-window-decorator ] && [ -n "$KDE_FULL_SESSION" ]; then - verbose "Starting kde-window-decorator\n" - ${COMPIZ_BIN_PATH}kde-window-decorator --replace & +elif [ -x ${COMPIZ_BIN_PATH}kde4-window-decorator ] && [ -n "$KDE_FULL_SESSION" ]; then + verbose "Starting kde4-window-decorator\n" + ${COMPIZ_BIN_PATH}kde4-window-decorator --replace & FALLBACKWM="${KWIN}" +elif [ -x ${COMPIZ_BIN_PATH}emerald ]; then + verbose "Starting emerald\n" + ${COMPIZ_BIN_PATH}emerald --replace & +# Abort completely instead of having no window decoration +elif [ ! -x ${COMPIZ_BIN_PATH}gtk-window-decorator ] && [ ! -x ${COMPIZ_BIN_PATH}kde4-window-decorator ] && [ ! -x ${COMPIZ_BIN_PATH}emerald ]; then + echo "No decoration manager found. Aborting..." + exit 1 fi ${COMPIZ_BIN_PATH}${COMPIZ_NAME} $COMPIZ_OPTIONS "$@" $COMPIZ_PLUGINS || exec $FALLBACKWM $FALLBACKWM_OPTIONS