-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lutris #103
Lutris #103
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this! I just pulled it and gave it a try, and it's looking pretty good. I left a couple of minor comments. Also, could you please fixing the lint warnings in the changed files? Feel free to ignore the ones in the lutris.yml
though; I think we just need to disable those particular warnings globally.
One issue I ran into on launching the new container was that Lutris complained about not having i386
drivers for Vulkan. I changed the Dockerfile
to also install a few more packages and that went away (libvulkan1 libvulkan1:i386 mesa-vulkan-drivers mesa-vulkan-drivers:i386
). Have you seen any issues with drivers, or was that something peculiar to my setup?
Unfortunately I wasn't able to try much of the actual functionality -- I tried linking my Epic Games account but kept getting an "unauthorized" error. I don't have accounts with the other sources so I just left it at that, but the containerization seems to have gone well :-)
depends_on: | ||
- sunshine | ||
image: ghcr.io/games-on-whales/lutris:edge | ||
build: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It may be a good idea to comment out the build:
section in the checked-in version. Historically we've done that to help prevent confusion around whether a pre-built image was being used or not; it probably isn't necessary anymore, but most of our other files still do it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense. This is my first PR on any github project :) - so I'll need a hand. Do I do this in my fork and then create a new PR?
|
||
# Get the latest wine && winetricks | ||
# The following is based on gloriouseggroll's advice on how to get out of wine dependency hell | ||
RUN dpkg --add-architecture i386 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It may be easier to maintain this going forward if we move it to a style more like the other containers (a single RUN
command, a REQUIRED_PACKAGES
arg, standardized setup/cleanup commands).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it. I can see how you're styling this - so will follow this from now on. I have another branch I'm working on too for some other functionality I'll PR with you guys at a later date.
@ABeltramo and I dug into the Epic Games issue a bit more and it looks like a Lutris bug that has been fixed. That led me to notice that this is actually installing the Lutris version from the standard Ubuntu repo, which is pretty old at this point (0.5.9.1). I think it would be better to download a more up-to-date version from the GitHub page during the build process, so we can take advantage of new features without having to wait for them to make it into a new Ubuntu LTS release. |
Lol I've just been doing this yesterday night and did not even realized someone tried it. I added lutris repository for latest versions on my side. Wine is not detected and complain about freetype so maybe I'm just installing it wrong, gonna follow your method and add the repo too. Here is what I used so far ARG BASE_APP_IMAGE
# hadolint ignore=DL3006
FROM ${BASE_APP_IMAGE}
ARG DEBIAN_FRONTEND=noninteractive
ARG REQUIRED_PACKAGES=" \
libfreetype6 wine64 steam lutris \
libvulkan1 libvulkan1:i386 \
mesa-vulkan-drivers mesa-vulkan-drivers:i386 \
libdbus-1-3 libgtk-3-0 libegl1 libsdl2-2.0-0 \
"
RUN apt-get update -y && \
apt-get install -y --no-install-recommends wget software-properties-common && \
echo "deb https://download.opensuse.org/repositories/home:/strycore/Debian_11/ ./" | tee /etc/apt/sources.list.d/lutris.list && \
wget -qO- https://download.opensuse.org/repositories/home:/strycore/Debian_11/Release.key | tee /etc/apt/trusted.gpg.d/lutris.asc && \
# \
# Install steam (Steam is 32-bit only) \
dpkg --add-architecture i386 && \
add-apt-repository multiverse && \
apt-get update -y && \
apt-get install -y --no-install-recommends $REQUIRED_PACKAGES && \
# \
# Cleanup \
apt-get remove -y software-properties-common && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*
COPY --chmod=777 scripts/startup.sh /opt/gow/startup-app.sh
USER ${UNAME}
ENV XDG_RUNTIME_DIR=/tmp/.X11-unix
ARG IMAGE_SOURCE
LABEL org.opencontainers.image.source $IMAGE_SOURCE Lutris is a great aggregator (though not as complete as Playnite) but a console/TV screen would be better in the end, it would be good if the API code was separated from the GTK GUI on their side. |
Ended up sharing it in another PR here : #115 |
Superseeded by #177 |
Fairly simple new addition.
A new base Lutris image that borrows heavily from the Steam image as an example. Image installs the necessary wine and winetricks foundation, then installs the lutris package.
Utilises the common /home/retro/ volume for subsequent lutris installs.
This image does not include any wine helping functions outside of what Lutris can do through its UI. It's a pure Lutris install only.