mirror of
https://github.com/vdsm/virtual-dsm.git
synced 2025-11-10 12:03:41 +08:00
42
src/display.sh
Normal file
42
src/display.sh
Normal file
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
set -Eeuo pipefail
|
||||
|
||||
# Docker environment variables
|
||||
|
||||
: ${GPU:='N'} # GPU passthrough
|
||||
: ${DISPLAY:='none'} # Display type
|
||||
|
||||
case "${DISPLAY,,}" in
|
||||
vnc)
|
||||
DISPLAY_OPTS="-display vnc=:0 -vga virtio"
|
||||
;;
|
||||
*)
|
||||
DISPLAY_OPTS="-display $DISPLAY -vga none"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "$GPU" != [Yy1]* ]] || [[ "$ARCH" != "amd64" ]]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
DISPLAY_OPTS="-display egl-headless,rendernode=/dev/dri/renderD128 -vga virtio"
|
||||
[[ "${DISPLAY,,}" == "vnc" ]] && DISPLAY_OPTS="$DISPLAY_OPTS -vnc :0"
|
||||
|
||||
[ ! -d /dev/dri ] && mkdir -m 755 /dev/dri
|
||||
|
||||
if [ ! -c /dev/dri/card0 ]; then
|
||||
if mknod /dev/dri/card0 c 226 0; then
|
||||
chmod 666 /dev/dri/card0
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -c /dev/dri/renderD128 ]; then
|
||||
if mknod /dev/dri/renderD128 c 226 128; then
|
||||
chmod 666 /dev/dri/renderD128
|
||||
fi
|
||||
fi
|
||||
|
||||
addPackage "xserver-xorg-video-intel" "Intel GPU drivers"
|
||||
addPackage "qemu-system-modules-opengl" "OpenGL module"
|
||||
|
||||
return 0
|
||||
Reference in New Issue
Block a user