summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-misc/virtualgl/files/vgl-helper.sh')
-rw-r--r--x11-misc/virtualgl/files/vgl-helper.sh39
1 files changed, 39 insertions, 0 deletions
diff --git a/x11-misc/virtualgl/files/vgl-helper.sh b/x11-misc/virtualgl/files/vgl-helper.sh
new file mode 100644
index 000000000000..805409284862
--- /dev/null
+++ b/x11-misc/virtualgl/files/vgl-helper.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+. /etc/vgl.conf
+
+vgl_start() {
+ truncate --size=0 /var/lib/VirtualGL/vgl_xauth_key
+
+ set_xauth
+ # Check if XAUTHORITY was set successfully, if not wait up to
+ # 60 seconds to allow X start.
+ tries=120
+ while [ ${tries} -gt 0 ]; do
+ tries=$((tries - 1))
+ if [ -z "${XAUTHORITY}" ]; then
+ sleep 0.5
+ set_xauth
+ continue
+ elif [ ! -e "${XAUTHORITY}" ]; then
+ sleep 0.5
+ # fall through, file not existing yet
+ fi
+ break
+ done
+
+ xauth -f /var/lib/VirtualGL/vgl_xauth_key add $DISPLAY . \
+ $(xauth -f $XAUTHORITY list | awk '{print $3;exit}') && \
+ chmod 644 /var/lib/VirtualGL/vgl_xauth_key
+}
+
+vgl_stop() {
+ rm -f /var/lib/VirtualGL/vgl_xauth_key
+}
+
+
+if [ "${1}" = "start" ]; then
+ vgl_start
+elif [ "${1}" = "stop" ]; then
+ vgl_stop
+fi