summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Wu <lekensteyn@gmail.com>2014-01-12 19:56:38 +0100
committerPeter Wu <lekensteyn@gmail.com>2014-01-12 19:56:38 +0100
commitf27ed95f90dbc81c7a89a58fb07ac632f4cfdaf9 (patch)
tree123a885be8f821531104ac98df4cc72f3d12e8d3
parent1ce5f6dc78e4c1636b89338bd428c2b6830b9189 (diff)
download2iv60-robots-f27ed95f90dbc81c7a89a58fb07ac632f4cfdaf9.tar.gz
Add shell script to run the program
Includes a hack (disabled by default) that tries to extract an older Mesa package for Arch Linux.
-rwxr-xr-xrun.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/run.sh b/run.sh
new file mode 100755
index 0000000..cb5cebb
--- /dev/null
+++ b/run.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+# Mesa 10 crashes with software rendering. To get faster speed on Intel, patch
+# src/robotrace/Base.java to use GLCanvas.
+LIBGL_ALWAYS_SOFTWARE=0
+MESA_ROOT=/tmp/mesa-root
+
+if [ $LIBGL_ALWAYS_SOFTWARE -ne 0 ] && [ ! -d "$MESA_ROOT" ]; then
+ mkdir "$MESA_ROOT"
+
+ # Arch Linux: use older versions (note: LLVM-3.4 still gets loaded somehow
+ # which triggers a crash on close).
+ for pkg in \
+ mesa-9.2.4-1 \
+ mesa-libgl-9.2.4-1 \
+ llvm-libs-3.3-1 \
+ ; do
+ tar xf /var/cache/pacman/pkg/$pkg-x86_64.pkg.tar.xz -C "$MESA_ROOT"
+ done
+fi
+
+if [ $# -eq 0 ]; then
+ set -- java -ea -cp lib/gluegen-rt.jar:lib/jogl-all.jar:build/classes RobotRace
+elif [ $1 = gdb ]; then
+ p="$(dirname "$0")"
+ set -- "$@" -q --args java -ea -cp "$p/lib/gluegen-rt.jar:$p/lib/jogl-all.jar:$p/build/classes" RobotRace
+ unset p
+fi
+
+if [ $LIBGL_ALWAYS_SOFTWARE -eq 0 ]; then
+ "$@"
+ exit
+fi
+
+#LD_DEBUG=all LD_DEBUG_OUTPUT=/tmp/dbg \
+LIBGL_ALWAYS_SOFTWARE=1 \
+LIBGL_DRIVERS_PATH="$MESA_ROOT/usr/lib/xorg/modules/dri" \
+EGL_DRIVERS_PATH="$MESA_ROOT/usr/lib/egl" \
+LD_LIBRARY_PATH="$MESA_ROOT/usr/lib" \
+"$@"
+# vim: set sw=4 et ts=4: