#!/bin/bash USE_COLOR=1 msg() { if [ $USE_COLOR -eq 1 ]; then echo -e "\033[1;32m==>\033[1;0m \033[1;1m$1\033[1;0m" >&2 else echo "==> $1" >&2 fi } usage() { echo "Usage: startxgl [display number] [window manager] [gfx]" echo echo " Command line arguments are optional." echo " Default [display number] is 1." echo " [window manager] can be: 'gnome', 'xfce' (no session), 'xfce-svn' (no session), or 'xfce-session'. Default is 'gnome'." echo " [gfx] values are 'ati', 'nvidia' or 'other'. Default is 'other'." } if [ "$1" = "-h" -o "$1" = "--help" ]; then usage exit 0 elif [ -z "$1" ]; then xgldisplay=1 else xgldisplay=$1 fi msg "Starting XGL at display :$xgldisplay" if [ "$3" = "ati" ]; then msg "Using card: ati" Xgl :$xgldisplay -ac -accel xv:pbuffer -accel glx:pbuffer & elif [ "$3" = "nvidia" ]; then msg "Using card: nvidia" # NVidia OpenGL settings (antialiasing, anisotropic texture filtering and sync to VBlank) # Look at /usr/share/doc/NVIDIA_GLX-1.0/README.txt (different cards have different settings) #export __GL_FSAA_MODE=1 #export __GL_LOG_MAX_ANISO=2 #export __GL_SYNC_TO_VBLANK=1 Xgl :$xgldisplay -ac -accel xv -accel glx:pbuffer & else msg "Using card: other" Xgl :$xgldisplay -ac -accel xv -accel glx:pbuffer & fi sleep 1 msg "Starting Compiz (window and composite manager)" DISPLAY=:$xgldisplay LD_LIBRARY_PATH=/opt/mesa-xgl-cvs/lib/ compiz --replace gconf miniwin decoration transset state wobbly fade minimize cube rotate zoom scale move resize place switcher trailfocus water bs & sleep 1 if [ "$2" = "xfce" ]; then msg "Starting xfce-mcs-manager" DISPLAY=:$xgldisplay xfce-mcs-manager msg "Starting gnome-window-decorator" DISPLAY=:$xgldisplay gnome-window-decorator & msg "Starting xftaskbar4, xfdesktop and xfce4-panel" DISPLAY=:$xgldisplay xftaskbar4 & DISPLAY=:$xgldisplay xfdesktop & DISPLAY=:$xgldisplay exec xfce4-panel elif [ "$2" = "xfce-svn" ]; then msg "Starting xfce-mcs-manager" DISPLAY=:$xgldisplay xfce-mcs-manager msg "Starting gnome-window-decorator" DISPLAY=:$xgldisplay gnome-window-decorator & msg "Starting xfdesktop and xfce4-panel" DISPLAY=:$xgldisplay xfdesktop & DISPLAY=:$xgldisplay exec xfce4-panel elif [ "$2" = "xfce-session" ]; then msg "Starting gnome-window-decorator" DISPLAY=:$xgldisplay gnome-window-decorator & msg "Starting xfce4-session" DISPLAY=:$xgldisplay exec xfce4-session else msg "Starting gnome-window-decorator" DISPLAY=:$xgldisplay gnome-window-decorator & msg "Starting gnome-session" DISPLAY=:$xgldisplay exec gnome-session fi