opentrack icon indicating copy to clipboard operation
opentrack copied to clipboard

unable to choose Proton-Steamplay-version in Wine-Windowslayer for Unix - dropdown empty

Open TechGameGeek opened this issue 1 year ago • 14 comments

Hi, just compiled opentrack for linux with "wine - windowslayer for unix". It is working great so far e.g. XPlane 12 (linux native), but I am unalbe to pass the trackingdata to steam/proton - games.

As I think to know, I have to choose wine/proton in "wine-windowslayer for unix" and set "Proton Steamplay" to the corresponding version, the game runs with (via dropdown) and give the steam-app-id of the game in the box "steam-app-id"

Unfortunatly my dropdown (Proton Steamplay) is empty.

So I assume I have missed some packages during compiling?

Can you please tell me, what I did wrong to not see "Proton Steamplay" versions?

It looks like: steamproton

Thanks!

TechGameGeek avatar Jul 20 '24 12:07 TechGameGeek

Probably Valve again broke things.

You can add your path to the list here: https://github.com/opentrack/opentrack/blob/master/proto-wine/proton.cpp#L17-L27.

sthalik avatar Jul 25 '24 13:07 sthalik

Probably Valve again broke things.

Not really, the path is correct. I can see only few proton versions only.

image

Though I have Proton 8 and 9 also.

spikerguy avatar Aug 10 '24 14:08 spikerguy

Where is the Wine prefix located?

sthalik avatar Aug 10 '24 14:08 sthalik

Probably Valve again broke things.

Not really, the path is correct. I can see only few proton versions only.

image

Though I have Proton 8 and 9 also.

Where is the Wine prefix located?

/$USER/Games/SteamLibrary/steamapps/compatdata/805550/pfx/

This is game specific, as per the gui wine prefix is supposed to be when wine is used

for steam proton it just needs proton version and app id, is this information correct ??

I think I will be documenting the whole gaming on linux situation and that way can contribute some documentation for proton use on open track

spikerguy avatar Aug 10 '24 14:08 spikerguy

Try adding it here: https://github.com/opentrack/opentrack/blob/master/proto-wine/proton.cpp#L18-L20

What you need added is probably /Games/SteamLibrary/steamapps/compatdata/805550/pfx/ as the pathname is preceded by the user's home directory. If that doesn't work then there's some trial and error involved.

This should become fixed once #1879 is implemented (in indeterminate future).

sthalik avatar Aug 10 '24 14:08 sthalik

I see a good documentation here

Proton engines location:

~/.steam/steam/steamapps/common

Keep in mind that Proton will be installed in the same library as the first Steam Play game you try to launch, and will only be installed in one location.

Game PREFIX location, where [appid] is your game id (look up steamdb 25 if in doubt):

~/.steam/steam/steamapps/compatdata/[appid]/pfx/

spikerguy avatar Aug 10 '24 14:08 spikerguy

This is straightforward to implement.

  • find all steamapps/compatdata locations, for each of them:
    • find all appid subdirectories, for each of them:
      • find and register all prefix subdirectories

sthalik avatar Aug 10 '24 14:08 sthalik

This is straightforward to implement.

* find all `steamapps/compatdata` locations, for each of them:

* * find all `appid` subdirectories, for each of them:

* * * find and register all prefix subdirectories

Oh I found Proton 8.0 in different directory

/home/user/Games/SteamLibrary/steamapps/common/

so it have proton in compatedata as well as common. this could be the issue. I think a shared memory should resolve it

Thanks

spikerguy avatar Aug 10 '24 15:08 spikerguy

I applied these patches on opentrack-git from aur and still it is not able to dedect all proton versions

--- a/opentrack/proto-wine/proton.cpp	2024-08-10 17:58:40.462649519 +0300
+++ b/opentrack/proto-wine/proton.cpp	2024-08-10 18:03:45.508109393 +0300
@@ -18,6 +18,8 @@
     "/.steam/steam/steamapps/compatdata",
     "/.local/share/Steam/steamapps/compatdata",
     "/.steam/debian-installation/steamapps/compatdata",
+    "/Games/SteamLibrary/steamapps/common",
+    "/Games/SteamLibrary/steamapps/compatdata",
 };
 
 static const char* runtime_paths[] = {

also tried

--- a/opentrack/proto-wine/proton.cpp	2024-08-10 17:58:40.462649519 +0300
+++ b/opentrack/proto-wine/proton.cpp	2024-08-10 18:03:45.508109393 +0300
@@ -18,6 +18,8 @@
     "/.steam/steam/steamapps/compatdata",
     "/.local/share/Steam/steamapps/compatdata",
     "/.steam/debian-installation/steamapps/compatdata",
+    "/home/gamer/Games/SteamLibrary/steamapps/common",
+    "home/gamer/Games/SteamLibrary/steamapps/compatdata",
 };
 
 static const char* runtime_paths[] = {

does it need proton version and app id both ? or can it just run in appid's pfx ?

spikerguy avatar Aug 10 '24 15:08 spikerguy

As a workaround you can add /Games/SteamLibrary/steamapps/compatdata/805550

sthalik avatar Aug 10 '24 15:08 sthalik

@sthalik thanks for your reply, I will try it as soon as possible

TechGameGeek avatar Aug 11 '24 19:08 TechGameGeek

I think I'm having a similar problem, but I haven't been able to resolve it using the advice here.

My setup: I am running Steam via flatpak on OpenSuse. I have a secondary library installed on ~/Games/Steam.

I sort of had success by symlinking my steamapps dir to .local/share/Steam AND by adding the following path to runtime_paths in proton.cpp: /.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.

I say this sort of worked, because when I do this, I can see all of my installed Proton version in the Proton (Steam Play) button, and I can "Start" the tracking. I am using neuralnet and can see my face tracking in opentrack when I do this. However, tracking doesn't work in the games I've tried, which are MSFS 2020, ACC, and BeamNG.drive.

When I remove the symlink, and instead add my path to proton.cpp, no Proton versions are detected. When I remove my runtime path from proton.cpp, I can't Start the tracking in opentrack.

Here is my proton.cpp snippet.

static const char* steam_paths[] = {
    "/.steam/steam/steamapps/compatdata",
    "/.local/share/Steam/steamapps/compatdata",
    "/.steam/debian-installation/steamapps/compatdata",
    "/Games/Steam/steamapps/compatdata/805550",
    "/Games/Steam/steamapps/compatdata/805550/pfx",
    "/Games/Steam/steamapps/compatdata",
    "/Games/Steam/steamapps/common",
};

static const char* runtime_paths[] = {
    "/.local/share/Steam/ubuntu12_32/steam-runtime",
    "/.steam/ubuntu12_32/steam-runtime",
    "/.steam/debian-installation/ubuntu12_32/steam-runtime",
    "/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_64/steam-runtime-sniper",
};

raackley avatar Aug 24 '24 20:08 raackley

Running flatpak Steam and having the same issue. Did try compiling manually and adding the paths, but the dropdown never did populate.

Resorted to using the Windows version of Opentrack within the Proton prefix for now.

CaptPickguard avatar Sep 06 '24 00:09 CaptPickguard

@CaptPickguard for flatpak we had issue #1941

flatpak is just hard to work with and at least in the past also had other issues.

Priton-CE avatar Jan 19 '25 13:01 Priton-CE