diff --git a/bin/intel-gpu-dri3 b/bin/intel-gpu-dri3 new file mode 100755 index 0000000..259f6ef --- /dev/null +++ b/bin/intel-gpu-dri3 @@ -0,0 +1,11 @@ +#!/bin/bash + +set -e + +image="$1" +if [[ -z "$image" ]]; then + echo >&2 "Usage: $(basename "$0") " + exit 1 +fi + +docker run --rm -it -e VNC_PW=bushel9 -e HW3D=true -e DRINODE=/dev/dri/renderD128 --device /dev/dri/card0:/dev/dri/card0:rwm --device=/dev/dri/renderD128:/dev/dri/renderD128:rwm --group-add=106 -p 443:6901 "$image" bash diff --git a/bin/intel-gpu-virtualgl b/bin/intel-gpu-virtualgl new file mode 100755 index 0000000..c754257 --- /dev/null +++ b/bin/intel-gpu-virtualgl @@ -0,0 +1,11 @@ +#!/bin/bash + +set -e + +image="$1" +if [[ -z "$image" ]]; then + echo >&2 "Usage: $(basename "$0") " + exit 1 +fi + +docker run --rm -it -e VNC_PW=bushel9 -e KASM_EGL_CARD=/dev/dri/card0 -e KASM_RENDERD=/dev/dri/renderD128 --device /dev/dri/card0:/dev/dri/card0:rwm --device=/dev/dri/renderD128:/dev/dri/renderD128:rwm --group-add=106 -p 443:6901 "$image" bash diff --git a/bin/intel-gpu-zink b/bin/intel-gpu-zink new file mode 100755 index 0000000..4ed6e0e --- /dev/null +++ b/bin/intel-gpu-zink @@ -0,0 +1,11 @@ +#!/bin/bash + +set -e + +image="$1" +if [[ -z "$image" ]]; then + echo >&2 "Usage: $(basename "$0") " + exit 1 +fi + +docker run --rm -it -e VNC_PW=bushel9 -e HW3D=true -e DRINODE=/dev/dri/renderD128 -e KASM_ENABLE_ZINK=1 -e KASM_DRI_CARD=/dev/dri/card0 -e KASM_DRI_RENDERD=/dev/dri/renderD128 --device /dev/dri/card0:/dev/dri/card0:rwm --device=/dev/dri/renderD128:/dev/dri/renderD128:rwm --group-add=106 -p 443:6901 "$image" bash diff --git a/src/common/startup_scripts/vnc_startup.sh b/src/common/startup_scripts/vnc_startup.sh index 720795f..623246e 100755 --- a/src/common/startup_scripts/vnc_startup.sh +++ b/src/common/startup_scripts/vnc_startup.sh @@ -195,7 +195,10 @@ function start_kasmvnc (){ function start_window_manager (){ echo -e "\n------------------ Xfce4 window manager startup------------------" if [ "${START_XFCE4}" == "1" ] || [ "${START_DE}" == "xfce4-session" ]; then - if [ -f /opt/VirtualGL/bin/vglrun ] && [ ! -z "${KASM_EGL_CARD}" ] && [ ! -z "${KASM_RENDERD}" ] && [ -O "${KASM_RENDERD}" ] && [ -O "${KASM_EGL_CARD}" ] ; then + if [ -n "$KASM_ENABLE_ZINK" ] && [ -n "$KASM_EGL_CARD" ] && [ -n "$KASM_RENDERD" ]; then + echo "Starting XFCE with Zink" + LIBGL_KOPPER_DRI2=1 MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink DISPLAY=:1 /usr/bin/startxfce4 --replace & + elif [ -f /opt/VirtualGL/bin/vglrun ] && [ ! -z "${KASM_EGL_CARD}" ] && [ ! -z "${KASM_RENDERD}" ] && [ -O "${KASM_RENDERD}" ] && [ -O "${KASM_EGL_CARD}" ] ; then echo "Starting XFCE with VirtualGL using EGL device ${KASM_EGL_CARD}" DISPLAY=:1 /opt/VirtualGL/bin/vglrun -d "${KASM_EGL_CARD}" /usr/bin/startxfce4 --replace & else @@ -275,14 +278,14 @@ function start_pcm_audio (){ HOME=/var/run/pulse pulseaudio --start fi /opt/audio/start kasmaudio 4901 ${HOME}/.vnc/self.pem ${HOME}/.vnc/self.pem "kasm_user:$VNC_PW" & - + KASM_PROCS['kasm_audio_server']=$! - + if [[ $DEBUG == true ]]; then echo -e "\n------------------ Started Audio Server ----------------------------" echo "Kasm Audio Server PID: ${KASM_PROCS['kasm_audio_server']}"; fi - fi + fi } function start_audio_in (){ diff --git a/src/ubuntu/install/kasm_vnc/install_kasm_vnc.sh b/src/ubuntu/install/kasm_vnc/install_kasm_vnc.sh index 75b2a44..6326300 100644 --- a/src/ubuntu/install/kasm_vnc/install_kasm_vnc.sh +++ b/src/ubuntu/install/kasm_vnc/install_kasm_vnc.sh @@ -15,7 +15,7 @@ prepare_rpm_repo_dependencies() { echo "Install KasmVNC server" cd /tmp -BUILD_ARCH=$(uname -p) +BUILD_ARCH=$(uname -m) UBUNTU_CODENAME="" COMMIT_ID="e647af5e281735d1c7fc676ca089201aeae7130a" BRANCH="release" # just use 'release' for a release branch @@ -197,6 +197,7 @@ elif [[ "${DISTRO}" == "alpine" ]] ; then xterm if [ "${BUILD_ARCH}" == "x86_64" ]; then apk add --no-cache xf86-video-intel + apk add --no-cache mesa-vulkan-intel fi wget "${BUILD_URL}" -O kasmvncserver.apk apk add --no-cache --allow-untrusted kasmvncserver.apk