Last active 1 hour ago

Work in progress

steam.Dockerfile Raw
1FROM debian:trixie
2
3ENV DEBIAN_FRONTEND=noninteractive
4ENV LANG=en_US.UTF-8
5ENV LANGUAGE=en_US:en
6ENV LC_ALL=en_US.UTF-8
7
8# Set locale
9RUN apt-get update && apt-get install -y --no-install-recommends \
10 locales && \
11 apt-get clean && \
12 sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \
13 locale-gen
14
15# Install Wayland-specific packages
16RUN apt-get update && apt-get install -y --no-install-recommends \
17 dbus \
18 libwayland-client0 \
19 libwayland-egl1 && \
20 apt-get clean
21
22# Install X-specific packages
23RUN apt-get update && apt-get install -y --no-install-recommends \
24 dbus-x11 && \
25 apt-get clean
26
27# Add contrib, default is only main
28RUN sed -i 's/^Components:.*/Components: main contrib/g' /etc/apt/sources.list.d/debian.sources
29
30# Add 32-bit arch for Steam libraries
31RUN dpkg --add-architecture i386
32
33# Install Steam
34RUN apt-get update && apt-get install -y --no-install-recommends \
35 steam-installer \
36 pciutils \
37 libfontconfig1:i386 && \
38 apt-get clean
39
40# Additional
41# TODO: What is really needed?
42RUN apt-get update && apt-get install -y --no-install-recommends \
43 vulkan-tools \
44 mesa-utils \
45 x11-xserver-utils \
46 libvulkan1 \
47 mesa-vulkan-drivers && \
48 apt-get clean
49
50# TODO: Does `-storebeta` even work?
51# https://developer.valvesoftware.com/wiki/Command_line_options_(Steam)
52CMD ["/usr/games/steam", "-storebeta"]
53
54# xhost +
55# docker run -it --name steam -e XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR -e WAYLAND_DISPLAY=$WAYLAND_DISPLAY -v $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY:$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --privileged steam:trixie
56# xhost -
57
58# See also https://git.sr.ht/~whynothugo/steam-container
59