Skip to content

Commit 94482b3

Browse files
committed
#4 add umu-launcher and protonup qt for decoupled Steam game launching
1 parent e950077 commit 94482b3

4 files changed

Lines changed: 58 additions & 0 deletions

File tree

Dockerfile

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,24 @@ RUN \
3939
"https://cdn.fastly.steamstatic.com/client/installer/steam.deb" && \
4040
apt-get install -y \
4141
/tmp/steam.deb && \
42+
echo "**** install umu run ****" && \
43+
UMU_RELEASE=$(curl -sX GET "https://api.github.com/repos/Open-Wine-Components/umu-launcher/releases/latest" \
44+
| awk '/tag_name/{print $4;exit}' FS='[""]') && \
45+
curl -o \
46+
/tmp/umu.deb -L \
47+
"https://github.com/Open-Wine-Components/umu-launcher/releases/download/${UMU_RELEASE}/python3-umu-launcher_${UMU_RELEASE}-1_amd64_debian-13.deb" && \
48+
apt-get install -y \
49+
/tmp/umu.deb && \
50+
echo "**** install protonupqt ****" && \
51+
PRQT_RELEASE=$(curl -sX GET "https://api.github.com/repos/DavidoTek/ProtonUp-Qt/releases/latest" \
52+
| awk '/tag_name/{print $4;exit}' FS='[""]') && \
53+
curl -o \
54+
/tmp/prqt.app -L \
55+
"https://github.com/DavidoTek/ProtonUp-Qt/releases/download/${PRQT_RELEASE}/ProtonUp-Qt-$(echo ${PRQT_RELEASE} | sed 's/^v//g')-x86_64.AppImage" && \
56+
cd /tmp && \
57+
chmod +x prqt.app && \
58+
./prqt.app --appimage-extract && \
59+
mv squashfs-root /opt/protonup-qt && \
4260
echo "**** install 32 bit interposers ****" && \
4361
cd /tmp && \
4462
git clone \

README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,24 @@ This container leverages a userspace gamepad interposer to provide gamepad suppo
8585

8686
An absolute must for mouse and keyboard input is sending relative mouse input from the browser, you will need to use the "Gaming Mode" which is a small crosshair in the top right of the sidebar. This runs in fullscreen and traps you in the window, to exit this mode hold down escape for 3 seconds.
8787

88+
## Game Launching
89+
90+
Included in this image are tools for managing [Proton versions](https://davidotek.github.io/protonup-qt/) and a [command line launcher](https://github.com/Open-Wine-Components/umu-launcher). This means once a game or application is installed via Steam it can be directly launched on init by creating a config file and modifying `/config/.config/labwc/autostart` to run `umu-run` instead of Steam.:
91+
92+
```
93+
umu-run --config /config/game.toml
94+
```
95+
96+
```toml
97+
[umu]
98+
prefix = "/config/game"
99+
exe = "/config/Desktop/game/game.exe"
100+
proton = "/config/.local/share/Steam/compatibilitytools.d/GE-Proton-version"
101+
game_id = "0"
102+
```
103+
104+
This facilitates custom home directories with pre-configured runtimes and gamefiles for baking images outside of using the Steam launcher.
105+
88106
### Strict reverse proxies
89107

90108
This image uses a self-signed certificate by default. This naturally means the scheme is `https`.
@@ -623,5 +641,6 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
623641

624642
## Versions
625643

644+
* **04.02.26:** - Add ProtonUp Qt for runtime management and umu-run for custom auto game launching.
626645
* **17.01.26:** - Document Nvidia support.
627646
* **09.01.26:** - Initial Version.

readme-vars.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,25 @@ app_setup_block: |
6565
## Gaming mode
6666
6767
An absolute must for mouse and keyboard input is sending relative mouse input from the browser, you will need to use the "Gaming Mode" which is a small crosshair in the top right of the sidebar. This runs in fullscreen and traps you in the window, to exit this mode hold down escape for 3 seconds.
68+
69+
## Game Launching
70+
71+
Included in this image are tools for managing [Proton versions](https://davidotek.github.io/protonup-qt/) and a [command line launcher](https://github.com/Open-Wine-Components/umu-launcher). This means once a game or application is installed via Steam it can be directly launched on init by creating a config file and modifying `/config/.config/labwc/autostart` to run `umu-run` instead of Steam.:
72+
73+
```
74+
umu-run --config /config/game.toml
75+
```
76+
77+
```toml
78+
[umu]
79+
prefix = "/config/game"
80+
exe = "/config/Desktop/game/game.exe"
81+
proton = "/config/.local/share/Steam/compatibilitytools.d/GE-Proton-version"
82+
game_id = "0"
83+
```
84+
85+
This facilitates custom home directories with pre-configured runtimes and gamefiles for baking images outside of using the Steam launcher.
86+
6887
# init diagram
6988
init_diagram: |
7089
"steam:latest": {
@@ -137,5 +156,6 @@ init_diagram: |
137156
"steam:latest" <- Base Images
138157
# changelog
139158
changelogs:
159+
- {date: "04.02.26:", desc: "Add ProtonUp Qt for runtime management and umu-run for custom auto game launching."}
140160
- {date: "17.01.26:", desc: "Document Nvidia support."}
141161
- {date: "09.01.26:", desc: "Initial Version."}

root/defaults/menu_wayland.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@
33
<menu id="root-menu" label="MENU">
44
<item label="foot" icon="/usr/share/icons/hicolor/48x48/apps/foot.png"><action name="Execute"><command>/usr/bin/foot</command></action></item>
55
<item label="Steam" icon="/usr/share/icons/hicolor/48x48/apps/steam.png"><action name="Execute"><command>/usr/bin/wrapped-steam</command></action></item>
6+
<item label="ProtonUp-Qt" icon="/opt/protonup-qt/net.davidotek.pupgui2.png"><action name="Execute"><command>/opt/protonup-qt/AppRun</command></action></item>
67
</menu>
78
</openbox_menu>

0 commit comments

Comments
 (0)