updated wine to newer version, replaced xvfb with weston wayland that is using Xwayland. also switching from WineD3D to inbuilt vulkan support through DXVK which is send to weston using lavapipe instead of llvmpipe

This commit is contained in:
2026-06-13 22:17:22 +01:00
parent cf4c95fe2c
commit 5975979415
5 changed files with 72 additions and 31 deletions
+32 -12
View File
@@ -1,21 +1,40 @@
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
ENV DISPLAY=:99
# Install unzip first so we can extract the large static zips
RUN apt-get update && apt-get install -y unzip && rm -rf /var/lib/apt/lists/*
# Create user
RUN useradd -m -s /bin/bash ubuntu
# Copy and extract large static files first
COPY nosteam.zip /home/ubuntu/
COPY wine_user_folder.zip /home/ubuntu/
RUN cd /home/ubuntu && unzip nosteam.zip && rm nosteam.zip && unzip wine_user_folder.zip && rm wine_user_folder.zip
# Install all packages
RUN dpkg --add-architecture i386 && \
apt-get update && \
apt-get install -y \
wine \
wget \
gnupg2 \
ca-certificates \
&& mkdir -pm755 /etc/apt/keyrings \
&& wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key \
&& echo "deb [signed-by=/etc/apt/keyrings/winehq-archive.key] https://dl.winehq.org/wine-builds/ubuntu/ jammy main" > /etc/apt/sources.list.d/winehq.list \
&& apt-get update \
&& apt-get install -y --install-recommends winehq-stable \
&& apt-get install -y \
winetricks \
xvfb \
weston \
xwayland \
pulseaudio \
unzip \
ffmpeg \
pulseaudio-utils \
ffmpeg \
xdotool \
nodejs \
npm \
matchbox-window-manager \
mesa-vulkan-drivers \
gstreamer1.0-tools \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
@@ -29,18 +48,19 @@ RUN dpkg --add-architecture i386 && \
python3-pip \
&& rm -rf /var/lib/apt/lists/*
RUN useradd -m -s /bin/bash ubuntu
COPY nosteam.zip /home/ubuntu/
COPY wine_user_folder.zip /home/ubuntu/
# Environment variables
ENV VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/lvp_icd.x86_64.json"
ENV XDG_RUNTIME_DIR=/tmp/weston-runtime
ENV WAYLAND_DISPLAY=wayland-0
ENV DISPLAY=:99
# Copy frequently changing files last
COPY start.sh /home/ubuntu/start.sh
COPY streaming-agent/ /home/ubuntu/streaming-agent/
RUN cd /home/ubuntu && unzip nosteam.zip && rm nosteam.zip && unzip wine_user_folder.zip && rm wine_user_folder.zip
RUN cd /home/ubuntu/streaming-agent && npm install
RUN pip3 install -r /home/ubuntu/streaming-agent/requirements.txt
RUN chown -R ubuntu:ubuntu /home/ubuntu/
RUN chmod +x /home/ubuntu/start.sh
USER ubuntu
WORKDIR /home/ubuntu
CMD ["/bin/bash", "/home/ubuntu/start.sh"]