Giter Site home page Giter Site logo

Comments (10)

guihkx avatar guihkx commented on July 17, 2024 2

I'd suggest you to wait until #25 gets accepted, or you can edit /usr/bin/protontricks yourself and include this simple change, that will enable you to use PROTON_VERSION properly. After that, you can just use protontricks like so:

$ PROTON_VERSION='Proton 3.16' protontricks 489830 xact

Just a workaround until this gets a proper fix.

from protontricks.

Matoking avatar Matoking commented on July 17, 2024 2

Well, that hack didn't take too long to break. :/

The problem is that Steam used identifiers like "proton_34" and "proton_34_beta" in .local/share/steam/config/config.vdf to refer to the active Proton installation, which at the time corresponded to directory names "Proton 3.4" and "Proton 3.4 Beta" respectively.

Now, the identifier is called "proton_316_beta", but the actual directory name is "Proton 3.16", not "Proton 3.16 Beta", which throws off the detection.


I haven't found a more reliable way to detect the active Proton installation. What I know so far is that Proton versions are installed just like other Steam apps, with appmanifest_XXX.acf in every Steam library folder for every app in that location. For example, the app manifest for Proton 3.16 Beta on my machine is located at /mnt/LinuxDataSSD_B/SteamLibrary/steamapps/appmanifest_961940.acf. That app manifest contains the full name and installation directory.

The problem is finding out which one of those multiple Proton installations is enabled, and there doesn't seem to be a "what is the appid for 'proton_316_beta'" or "what is the full name for 'proton_316_beta'" correspondence anywhere we could use to do this reliably. The only clue so far is that the active Proton installation has a ScheduledAutoupdate value of 0 in the app manifest, where as other Proton installations seem to have some non-zero timestamp. But this hardly seems waterproof and could just be a coincidence.


EDIT:

~/.steam/appcache/appinfo.vdf contains the string proton_316_beta followed by its appid, which is what we need. However, it uses a binary format and will probably be a pain to parse properly.

For now, it may suffice just to search for the string proton_316_beta, followed by 00 02 61 70 70 69 64 00 in hexadecimal. The very next 4 bytes after this are the appid, which is encoded in little-endian.

from protontricks.

guihkx avatar guihkx commented on July 17, 2024

Maybe this library can help with that: https://github.com/leovp/steamfiles

[✓] appinfo.vdf support (Binary VDF)

from protontricks.

Matoking avatar Matoking commented on July 17, 2024

I've created a pull request with a fix: #26 Please test it if you have the time!

Maybe this library can help with that: https://github.com/leovp/steamfiles

[✓] appinfo.vdf support (Binary VDF)

I tried installing that library, but pip throws an error about a missing module. Also, I've tried to keep this script self-contained, so one can simply download and copy it into /usr/bin to get it working.

from protontricks.

aislanmaia avatar aislanmaia commented on July 17, 2024

Using Deepin 15.6 I have the same problem with Proton 3.16 Beta. Impossible to use protontricks to get my game configured correctly.

from protontricks.

Matoking avatar Matoking commented on July 17, 2024

Using Deepin 15.6 I have the same problem with Proton 3.16 Beta. Impossible to use protontricks to get my game configured correctly.

Have you downloaded the latest version of the script from this repository? If not, try the installation method in this repository's README and try again.

If the script still doesn't work, is the error message exactly the same as what @Entryhazard posted?

from protontricks.

aislanmaia avatar aislanmaia commented on July 17, 2024

@Matoking yes. Exactly the same! I've followed the same instructions to get the latest version of the script.

from protontricks.

Matoking avatar Matoking commented on July 17, 2024

@Matoking yes. Exactly the same! I've followed the same instructions to get the latest version of the script.

To be sure 100% sure, does the output include the following messages in this order?

[INFO] Found active Proton installation: Proton 3.16 Beta
[ERROR!] Proton installation could not be found!

That shouldn't happen on the newest protontricks version, so please double check that you have the newest version if that's the case.


Aside from that, can you go through your Steam library folders (you should have at least one in ~/.local/share/Steam/steamapps) and check if any of them contains the file appmanifest_961940.acf? The content should look like this:

"AppState"
{
	"appid"		"961940"
	"Universe"		"1"
	"name"		"Proton 3.16"
	"StateFlags"		"68"
	"installdir"		"Proton 3.16"
	"LastUpdated"		"1541921384"
	"UpdateResult"		"0"
	"SizeOnDisk"		"404379437"
	"buildid"		"3265184"
	"LastOwner"		"0"
	"BytesToDownload"		"0"
	"BytesDownloaded"		"0"
	"AutoUpdateBehavior"		"0"
	"AllowOtherDownloadsWhileRunning"		"0"
	"ScheduledAutoUpdate"		"0"
	"UserConfig"
	{
		"betakey"		"public"
	}
	"InstalledDepots"
	{
		"961941"
		{
			"manifest"		"3632901235066984151"
		}
	}
	"MountedDepots"
	{
		"961941"		"3632901235066984151"
	}
}

Also, if you find the appmanifest file, you should find a directory called Proton 3.16 inside the common directory in that same directory. So, if you found the appmanifest in /mnt/SSD/SteamLibrary/steamapps/appmanifest_961940.acf, there should also be a Proton installation in /mnt/SSD/SteamLibrary/steamapps/common/Proton 3.16.

If the appmanifest content is different or the Proton 3.16 directory doesn't exist in the same library folder, that could be the reason for the script not finding the Proton installation.

from protontricks.

Storm-Engineer avatar Storm-Engineer commented on July 17, 2024

I'm having this issue right now. Proton installation cannot be found, even if I set the version manually.

from protontricks.

bitnom avatar bitnom commented on July 17, 2024

Having this issue with 1.6.0.r1.g4ab6784-1

from protontricks.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.