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 " COPY ./launch /launch ENTRYPOINT [ "/bin/bash", "/launch" ]