Reddit test: add expected files
[gofetch.git] / test / expected / REDDIT / 2018-10-09_11-00_Getting_Steam_Overlay_t
1 GETTING STEAM OVERLAY TO WORK WITH LUTRIS WINE GAMES (AKA. EASY
2 STEAM CONTROLLER FOR OVERWATCH)
3
4 [linux_gaming] 2018-10-09_11-00
5
6 o Reference: 2018-10-09_11-00_Getting_Steam_Overlay_t
7 o News link: https://www.reddit.com/r/linux_gaming/comments/9lcoly/getting_steam_overlay_to_work_with_lutris_wine/
8 o Source link:
9
10
11 So, after wasting countless hours unsuccessfully seeking for a
12 way to execute Lutris Wine games with a Steam Overlay (as I
13 was able to do with PlayOnLinux runners a long time ago) I
14 finally got it working today after finding [1]this post .
15 Following is the procedure using Overwatch as an example
16 (assuming you have it already installed through Lutris).
17
18 First run lutris -d lutris:rungame/overwatch in a terminal,
19 then exit the game asap and check the log trail. You'll need
20 retrieve a log like this (note this is only a partial stub):
21 ...
22
23 INFO 2018-10-04 09:29:46,005 [dxvk]:Replacing
24 /home/qchto/games/lutris/overwatch/drive_c/windows/syswow64/d3-
25 d10_1 with DXVK version
26
27 INFO 2018-10-04 09:29:46,006 [dxvk]:Replacing
28 /home/qchto/games/lutris/overwatch/drive_c/windows/syswow64/d3-
29 d10 with DXVK version
30
31 DEBUG 2018-10-04 09:29:46,071 [game]:Launching Overwatch:
32 {'env': {'DXVK_CONFIG_FILE':
33 '/home/qchto/games/lutris/overwatch/dxvk.conf', 'DXVK_HUD':
34 '0', 'DXVK_STATE_CACHE_PATH':
35 '/home/qchto/games/lutris/overwatch', '__GL_SHADER_DISK_CACHE':
36 '1', '__GL_SHADER_DISK_CACHE_PATH':
37 '/home/qchto/games/lutris/overwatch', '__GL_SHADER_DISK_CACHE_-
38 SKIP_CLEANUP': '1', 'DRI_PRIME': '0', 'STEAM_RUNTIME':
39 '/home/qchto/.local/share/lutris/runtime/steam', 'LD_LIBRARY_P-
40 ATH': '/home/qchto/.local/share/lutris/runners/wine/staging-3.-
41 17-x86_64/lib:/home/qchto/.local/share/lutris/runners/wine/sta-
42 ging-3.17-x86_64/lib64:/usr/lib:/usr/lib32:/lib/x86_64-linux-g-
43 nu:/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/i386-
44 linux-gnu:/home/qchto/.local/share/lutris/runtime/lib32:/home/-
45 qchto/.local/share/lutris/runtime/steam/i386/lib/i386-linux-gn-
46 u:/home/qchto/.local/share/lutris/runtime/steam/i386/lib:/home-
47 /qchto/.local/share/lutris/runtime/steam/i386/usr/lib/i386-lin-
48 ux-gnu:/home/qchto/.local/share/lutris/runtime/steam/i386/usr/-
49 lib:/home/qchto/.local/share/lutris/runtime/lib64:/home/qchto/-
50 .local/share/lutris/runtime/steam/amd64/lib/x86_64-linux-gnu:/-
51 home/qchto/.local/share/lutris/runtime/steam/amd64/lib:/home/q-
52 chto/.local/share/lutris/runtime/steam/amd64/usr/lib/x86_64-li-
53 nux-gnu:/home/qchto/.local/share/lutris/runtime/steam/amd64/us-
54 r/lib:$LD_LIBRARY_PATH', 'WINEDEBUG': '-all', 'WINEARCH':
55 'win64', 'WINE':
56 '/home/qchto/.local/share/lutris/runners/wine/staging-3.17-x86-
57 _64/bin/wine', 'WINEPREFIX':
58 '/home/qchto/games/lutris/overwatch', 'WINEDLLOVERRIDES':
59 'd3d10,d3d10_1,d3d10core,d3d11,dxgi=n'}, 'command':
60 ['/home/qchto/.local/share/lutris/runners/wine/staging-3.17-x8-
61 6_64/bin/wine', '/home/qchto/games/lutris/overwatch/drive_c/Pr-
62 ogram Files (x86)/Battle.net/Battle.net Launcher.exe']}
63
64 DEBUG 2018-10-04 09:29:46,072 [thread]:Command env:
65 SDL_VIDEO_FULLSCREEN_DISPLAY="off" DXVK_CONFIG_FILE="/home/qch-
66 to/games/lutris/overwatch/dxvk.conf" DXVK_HUD="0"
67 DXVK_STATE_CACHE_PATH="/home/qchto/games/lutris/overwatch" __G-
68 L_SHADER_DISK_CACHE="1" __GL_SHADER_DISK_CACHE_PATH="/home/qch-
69 to/games/lutris/overwatch" __GL_SHADER_DISK_CACHE_SKIP_CLEANUP-
70 ="1" DRI_PRIME="0"
71 STEAM_RUNTIME="/home/qchto/.local/share/lutris/runtime/steam"
72 LD_LIBRARY_PATH="/home/qchto/.local/share/lutris/runners/wine/-
73 staging-3.17-x86_64/lib:/home/qchto/.local/share/lutris/runner-
74 s/wine/staging-3.17-x86_64/lib64:/usr/lib:/usr/lib32:/lib/x86_-
75 64-linux-gnu:/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu:/us-
76 r/lib/i386-linux-gnu:/home/qchto/.local/share/lutris/runtime/l-
77 ib32:/home/qchto/.local/share/lutris/runtime/steam/i386/lib/i3-
78 86-linux-gnu:/home/qchto/.local/share/lutris/runtime/steam/i38-
79 6/lib:/home/qchto/.local/share/lutris/runtime/steam/i386/usr/l-
80 ib/i386-linux-gnu:/home/qchto/.local/share/lutris/runtime/stea-
81 m/i386/usr/lib:/home/qchto/.local/share/lutris/runtime/lib64:/-
82 home/qchto/.local/share/lutris/runtime/steam/amd64/lib/x86_64-
83 linux-gnu:/home/qchto/.local/share/lutris/runtime/steam/amd64/-
84 lib:/home/qchto/.local/share/lutris/runtime/steam/amd64/usr/li-
85 b/x86_64-linux-gnu:/home/qchto/.local/share/lutris/runtime/ste-
86 am/amd64/usr/lib:$LD_LIBRARY_PATH" WINEDEBUG="-all"
87 WINEARCH="win64" WINE="/home/qchto/.local/share/lutris/runners-
88 /wine/staging-3.17-x86_64/bin/wine" WINEPREFIX="/home/qchto/ga-
89 mes/lutris/overwatch" WINEDLLOVERRIDES="d3d10,d3d10_1,d3d10cor-
90 e,d3d11,dxgi=n"
91
92 DEBUG 2018-10-04 09:29:46,073 [thread]:Running command:
93 "/home/qchto/.local/share/lutris/runners/wine/staging-3.17-x86-
94 _64/bin/wine" "/home/qchto/games/lutris/overwatch/drive_c/Prog-
95 ram Files (x86)/Battle.net/Battle.net Launcher.exe"
96
97 DEBUG 2018-10-04 09:29:46,073 [thread]:Storing environment
98 variable SDL_VIDEO_FULLSCREEN_DISPLAY to off
99
100 DEBUG 2018-10-04 09:29:46,073 [thread]:Storing environment
101 variable DXVK_CONFIG_FILE to
102 /home/qchto/games/lutris/overwatch/dxvk.conf
103
104 ...
105
106 Proceed by copying everything in the line after
107 [thread]:Command env: , separate every variable in a line and
108 preceed it by an export declaration. Then add the line
109 [thread]:Running command: at the end of your script (or even
110 better, add them to local variables and then execute it to end
111 with a file like this (note that the LUTRIS_WINE and GAME_EXE
112 variables are the "Running command" log line, and GAME_EXE can
113 be replaced to reference another executable, in this case my
114 local Overwatch.exe): #!/bin/bash
115
116 # used "lutris -d lutris:rungame/overwatch" to retrieve env
117 variables
118
119 export SDL_VIDEO_FULLSCREEN_DISPLAY="off"
120
121 export DXVK_CONFIG_FILE="/home/qchto/games/lutris/overwatch/dx-
122 vk.conf"
123
124 export DXVK_HUD="0"
125
126 export DXVK_STATE_CACHE_PATH="/home/qchto/games/lutris/overwat-
127 ch"
128
129 export __GL_SHADER_DISK_CACHE="1"
130
131 export __GL_SHADER_DISK_CACHE_PATH="/home/qchto/games/lutris/o-
132 verwatch"
133
134 export __GL_SHADER_DISK_CACHE_SKIP_CLEANUP="1"
135
136 export DRI_PRIME="0"
137
138 export STEAM_RUNTIME="/home/qchto/.local/share/lutris/runtime/-
139 steam"
140
141 export LD_LIBRARY_PATH="/home/qchto/.local/share/lutris/runner-
142 s/wine/staging-3.17-x86_64/lib:/home/qchto/.local/share/lutris-
143 /runners/wine/staging-3.17-x86_64/lib64:/usr/lib:/usr/lib32:/l-
144 ib/x86_64-linux-gnu:/lib/i386-linux-gnu:/usr/lib/x86_64-linux-
145 gnu:/usr/lib/i386-linux-gnu:/home/qchto/.local/share/lutris/ru-
146 ntime/lib32:/home/qchto/.local/share/lutris/runtime/steam/i386-
147 /lib/i386-linux-gnu:/home/qchto/.local/share/lutris/runtime/st-
148 eam/i386/lib:/home/qchto/.local/share/lutris/runtime/steam/i38-
149 6/usr/lib/i386-linux-gnu:/home/qchto/.local/share/lutris/runti-
150 me/steam/i386/usr/lib:/home/qchto/.local/share/lutris/runtime/-
151 lib64:/home/qchto/.local/share/lutris/runtime/steam/amd64/lib/-
152 x86_64-linux-gnu:/home/qchto/.local/share/lutris/runtime/steam-
153 /amd64/lib:/home/qchto/.local/share/lutris/runtime/steam/amd64-
154 /usr/lib/x86_64-linux-gnu:/home/qchto/.local/share/lutris/runt-
155 ime/steam/amd64/usr/lib:$LD_LIBRARY_PATH"
156
157 export WINEDEBUG="-all"
158
159 export WINEARCH="win64"
160
161 export WINE="/home/qchto/.local/share/lutris/runners/wine/stag-
162 ing-3.17-x86_64/bin/wine"
163
164 export WINEPREFIX="/home/qchto/games/lutris/overwatch"
165
166 export WINEDLLOVERRIDES="d3d10,d3d10_1,d3d10core,d3d11,dxgi=n"
167
168 LUTRIS_WINE="/home/qchto/.local/share/lutris/runners/wine/stag-
169 ing-3.17-x86_64/bin/wine"
170
171 GAME_EXE="/home/qchto/games/cache/data/battlenet/Overwatch/Ove-
172 rwatch.exe"
173
174 "$LUTRIS_WINE" "$GAME_EXE"
175
176 Save this file wherever you like (e.g.
177 /home/qchto/games/launchers/overwatch.sh ), give it execution
178 permission (e.g. chmod +x
179 /home/qchto/games/launchers/overwatch.sh ). Now you should be
180 able to execute it in order to test it (e.g.
181 ./home/qchto/games/launchers/overwatch.sh ).
182
183 Finally, open Steam, add this script as a non-steam game
184 shortcut (make sure to select "All files" in the file selector
185 for the .sh files to appear), and it's done. You can now
186 execute this shortcut and get the Steam Overlay (even in Big
187 Picture with Steam Controller custom controller mappings)
188 working and ready to go.
189
190 As mentioned, this procedure should also work for any other
191 Lutris Wine game (although be warned that some specific
192 problems may arise depending on wine configuration). I have
193 personally tested it not only with Overwatch but also with
194 StarCraft II and it work perfectly on both.
195
196 Hope you find this helpful!
197
198
199
200 [1] https://forums.lutris.net/t/how-to-run-games-from-commandl-
201 ine-from-winesteam/95/5
202
203
204 ** klinch3R
205 Nice effort
206
207 ** qchto
208 Thanks. It's just that figuring out this took me far longer
209 that I expected it would, so if someone is looking into
210 achieving this luckily he/she will be able to just find this
211 post, so imo any effort put is worth to be reported.
212
213
214 ** UrbanFlash
215 Maybe i'm missing something, but i don't see the advantage over
216 just adding the launcher Lutris creates as non-Steam game. Works
217 well enough with Heroes of the Storm here...
218
219 ** qchto
220 For once, the autogenerated launchers does not save
221 environmental variables, so for games like Overwatch that
222 require them (for things like DXVK) it doesn't even launch
223 the game. And just to clear things up, using a .sh script
224 with lutris lutris:rungame/overwatch makes the app not report
225 properly for the Steam overlay to be recognized.
226 So by this method you're ensuring you're running the same
227 wine environment launched by Lutris without depending on it
228 to manage the process, therefore allowing for the Steam
229 overlay to properly load.
230
231 ** UrbanFlash
232 DKVK works fine for me. I notice no difference between
233 launching the game from within Lutris, via the launcher in
234 the menu or via the link in Steam.
235
236 ** qchto
237 Do you have DXVK installed at system level? Having its
238 variables exported to your session? Because after
239 checking a couple .desktop files generated by Lutris
240 (which tbh I was not even aware were created, as i3
241 makes a desktop seems redundant) I still don't see any
242 declaration other than the WINE prefix, and none of
243 them even launch the application they refer (tested for
244 Overwatch and Battle.net automatically generated
245 launchers).
246
247 ** UrbanFlash
248 I don't have DXVK installed outside of Lutris and
249 have done nothing apart from the things necessary to
250 get the Blizzard app running.
251
252
253
254
255
256 ** shmerl
257 Better figure out how to do it without Steam. That's the right
258 method.
259
260 ** qchto
261 While I agree, to provide some background on why I went this
262 route:
263
264 I spent a lot of time trying to configure sc-controller to
265 emulate a xbox-controller with gyro controlled right stick
266 but it simply wouldn't allow for a duplicated RStick binding
267 for the Steam Controller in both the right touchpad and the
268 gyro (unlike Steam Overlay that does).
269
270 Even when I gave up on this and finally tried to test
271 sc-controller in-game for Overwatch, it kept showing an
272 erratic behavior with the game loaded (still not sure why,
273 but when I tried to use the SC left tocuhpad it randomly
274 started sending other outputs that made the game unplayable
275 with it).
276
277 The Steam Overlay provide much more that just the ability to
278 use the Steam Controller with decent xinput bindings, but
279 also other features like ease to control the game with only a
280 controller (for example allowing to exit the game if
281 soft-locked without having to use kb&m), change the
282 Controller configuration on the fly more easily (without
283 depending on kb&m) and even have a more streamlined
284 experience by using features like the Steam Chord button and
285 Steam enabled screenshots, for example.
286 So it's not that I didn't tried to not use Steam..
287
288 ** shmerl
289 Yeah, I agree sc-controller can still benefit from some
290 improvements. It's still not using upstream kernel driver
291 for instance.
292
293 ** qchto
294 Gotta admit though, it's great to have alternatives
295 available.
296
297 ** shmerl
298 For sure, especially for those who aren't using
299 Steam to begin with.
300
301
302
303
304
305 ** Brunfunstudios
306 Nice work. Would be kinda nice to have a right click option just
307 saying add_to_Steam and this being handled in the background. :)
308 Just an idea
309
310 ** Razdiel
311 Since you gave it a try why not post benchmarks or general
312 feedback about it? was it worth it running it with proton?
313 GJ btw the linux comunity salutes you brave soldier!
314
315