Download src/display.sh from Fred808/GEE: direct link, hf CLI and curl.
- Browser
- Download file 1.82 kB
-
https://huggingface.co/spaces/Fred808/GEE/resolve/main/src/display.sh
- Command line
-
hf download hf://spaces/Fred808/GEE/src/display.sh
-
curl -L -o display.sh https://huggingface.co/spaces/Fred808/GEE/resolve/main/src/display.sh
1.82 kB
| set -Eeuo pipefail | |
| # Docker environment variables | |
| : "${GPU:="N"}" # GPU passthrough | |
| : "${VGA:="virtio"}" # VGA adaptor | |
| : "${DISPLAY:="web"}" # Display type | |
| : "${RENDERNODE:="/dev/dri/renderD128"}" # Render node | |
| port=$(( VNC_PORT - 5900 )) | |
| [[ "$DISPLAY" == ":0" ]] && DISPLAY="web" | |
| case "${DISPLAY,,}" in | |
| "vnc" ) | |
| DISPLAY_OPTS="-display vnc=:$port -vga $VGA" | |
| ;; | |
| "web" ) | |
| DISPLAY_OPTS="-display vnc=:$port,websocket=$WSS_PORT -vga $VGA" | |
| ;; | |
| "disabled" ) | |
| DISPLAY_OPTS="-display none -vga $VGA" | |
| ;; | |
| "none" ) | |
| DISPLAY_OPTS="-display none -vga none" | |
| ;; | |
| *) | |
| DISPLAY_OPTS="-display $DISPLAY -vga $VGA" | |
| ;; | |
| esac | |
| if [[ "$GPU" != [Yy1]* || "$ARCH" != "amd64" ]]; then | |
| return 0 | |
| fi | |
| CPU_VENDOR=$(lscpu | awk '/Vendor ID/{print $3}') | |
| if [[ "$CPU_VENDOR" != "GenuineIntel" ]]; then | |
| return 0 | |
| fi | |
| msg="Configuring display drivers..." | |
| html "$msg" | |
| [[ "$DEBUG" == [Yy1]* ]] && echo "$msg" | |
| [[ "${VGA,,}" == "virtio" ]] && VGA="virtio-vga-gl" | |
| DISPLAY_OPTS="-display egl-headless,rendernode=$RENDERNODE" | |
| DISPLAY_OPTS+=" -device $VGA" | |
| [[ "${DISPLAY,,}" == "vnc" ]] && DISPLAY_OPTS+=" -vnc :$port" | |
| [[ "${DISPLAY,,}" == "web" ]] && DISPLAY_OPTS+=" -vnc :$port,websocket=$WSS_PORT" | |
| [ ! -d /dev/dri ] && mkdir -m 755 /dev/dri | |
| # Extract the card number from the render node | |
| CARD_NUMBER=$(echo "$RENDERNODE" | grep -oP '(?<=renderD)\d+') | |
| CARD_DEVICE="/dev/dri/card$((CARD_NUMBER - 128))" | |
| if [ ! -c "$CARD_DEVICE" ]; then | |
| if mknod "$CARD_DEVICE" c 226 $((CARD_NUMBER - 128)); then | |
| chmod 666 "$CARD_DEVICE" | |
| fi | |
| fi | |
| if [ ! -c "$RENDERNODE" ]; then | |
| if mknod "$RENDERNODE" c 226 "$CARD_NUMBER"; then | |
| chmod 666 "$RENDERNODE" | |
| fi | |
| fi | |
| addPackage "xserver-xorg-video-intel" "Intel GPU drivers" | |
| addPackage "qemu-system-modules-opengl" "OpenGL module" | |