make sure steam can be safely restarted
This commit is contained in:
parent
0d874c478b
commit
9edf31b5ba
14
Dockerfile
14
Dockerfile
@ -25,12 +25,6 @@ RUN apt-get -y install dnsmasq
|
|||||||
COPY ./dnsmasq.conf /etc/dnsmasq.conf
|
COPY ./dnsmasq.conf /etc/dnsmasq.conf
|
||||||
COPY ./resolv.dnsmasq /etc/resolv.dnsmasq
|
COPY ./resolv.dnsmasq /etc/resolv.dnsmasq
|
||||||
|
|
||||||
# Set locale to: en_US.UTF-8
|
|
||||||
RUN apt-get -y install locales && \
|
|
||||||
sed -i.orig '/^# en_US.UTF-8.*/s/^#.//g' /etc/locale.gen && \
|
|
||||||
locale-gen && \
|
|
||||||
update-locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8
|
|
||||||
|
|
||||||
# Let ALSA lib talk to Pulseaudio.
|
# Let ALSA lib talk to Pulseaudio.
|
||||||
# AL lib: (WW) alc_initconfig: Failed to initialize backend "pulse"
|
# AL lib: (WW) alc_initconfig: Failed to initialize backend "pulse"
|
||||||
# ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
|
# ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
|
||||||
@ -47,6 +41,14 @@ RUN apt-get -y install fontconfig:i386
|
|||||||
# Enable Vulkan library.
|
# Enable Vulkan library.
|
||||||
RUN apt-get -y install libvulkan1 libvulkan1:i386 vulkan-utils
|
RUN apt-get -y install libvulkan1 libvulkan1:i386 vulkan-utils
|
||||||
|
|
||||||
|
RUN apt-get -y install gosu
|
||||||
|
|
||||||
|
# Set locale to: en_US.UTF-8
|
||||||
|
RUN apt-get -y install locales && \
|
||||||
|
/bin/echo -e "en_US.UTF-8 UTF-8\nen_GB.UTF-8 UTF-8" | tee /etc/locale.gen && \
|
||||||
|
locale-gen && \
|
||||||
|
update-locale LANG=en_US.UTF-8 LC_ALL=en_GB.UTF-8
|
||||||
|
|
||||||
LABEL maintainer="Andrey Arapov <andrey.arapov@nixaid.com>"
|
LABEL maintainer="Andrey Arapov <andrey.arapov@nixaid.com>"
|
||||||
COPY ./launch /launch
|
COPY ./launch /launch
|
||||||
ENTRYPOINT [ "/bin/bash", "/launch" ]
|
ENTRYPOINT [ "/bin/bash", "/launch" ]
|
||||||
|
24
launch
24
launch
@ -8,18 +8,14 @@ service dnsmasq start
|
|||||||
id user >/dev/null 2>&1
|
id user >/dev/null 2>&1
|
||||||
[ $? -eq 0 ] || useradd -s /bin/bash -d /home/user -u ${USER_ID:-1000} -G audio,video user
|
[ $? -eq 0 ] || useradd -s /bin/bash -d /home/user -u ${USER_ID:-1000} -G audio,video user
|
||||||
|
|
||||||
# NOTE: This workaround has been obsolete by "apt-get -y install libnm-glib4:i386 libnm-util2:i386".
|
|
||||||
# WORKAROUND to "steam launcher crashes on second run (debian sid in a chroot on debian wheezy) #3501"
|
|
||||||
# https://github.com/ValveSoftware/steam-for-linux/issues/3501
|
|
||||||
# rm -vf ~user/.local/share/Steam/config/config.vdf
|
|
||||||
|
|
||||||
# LD_PRELOAD=$LD_PRELOAD:$(for LIB in ${PRELOAD_LIBS:-libnvidia-glcore.so tls/libnvidia-tls.so libGLX_nvidia.so}; do find /hostlibs -type f -iregex ".*/${LIB}.*" -print0; done | tr '\0' ':' ; echo)
|
|
||||||
# su -l user -c "HOME=/home/user STEAM_RUNTIME=${STEAM_RUNTIME:-1} LD_PRELOAD=$LD_PRELOAD steam $@" |& grep -v 'wrong ELF class'
|
|
||||||
|
|
||||||
# LD_PRELOAD does not work well when you want to use Proton (modified version of Wine created by Steam)
|
|
||||||
# When running the games with Proton, they will fail with:
|
|
||||||
# "wine: Unhandled page fault on read access to 0x00000000 at address 0xf5c1c2b6 (thread 0009), starting debugger..."
|
|
||||||
# This is due to a mix of our LD_PRELOAD and Proton's. They add ".local/share/Steam/ubuntu12_{32,64}/gameoverlayrenderer.so".
|
|
||||||
|
|
||||||
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/hostlibs/32:/hostlibs/64:"
|
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/hostlibs/32:/hostlibs/64:"
|
||||||
su -l user -c "HOME=/home/user STEAM_RUNTIME=${STEAM_RUNTIME:-1} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} steam $@" |& grep -v 'wrong ELF class'
|
LC_ALL=en_GB.UTF-8
|
||||||
|
LANG=en_US.UTF-8
|
||||||
|
STEAM_RUNTIME=${STEAM_RUNTIME:-1}
|
||||||
|
|
||||||
|
export LD_LIBRARY_PATH
|
||||||
|
export LC_ALL
|
||||||
|
export LANG
|
||||||
|
export STEAM_RUNTIME
|
||||||
|
|
||||||
|
gosu user steam $@ |& grep -v 'wrong ELF class'
|
||||||
|
Loading…
Reference in New Issue
Block a user