X-Git-Url: http://git.nikiroo.be/?p=gofetch.git;a=blobdiff_plain;f=test%2Fsource%2FREDDIT%2Fwww.reddit.com%2F__r_linux_gaming_comments_9lcoly_getting_steam_overlay_to_work_with_lutris_wine_%2F_null;fp=test%2Fsource%2FREDDIT%2Fwww.reddit.com%2F__r_linux_gaming_comments_9lcoly_getting_steam_overlay_to_work_with_lutris_wine_%2F_null;h=2bcf2cb5a3a5124eb9454a09c1bc41929c226d81;hp=0000000000000000000000000000000000000000;hb=3b9c23bd274b24cb4a13fc3435f83e9d7bbafab8;hpb=b19b36322d5453c1b01761dd76190a67465e0d53 diff --git a/test/source/REDDIT/www.reddit.com/__r_linux_gaming_comments_9lcoly_getting_steam_overlay_to_work_with_lutris_wine_/_null b/test/source/REDDIT/www.reddit.com/__r_linux_gaming_comments_9lcoly_getting_steam_overlay_to_work_with_lutris_wine_/_null new file mode 100644 index 0000000..2bcf2cb --- /dev/null +++ b/test/source/REDDIT/www.reddit.com/__r_linux_gaming_comments_9lcoly_getting_steam_overlay_to_work_with_lutris_wine_/_null @@ -0,0 +1,897 @@ +Getting Steam Overlay to work with Lutris Wine games (aka. easy Steam Controller for Overwatch) : linux_gaming
Press J to jump to the feed. Press question mark to learn the rest of the keyboard shortcuts
6

Getting Steam Overlay to work with Lutris Wine games (aka. easy Steam Controller for Overwatch)

+ +

So, after wasting countless hours unsuccessfully seeking for a way to execute Lutris Wine games with a Steam Overlay (as I was able to do with PlayOnLinux runners a long time ago) I finally got it working today after finding this post. Following is the procedure using Overwatch as an example (assuming you have it already installed through Lutris).

First run lutris -d lutris:rungame/overwatch in a terminal, then exit the game asap and check the log trail. You'll need retrieve a log like this (note this is only a partial stub):

...
+INFO     2018-10-04 09:29:46,005 [dxvk]:Replacing /home/qchto/games/lutris/overwatch/drive_c/windows/syswow64/d3d10_1 with DXVK version
+INFO     2018-10-04 09:29:46,006 [dxvk]:Replacing /home/qchto/games/lutris/overwatch/drive_c/windows/syswow64/d3d10 with DXVK version
+DEBUG    2018-10-04 09:29:46,071 [game]:Launching Overwatch: {'env': {'DXVK_CONFIG_FILE': '/home/qchto/games/lutris/overwatch/dxvk.conf', 'DXVK_HUD': '0', 'DXVK_STATE_CACHE_PATH': '/home/qchto/games/lutris/overwatch', '__GL_SHADER_DISK_CACHE': '1', '__GL_SHADER_DISK_CACHE_PATH': '/home/qchto/games/lutris/overwatch', '__GL_SHADER_DISK_CACHE_SKIP_CLEANUP': '1', 'DRI_PRIME': '0', 'STEAM_RUNTIME': '/home/qchto/.local/share/lutris/runtime/steam', 'LD_LIBRARY_PATH': '/home/qchto/.local/share/lutris/runners/wine/staging-3.17-x86_64/lib:/home/qchto/.local/share/lutris/runners/wine/staging-3.17-x86_64/lib64:/usr/lib:/usr/lib32:/lib/x86_64-linux-gnu:/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu:/home/qchto/.local/share/lutris/runtime/lib32:/home/qchto/.local/share/lutris/runtime/steam/i386/lib/i386-linux-gnu:/home/qchto/.local/share/lutris/runtime/steam/i386/lib:/home/qchto/.local/share/lutris/runtime/steam/i386/usr/lib/i386-linux-gnu:/home/qchto/.local/share/lutris/runtime/steam/i386/usr/lib:/home/qchto/.local/share/lutris/runtime/lib64:/home/qchto/.local/share/lutris/runtime/steam/amd64/lib/x86_64-linux-gnu:/home/qchto/.local/share/lutris/runtime/steam/amd64/lib:/home/qchto/.local/share/lutris/runtime/steam/amd64/usr/lib/x86_64-linux-gnu:/home/qchto/.local/share/lutris/runtime/steam/amd64/usr/lib:$LD_LIBRARY_PATH', 'WINEDEBUG': '-all', 'WINEARCH': 'win64', 'WINE': '/home/qchto/.local/share/lutris/runners/wine/staging-3.17-x86_64/bin/wine', 'WINEPREFIX': '/home/qchto/games/lutris/overwatch', 'WINEDLLOVERRIDES': 'd3d10,d3d10_1,d3d10core,d3d11,dxgi=n'}, 'command': ['/home/qchto/.local/share/lutris/runners/wine/staging-3.17-x86_64/bin/wine', '/home/qchto/games/lutris/overwatch/drive_c/Program Files (x86)/Battle.net/Battle.net Launcher.exe']}
+DEBUG    2018-10-04 09:29:46,072 [thread]:Command env: SDL_VIDEO_FULLSCREEN_DISPLAY="off" DXVK_CONFIG_FILE="/home/qchto/games/lutris/overwatch/dxvk.conf" DXVK_HUD="0" DXVK_STATE_CACHE_PATH="/home/qchto/games/lutris/overwatch" __GL_SHADER_DISK_CACHE="1" __GL_SHADER_DISK_CACHE_PATH="/home/qchto/games/lutris/overwatch" __GL_SHADER_DISK_CACHE_SKIP_CLEANUP="1" DRI_PRIME="0" STEAM_RUNTIME="/home/qchto/.local/share/lutris/runtime/steam" LD_LIBRARY_PATH="/home/qchto/.local/share/lutris/runners/wine/staging-3.17-x86_64/lib:/home/qchto/.local/share/lutris/runners/wine/staging-3.17-x86_64/lib64:/usr/lib:/usr/lib32:/lib/x86_64-linux-gnu:/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu:/home/qchto/.local/share/lutris/runtime/lib32:/home/qchto/.local/share/lutris/runtime/steam/i386/lib/i386-linux-gnu:/home/qchto/.local/share/lutris/runtime/steam/i386/lib:/home/qchto/.local/share/lutris/runtime/steam/i386/usr/lib/i386-linux-gnu:/home/qchto/.local/share/lutris/runtime/steam/i386/usr/lib:/home/qchto/.local/share/lutris/runtime/lib64:/home/qchto/.local/share/lutris/runtime/steam/amd64/lib/x86_64-linux-gnu:/home/qchto/.local/share/lutris/runtime/steam/amd64/lib:/home/qchto/.local/share/lutris/runtime/steam/amd64/usr/lib/x86_64-linux-gnu:/home/qchto/.local/share/lutris/runtime/steam/amd64/usr/lib:$LD_LIBRARY_PATH" WINEDEBUG="-all" WINEARCH="win64" WINE="/home/qchto/.local/share/lutris/runners/wine/staging-3.17-x86_64/bin/wine" WINEPREFIX="/home/qchto/games/lutris/overwatch" WINEDLLOVERRIDES="d3d10,d3d10_1,d3d10core,d3d11,dxgi=n" 
+DEBUG    2018-10-04 09:29:46,073 [thread]:Running command: "/home/qchto/.local/share/lutris/runners/wine/staging-3.17-x86_64/bin/wine" "/home/qchto/games/lutris/overwatch/drive_c/Program Files (x86)/Battle.net/Battle.net Launcher.exe"
+DEBUG    2018-10-04 09:29:46,073 [thread]:Storing environment variable SDL_VIDEO_FULLSCREEN_DISPLAY to off
+DEBUG    2018-10-04 09:29:46,073 [thread]:Storing environment variable DXVK_CONFIG_FILE to /home/qchto/games/lutris/overwatch/dxvk.conf
+...
+

Proceed by copying everything in the line after [thread]:Command env:, separate every variable in a line and preceed it by an export declaration. Then add the line [thread]:Running command: at the end of your script (or even better, add them to local variables and then execute it to end with a file like this (note that the LUTRIS_WINE and GAME_EXE variables are the "Running command" log line, and GAME_EXE can be replaced to reference another executable, in this case my local Overwatch.exe):

#!/bin/bash
+# used "lutris -d lutris:rungame/overwatch" to retrieve env variables
+
+export SDL_VIDEO_FULLSCREEN_DISPLAY="off"
+export DXVK_CONFIG_FILE="/home/qchto/games/lutris/overwatch/dxvk.conf"
+export DXVK_HUD="0"
+export DXVK_STATE_CACHE_PATH="/home/qchto/games/lutris/overwatch"
+export __GL_SHADER_DISK_CACHE="1"
+export __GL_SHADER_DISK_CACHE_PATH="/home/qchto/games/lutris/overwatch"
+export __GL_SHADER_DISK_CACHE_SKIP_CLEANUP="1"
+export DRI_PRIME="0"
+export STEAM_RUNTIME="/home/qchto/.local/share/lutris/runtime/steam"
+export LD_LIBRARY_PATH="/home/qchto/.local/share/lutris/runners/wine/staging-3.17-x86_64/lib:/home/qchto/.local/share/lutris/runners/wine/staging-3.17-x86_64/lib64:/usr/lib:/usr/lib32:/lib/x86_64-linux-gnu:/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu:/home/qchto/.local/share/lutris/runtime/lib32:/home/qchto/.local/share/lutris/runtime/steam/i386/lib/i386-linux-gnu:/home/qchto/.local/share/lutris/runtime/steam/i386/lib:/home/qchto/.local/share/lutris/runtime/steam/i386/usr/lib/i386-linux-gnu:/home/qchto/.local/share/lutris/runtime/steam/i386/usr/lib:/home/qchto/.local/share/lutris/runtime/lib64:/home/qchto/.local/share/lutris/runtime/steam/amd64/lib/x86_64-linux-gnu:/home/qchto/.local/share/lutris/runtime/steam/amd64/lib:/home/qchto/.local/share/lutris/runtime/steam/amd64/usr/lib/x86_64-linux-gnu:/home/qchto/.local/share/lutris/runtime/steam/amd64/usr/lib:$LD_LIBRARY_PATH"
+export  WINEDEBUG="-all"
+export WINEARCH="win64"
+export WINE="/home/qchto/.local/share/lutris/runners/wine/staging-3.17-x86_64/bin/wine"
+export WINEPREFIX="/home/qchto/games/lutris/overwatch"
+export WINEDLLOVERRIDES="d3d10,d3d10_1,d3d10core,d3d11,dxgi=n"
+
+LUTRIS_WINE="/home/qchto/.local/share/lutris/runners/wine/staging-3.17-x86_64/bin/wine"
+GAME_EXE="/home/qchto/games/cache/data/battlenet/Overwatch/Overwatch.exe"
+
+"$LUTRIS_WINE" "$GAME_EXE"
+

Save this file wherever you like (e.g. /home/qchto/games/launchers/overwatch.sh), give it execution permission (e.g. chmod +x /home/qchto/games/launchers/overwatch.sh). Now you should be able to execute it in order to test it (e.g. ./home/qchto/games/launchers/overwatch.sh).

Finally, open Steam, add this script as a non-steam game shortcut (make sure to select "All files" in the file selector for the .sh files to appear), and it's done. You can now execute this shortcut and get the Steam Overlay (even in Big Picture with Steam Controller custom controller mappings) working and ready to go.

As mentioned, this procedure should also work for any other Lutris Wine game (although be warned that some specific problems may arise depending on wine configuration). I have personally tested it not only with Overwatch but also with StarCraft II and it work perfectly on both.

Hope you find this helpful!

14 comments
61% Upvoted
What are your thoughts? Log in or Sign uplog insign up
level 1
1 point · 21 hours ago

Nice effort

level 2
Original Poster1 point · 19 hours ago

Thanks. It's just that figuring out this took me far longer that I expected it would, so if someone is looking into achieving this luckily he/she will be able to just find this post, so imo any effort put is worth to be reported.

level 1
1 point · 20 hours ago

Maybe i'm missing something, but i don't see the advantage over just adding the launcher Lutris creates as non-Steam game. Works well enough with Heroes of the Storm here...

level 2
Original Poster1 point · 19 hours ago

For once, the autogenerated launchers does not save environmental variables, so for games like Overwatch that require them (for things like DXVK) it doesn't even launch the game. And just to clear things up, using a .sh script with lutris lutris:rungame/overwatch makes the app not report properly for the Steam overlay to be recognized.

So by this method you're ensuring you're running the same wine environment launched by Lutris without depending on it to manage the process, therefore allowing for the Steam overlay to properly load.

level 3
1 point · 19 hours ago

DKVK works fine for me. I notice no difference between launching the game from within Lutris, via the launcher in the menu or via the link in Steam.

level 4
Original Poster1 point · 18 hours ago

Do you have DXVK installed at system level? Having its variables exported to your session? Because after checking a couple .desktop files generated by Lutris (which tbh I was not even aware were created, as i3 makes a desktop seems redundant) I still don't see any declaration other than the WINE prefix, and none of them even launch the application they refer (tested for Overwatch and Battle.net automatically generated launchers).

level 5
1 point · 13 hours ago

I don't have DXVK installed outside of Lutris and have done nothing apart from the things necessary to get the Blizzard app running.

level 1
1 point · 19 hours ago

Better figure out how to do it without Steam. That's the right method.

level 2
Original Poster1 point · 19 hours ago

While I agree, to provide some background on why I went this route:

  1. I spent a lot of time trying to configure sc-controller to emulate a xbox-controller with gyro controlled right stick but it simply wouldn't allow for a duplicated RStick binding for the Steam Controller in both the right touchpad and the gyro (unlike Steam Overlay that does).

  2. Even when I gave up on this and finally tried to test sc-controller in-game for Overwatch, it kept showing an erratic behavior with the game loaded (still not sure why, but when I tried to use the SC left tocuhpad it randomly started sending other outputs that made the game unplayable with it).

  3. The Steam Overlay provide much more that just the ability to use the Steam Controller with decent xinput bindings, but also other features like ease to control the game with only a controller (for example allowing to exit the game if soft-locked without having to use kb&m), change the Controller configuration on the fly more easily (without depending on kb&m) and even have a more streamlined experience by using features like the Steam Chord button and Steam enabled screenshots, for example.

So it's not that I didn't tried to not use Steam..

level 3
1 point · 18 hours ago

Yeah, I agree sc-controller can still benefit from some improvements. It's still not using upstream kernel driver for instance.

level 4
Original Poster1 point · 18 hours ago

Gotta admit though, it's great to have alternatives available.

level 5
2 points · 18 hours ago

For sure, especially for those who aren't using Steam to begin with.

level 1
1 point · 16 hours ago

Nice work. Would be kinda nice to have a right click option just saying add_to_Steam and this being handled in the background. :) Just an idea

level 1
1 point · 3 hours ago

Since you gave it a try why not post benchmarks or general feedback about it? was it worth it running it with proton?

GJ btw the linux comunity salutes you brave soldier!

Community Details

74.2k

Subscribers

759

Online

A subreddit for gaming on the GNU/Linux operating system.

Create Post
r/linux_gaming Rules
1.
Respect other users.
2.
Spam will be deleted
\ No newline at end of file