rendered paste body#!/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