diff --git a/compiz-xfce-emerald b/compiz-xfce-emerald new file mode 100755 index 0000000..dac9292 --- /dev/null +++ b/compiz-xfce-emerald @@ -0,0 +1,28 @@ +#!/bin/bash + +function runCompiz() { + emerald --replace & + exec compiz --replace ccp $@ +} + +ISSW=`glxinfo | grep "Software Rasterizer" -c` + +# Try with direct rendering +HAVETFP=`glxinfo | grep texture_from_pixmap -c` + +if ( [ $ISSW == 0 ] && [ $HAVETFP -gt 2 ] ); then + runCompiz $@ +fi + +# Try again with indirect rendering +export LIBGL_ALWAYS_INDIRECT=1 + +HAVETFP=`glxinfo | grep texture_from_pixmap -c` + +if ( [ $ISSW == 0 ] && [ $HAVETFP -gt 2 ] ); then + runCompiz $@ +fi + +# Fall back to xfwm4 +exec xfwm4 $@ +