ehfd преди 4 години
родител
ревизия
4a94956224
променени са 5 файла, в които са добавени 13 реда и са изтрити 17 реда
  1. 3 3
      Dockerfile
  2. 1 1
      README.md
  3. 5 7
      entrypoint.sh
  4. 4 4
      supervisord.conf
  5. 0 2
      xgl.yaml

+ 3 - 3
Dockerfile

@@ -4,7 +4,7 @@ FROM nvidia/opengl:1.2-glvnd-runtime-ubuntu20.04
 
 LABEL maintainer "https://github.com/ehfd"
 
-# Make all NVIDIA GPUS visible, but we want to manually install drivers
+# Make all NVIDIA GPUs visible, but we want to manually install drivers
 ARG NVIDIA_VISIBLE_DEVICES=all
 # Supress interactive menu while installing keyboard-configuration
 ARG DEBIAN_FRONTEND=noninteractive
@@ -161,8 +161,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
     echo "user:${PASSWD}" | chpasswd && \
     ln -snf "/usr/share/zoneinfo/$TZ" /etc/localtime && echo "$TZ" > /etc/timezone
 
-COPY bootstrap.sh /etc/bootstrap.sh
-RUN chmod 755 /etc/bootstrap.sh
+COPY entrypoint.sh /etc/entrypoint.sh
+RUN chmod 755 /etc/entrypoint.sh
 COPY supervisord.conf /etc/supervisord.conf
 RUN chmod 755 /etc/supervisord.conf
 

+ 1 - 1
README.md

@@ -23,7 +23,7 @@ For building Ubuntu 18.04 containers, in **Dockerfile** change `FROM nvidia/open
 For Docker this will be sufficient (the container must only be used in unprivileged mode, use `--tmpfs /dev/shm:rw` for a slight performance improvement):
 
 ```
-docker run --gpus 1 -it -e TZ=UTC -e SIZEW=1920 -e SIZEH=1080 -e SHARED=TRUE -e PASSWD=mypasswd -e VIDEO_PORT=DFP -p 8080:8080 ghcr.io/ehfd/nvidia-glx-desktop:latest
+docker run --gpus 1 -it -e TZ=UTC -e SIZEW=1920 -e SIZEH=1080 -e PASSWD=mypasswd -e VIDEO_PORT=DFP -p 8080:8080 ghcr.io/ehfd/nvidia-glx-desktop:latest
 ```
 
 This work was supported in part by NSF awards CNS-1730158, ACI-1540112, ACI-1541349, OAC-1826967, the University of California Office of the President, and the University of California San Diego’s California Institute for Telecommunications and Information Technology/Qualcomm Institute. Thanks to CENIC for the 100Gbps networks.

+ 5 - 7
bootstrap.sh → entrypoint.sh

@@ -65,16 +65,14 @@ unset IFS
 BUS_ID=PCI:$((16#${ARR_ID[1]})):$((16#${ARR_ID[2]})):$((16#${ARR_ID[3]}))
 export MODELINE=$(cvt -r ${SIZEW} ${SIZEH} | sed -n 2p)
 sudo nvidia-xconfig --virtual="${SIZEW}x${SIZEH}" --depth="$CDEPTH" --mode=$(echo $MODELINE | awk '{print $2}' | tr -d '"') --allow-empty-initial-configuration --no-probe-all-gpus --busid="$BUS_ID" --only-one-x-screen --connected-monitor="$VIDEO_PORT"
-sudo sed -i '/Driver\s\+"nvidia"/a\    Option         "ModeValidation" "NoMaxPClkCheck, NoEdidMaxPClkCheck, NoMaxSizeCheck, NoHorizSyncCheck, NoVertRefreshCheck, NoVirtualSizeCheck, NoExtendedGpuCapabilitiesCheck, NoTotalSizeCheck, NoDualLinkDVICheck, NoDisplayPortBandwidthCheck, AllowNon3DVisionModes, AllowNonHDMI3DModes, AllowNonEdidModes, NoEdidHDMI2Check, AllowDpInterlaced"\n    Option         "DPI" "96 x 96"' /etc/X11/xorg.conf
+sudo sed -i '/Driver\s\+"nvidia"/a\    Option         "ModeValidation" "NoMaxPClkCheck, NoEdidMaxPClkCheck, NoMaxSizeCheck, NoHorizSyncCheck, NoVertRefreshCheck, NoVirtualSizeCheck, NoExtendedGpuCapabilitiesCheck, NoTotalSizeCheck, NoDualLinkDVICheck, NoDisplayPortBandwidthCheck, AllowNon3DVisionModes, AllowNonHDMI3DModes, AllowNonEdidModes, NoEdidHDMI2Check, AllowDpInterlaced"' /etc/X11/xorg.conf
 sudo sed -i '/Section\s\+"Monitor"/a\    '"$MODELINE" /etc/X11/xorg.conf
 
-Xorg vt7 -novtswitch -sharevts +extension "MIT-SHM" :0 &
+export __GL_SYNC_TO_VBLANK=0
+Xorg vt7 -novtswitch -sharevts -dpi 96 +extension "MIT-SHM" :0 &
+sleep 1
 
-if [ "x$SHARED" == "xTRUE" ]; then
-  export SHARESTRING="-shared"
-fi
-
-sudo x11vnc -display ":0" -passwd "$PASSWD" -forever -repeat -xkb -xrandr "resize" -rfbport 5900 "$SHARESTRING" &
+sudo x11vnc -display ":0" -passwd "$PASSWD" -shared -forever -repeat -xkb -xrandr "resize" -rfbport 5900 &
 
 mkdir -p ~/.guacamole
 echo "<user-mapping>

+ 4 - 4
supervisord.conf

@@ -5,10 +5,10 @@ loglevel=info
 logfile=/tmp/supervisord.log
 pidfile=/tmp/supervisord.pid
 
-[program:bootstrap]
-command=/etc/bootstrap.sh
-logfile=/tmp/bootstrap.log
-pidfile=/tmp/bootstrap.pid
+[program:entrypoint]
+command=/etc/entrypoint.sh
+logfile=/tmp/entrypoint.log
+pidfile=/tmp/entrypoint.pid
 stopsignal=INT
 autostart=true
 autorestart=true

+ 0 - 2
xgl.yaml

@@ -25,8 +25,6 @@ spec:
           value: "1080"
         - name: CDEPTH
           value: "24"
-        - name: SHARED
-          value: "TRUE"
         - name: PASSWD
           value: "mypasswd"
 #          valueFrom: