69 lines
2.7 KiB
Docker
69 lines
2.7 KiB
Docker
FROM ubuntu:bionic
|
|
|
|
# To avoid problems with Dialog and curses wizards
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
|
|
RUN apt-get update && \
|
|
apt-get -y install gnupg
|
|
|
|
# Install Steam
|
|
RUN echo "deb [arch=amd64,i386] http://repo.steampowered.com/steam/ precise steam" | tee /etc/apt/sources.list.d/tmp-steam.list && \
|
|
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0xF24AEA9FB05498B7 && \
|
|
apt-get update && \
|
|
apt-get -y install steam-launcher && \
|
|
rm -vf /etc/apt/sources.list.d/tmp-steam.list
|
|
|
|
# Install Steam dependencies
|
|
RUN dpkg --add-architecture i386 && \
|
|
apt-get update && \
|
|
apt-get -y install libgl1-mesa-dri:i386 libgl1-mesa-glx:i386 libc6:i386
|
|
|
|
# Steam severely floods DNS requests on Linux, so let's use a DNS cache.
|
|
# Run docker image with: ``--dns 127.0.0.1`` flag to use the dnsmasq for DNS cache.
|
|
# https://github.com/ValveSoftware/steam-for-linux/issues/3401
|
|
RUN apt-get -y install dnsmasq
|
|
COPY ./dnsmasq.conf /etc/dnsmasq.conf
|
|
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.
|
|
# AL lib: (WW) alc_initconfig: Failed to initialize backend "pulse"
|
|
# ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
|
|
RUN apt-get -y install libasound2-plugins libasound2-plugins:i386
|
|
|
|
# Fix 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
|
|
RUN apt-get -y install libnm-glib4:i386 libnm-util2:i386
|
|
|
|
# Fix to: "Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element"
|
|
# https://github.com/ValveSoftware/steam-for-linux/issues/3307
|
|
RUN apt-get -y install fontconfig:i386
|
|
|
|
# Enable Vulkan library.
|
|
# DXVK is a Vulkan-based compatibility layer for Direct3D 11.
|
|
# It allows running 3D applications on Linux using Wine.
|
|
# To fully leverage the DXVK, you need the following:
|
|
# 1. Vulkan library installed;
|
|
# 2. Capable GPU that supports Vulkan;
|
|
# 3. Latest GPU drivers which support Vulkan;
|
|
#
|
|
# $ cat /home/user/.local/share/Steam/steamapps/common/Proton\ 3.16/dist/lib64/wine/dxvk/version
|
|
# 60a03a29599bf1f8c73efdbcf288e91ef261bc58 dxvk (v0.90-10-g60a03a2)
|
|
#
|
|
# https://developer.nvidia.com/vulkan-driver
|
|
# https://en.wikipedia.org/wiki/Vulkan_(API)#Compatibility
|
|
# https://github.com/lutris/lutris/wiki/How-to:-DXVK
|
|
# https://github.com/doitsujin/dxvk/wiki/Driver-support
|
|
# https://www.protondb.com
|
|
# https://lutris.net
|
|
RUN apt-get -y install libvulkan1 libvulkan1:i386 vulkan-utils
|
|
|
|
LABEL maintainer="Andrey Arapov <andrey.arapov@nixaid.com>"
|
|
COPY ./launch /launch
|
|
ENTRYPOINT [ "/bin/bash", "/launch" ]
|