From f27ed95f90dbc81c7a89a58fb07ac632f4cfdaf9 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Sun, 12 Jan 2014 19:56:38 +0100 Subject: Add shell script to run the program Includes a hack (disabled by default) that tries to extract an older Mesa package for Arch Linux. --- run.sh | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 run.sh (limited to 'run.sh') 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: -- cgit v1.2.1