diff --git a/overlay/etc/cont-init.d/50-configure_pulseaudio.sh b/overlay/etc/cont-init.d/50-configure_pulseaudio.sh new file mode 100644 index 0000000..cba167f --- /dev/null +++ b/overlay/etc/cont-init.d/50-configure_pulseaudio.sh @@ -0,0 +1,18 @@ + +echo "**** Configure pulseaudio ****" + +if [ "${MODE}" == "s" ] | [ "${MODE}" == "secondary" ]; then + echo "Configure pulseaudio as simple dummy audio" + sed -i 's|^; autospawn.*$|autospawn = no|' /etc/pulse/client.conf + sed -i 's|^; daemon-binary.*$|daemon-binary = /bin/true|' /etc/pulse/client.conf + + sed -i 's|^; flat-volumes.*$|flat-volumes = yes|' /etc/pulse/daemon.conf +else + echo "Configure pulseaudio to pipe audio to a socket" + sed -i 's|^; default-server.*$|default-server = unix:/tmp/pulseaudio.socket|' /etc/pulse/client.conf + sed -i 's|^load-module module-native-protocol-unix.*$|load-module module-native-protocol-unix socket=/tmp/pulseaudio.socket auth-anonymous=1|' \ + /etc/pulse/default.pa +fi +chown -R ${USER} /etc/pulse + +echo "DONE" diff --git a/overlay/etc/cont-init.d/50-configure_vnc_audio.sh b/overlay/etc/cont-init.d/70-configure_vnc_audio.sh similarity index 74% rename from overlay/etc/cont-init.d/50-configure_vnc_audio.sh rename to overlay/etc/cont-init.d/70-configure_vnc_audio.sh index ce66c8f..12bb32e 100644 --- a/overlay/etc/cont-init.d/50-configure_vnc_audio.sh +++ b/overlay/etc/cont-init.d/70-configure_vnc_audio.sh @@ -1,12 +1,6 @@ echo "**** Configure VNC audio ****" -echo "Configure pulseaudio to pipe audio to a socket" -sed -i 's|^; default-server.*$|default-server = unix:/tmp/pulseaudio.socket|' /etc/pulse/client.conf -sed -i 's|^load-module module-native-protocol-unix.*$|load-module module-native-protocol-unix socket=/tmp/pulseaudio.socket auth-anonymous=1|' \ - /etc/pulse/default.pa -chown -R ${USER} /etc/pulse - if [[ "${ENABLE_VNC_AUDIO}" == "true" ]]; then # Credits for this audio patch: # - https://github.com/novnc/noVNC/issues/302 diff --git a/overlay/etc/cont-init.d/80-configure_gpu_driver.sh b/overlay/etc/cont-init.d/80-configure_gpu_driver.sh index 08192c9..04bc21d 100644 --- a/overlay/etc/cont-init.d/80-configure_gpu_driver.sh +++ b/overlay/etc/cont-init.d/80-configure_gpu_driver.sh @@ -13,7 +13,7 @@ fi # NVIDIA Params export nvidia_pci_address="$(nvidia-smi --format=csv --query-gpu=pci.bus_id --id="${gpu_select}" 2> /dev/null | sed -n 2p | cut -d ':' -f2,3)" -export nvidia_gpu_name=$(nvidia-smi --format=csv --query-gpu=name --id="${gpu_select}" | sed -n 2p 2> /dev/null) +export nvidia_gpu_name=$(nvidia-smi --format=csv --query-gpu=name --id="${gpu_select}" 2> /dev/null | sed -n 2p) export nvidia_host_driver_version="$(nvidia-smi 2> /dev/null | grep NVIDIA-SMI | cut -d ' ' -f3)" # Intel params diff --git a/overlay/etc/cont-init.d/90-configure_xorg.sh b/overlay/etc/cont-init.d/90-configure_xorg.sh index c7e9758..a7753f7 100644 --- a/overlay/etc/cont-init.d/90-configure_xorg.sh +++ b/overlay/etc/cont-init.d/90-configure_xorg.sh @@ -65,23 +65,20 @@ function configure_x_server { echo "Configure container to use a virtual framebuffer as the X server" # Disable supervisord script sed -i 's|^autostart.*=.*$|autostart=false|' /etc/supervisor.d/xorg.ini - else - echo "Configure container as secondary and do not run an X server" - # Disable supervisord script - sed -i 's|^autostart.*=.*$|autostart=false|' /etc/supervisor.d/xorg.ini fi # Make startup script executable chmod +x /usr/bin/start-xorg.sh } - -if [[ -z ${nvidia_gpu_hex_id} ]]; then - echo "**** Generate default xorg.conf ****"; - configure_x_server -else - echo "**** Generate NVIDIA xorg.conf ****"; - configure_x_server - configure_nvidia_x_server +if [ "${MODE}" != "s" ] & [ "${MODE}" != "secondary" ]; then + if [[ -z ${nvidia_gpu_hex_id} ]]; then + echo "**** Generate default xorg.conf ****"; + configure_x_server + else + echo "**** Generate NVIDIA xorg.conf ****"; + configure_x_server + configure_nvidia_x_server + fi fi echo "DONE" diff --git a/overlay/etc/cont-init.d/95-configure_secondary.sh b/overlay/etc/cont-init.d/95-configure_secondary.sh new file mode 100644 index 0000000..7140f2d --- /dev/null +++ b/overlay/etc/cont-init.d/95-configure_secondary.sh @@ -0,0 +1,28 @@ +if [ "${MODE}" == "s" ] | [ "${MODE}" == "secondary" ]; then + echo "Configure container as secondary" + # Disable dbus + echo " - Disable dbus" + sed -i 's|^autostart.*=.*$|autostart=false|' /etc/supervisor.d/dbus.ini + # Disable desktop + echo " - Disable desktop" + sed -i 's|^autostart.*=.*$|autostart=false|' /etc/supervisor.d/desktop.ini + # Disable sshd + echo " - Disable sshd" + sed -i 's|^autostart.*=.*$|autostart=false|' /etc/supervisor.d/sshd.ini + # Disable vnc + echo " - Disable vnc" + sed -i 's|^autostart.*=.*$|autostart=false|' /etc/supervisor.d/vnc.ini + # Disable xorg + echo " - Disable xorg" + sed -i 's|^autostart.*=.*$|autostart=false|' /etc/supervisor.d/xorg.ini + + # Enable pulseaudio + echo " - Enable pulseaudio" + sed -i 's|^autostart.*=.*$|autostart=true|' /etc/supervisor.d/pulseaudio.ini + # Enable steam + echo " - Enable steam" + sed -i 's|^autostart.*=.*$|autostart=true|' /etc/supervisor.d/steam.ini + # Enable udev + echo " - Enable udev" + sed -i 's|^autostart.*=.*$|autostart=true|' /etc/supervisor.d/udev.ini +fi diff --git a/overlay/etc/supervisor.d/steam.ini b/overlay/etc/supervisor.d/steam.ini index 04a4fb1..6f00629 100644 --- a/overlay/etc/supervisor.d/steam.ini +++ b/overlay/etc/supervisor.d/steam.ini @@ -6,7 +6,8 @@ autorestart=true priority=50 user=%(ENV_USER)s directory=/home/%(ENV_USER)s -command=/usr/game/steam -bigpicture +# command=/usr/games/steam -bigpicture +command=/usr/games/steam environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s" stopsignal=QUIT stdout_logfile=/home/%(ENV_USER)s/.cache/log/steam.log diff --git a/overlay/etc/supervisord.conf b/overlay/etc/supervisord.conf index a7a15a2..e7e9505 100644 --- a/overlay/etc/supervisord.conf +++ b/overlay/etc/supervisord.conf @@ -19,8 +19,8 @@ file=/run/supervisor.sock ; the path to the socket file ;username=user ; default is no username (open server) ;password=123 ; default is no password (open server) -[inet_http_server] ; inet (TCP) server disabled by default -port=127.0.0.1:9001 ; ip_address:port specifier, *:port for all iface +;[inet_http_server] ; inet (TCP) server disabled by default +;port=127.0.0.1:9001 ; ip_address:port specifier, *:port for all iface ;username=user ; default is no username (open server) ;password=123 ; default is no password (open server)