#!/bin/ash . /opt/openslx/config [ -n "$SLX_REMOTE_VNC" ] || exit 0 # Nothing to do # Disable all input drivers cp "/opt/openslx/remote-access/xorg-noinput.conf" "/etc/X11/xorg.conf.d/16-remote-access-noinput.conf" /opt/openslx/scripts/lightdm-patch_logo "Fernzugriff" '#555555' # Find connected output, get driver for according card driver= fallback= for cdir in /sys/class/drm/card?; do card="${cdir##*/}" d="$( awk -F= '{ if ($1 = "DRIVER") { print $2; exit; } }' "$cdir/device/uevent" )" [ -z "$d" ] && continue [ -z "$fallback" ] && fallback="$d" grep -qFx 'connected' "$cdir/$card"-*/status || continue driver="$d" break done [ -z "$driver" ] && driver="$fallback" # ??? [ -z "$driver" ] && driver="i915" case "$driver" in i915) driver="intel" ;; vmwgfx) driver="vmware" ;; esac # Enable LoingRPC of greeter mkdir -p /etc/lightdm/qt-lightdm-greeter.conf.d cat > /etc/lightdm/qt-lightdm-greeter.conf.d/13-loginrpc.conf < "/etc/X11/xorg.conf.d/16-remote-access-${driver}-virtual.conf" fi # Do NOT use evdi for now, makes 3D slow on some nvidias, completely breaks vmware output on some intels exit 0 # For everything else, we use th evdi kernel module to add a virtual output if insmod "/lib/modules/$(uname -r)/kernel/extra/evdi.ko" initial_device_count=1 \ || modprobe evdi; then echo "evdi virtual display interface loaded" else echo "evdi not found. virtual display not available." fi # Currently the zaphod head solution on intel can create a mysterious # problem where the cursor turns into an X and everything stops working # disable any warnings and just let the screen enter standby exit 0 # DISABLED BELOW [ "$driver" = "intel" ] || exit 0 # Currently only intel supports zaphod head split # Enable the dual-screen setup sed "s/%DRIVER%/$driver/g" "/opt/openslx/remote-access/xorg-zaphod.conf" > "/etc/X11/xorg.conf.d/16-remote-access-zaphod.conf" # Force :0.0 usage cat > /etc/X11/Xsession.d/00-force-screen0 <