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:
+32
-12
@@ -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"]
|
||||
|
||||
Reference in New Issue
Block a user