-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Invalid file magic number. The appinfo.vdf version might not be supported by the current version of Protontricks #304
Comments
Yeah I'm running into this same issue on my Steam Deck after the Beta Update with game recording. I wonder if that has something to do with it? |
The current workaround is to downgrade from Steam beta. There have been several changes to the
Protontricks needs to read this file since it contains app compatibility mappings (or at least used to, I'll have to double check), such as what Proton versions to use by default. Cyberpunk 2077 was previously set to use Proton Experimental by default due to DualSense support. These app compatibility mappings aren't very commonplace, though, so if push comes to shove we can skip parsing the newer |
Workaround: set |
Having the same problem. how can I use PROTON_VERSION, do I just set PROTON_VERSION=EXPERIMENTAL in the environment variables? |
@PickMeNow Use this in a terminal for the flatpak version:
|
I've submitted a PR to fix the appinfo.vdf support in the VDF parser library at ValvePython/vdf#61. |
Pretty much the same one whenever I try to install MO2 via https://github.com/rockerbacon/modorganizer2-linux-installer.
I've got this before the recording beta and it persists when I opt out of it too. Edit: This was with both the Fedora repo version and the Flatpak one. Using the pipx install one works, in case someone else faces the same issue. https://github.com/Matoking/protontricks#pipx |
Steam beta introduced a new version of appinfo.vdf with a space-saving optimization. Field keys are stored in a separate table at the end of the file, with the actual VDF segments having to be parsed using the table to map the indices to actual field names. `vdf` library does not support serializing appinfo.vdf using this format, at least yet, so just use appinfo.vdf V28 in tests for the time being. This might need to be fixed in the future once appinfo.vdf V28 is phased out. Fixes #304
If you're using pipx, you can use the following commands to install development versions of
Releasing a new version of Protontricks with the fix in place requires that a new version of |
i tried that on my steam deck and i am still getting the error, i feel like i have been stupid. i i'm going to try and compile the python file next |
wait no i apperntly did something wrong i got it working |
Set
|
How does one set the environment variable in flatseal? I added PROTON_VERSION=“proton experimental” to the environment variables list and it made no change |
@jurassicjordan Are you sure there's no change? Is the error message the same? In my case the error message changed. |
Same error, only resolved when running it in the command line. Not in flatseal, I ended up using a shell script for now |
I've been having this error as well, and I'm in the steam beta on a steam deck. |
OUTDATED, V1.12.0 HAS BEEN RELEASED WITH THE FIXESInstructions are below for posterity: I've pushed a build of Protontricks to Flathub beta which contains a fix for this Steam beta issue. This fix is based on the appinfo_v29 branch which you can also install manually. To summarize how to install this version depending on your current installation method: Flatpak/FlathubDiscoverEnable "Flathub beta" repository under Settings. You can then look up Protontricks and select "Flathub beta" as the source: Command-lineAdd the flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
flatpak install flathub-beta com.github.Matoking.protontricks pipxUninstall Protontricks first and then install these specific branches using these two commands: # Uninstall Protontricks first
pipx uninstall protontricks
# Install Protontricks and vdf with the fixes
pipx install git+https://github.com/Matoking/protontricks.git@appinfo_v29
pipx runpip protontricks install --force-reinstall git+https://github.com/Matoking/vdf.git@support_new_bvdf Arch AURInstall python-vdf-solstice from AUR if you haven't already using the AUR helper of your choice (eg. with Paru the command is Download the PKGBUILD file from protontricks-git either manually or using the AUR helper of your choice (eg. with Paru the command is Change the following line in PKGBUILD from:
to
Build and install the package by running the following commands in the directory with the makepkg
sudo pacman -U protontricks-git-*.tar.zst Note that it's unlikely that the beta branch on Flathub will be maintained once a new version of Protontricks can be released. Please uninstall the beta version of Protontricks once a new stable release is out! Also, the development build contains other unreleased changes as documented here. |
entered in konsole: (deck@steamdeck ~)$ $ flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo and if i enter them in separate lines nothing happens at all |
You copied the $ from the start of each line above, take those out & try the commands again, they'll work for sure. |
@Matoking Well now python-vdf-solstice isn't on the AUR anymore, so I can't use your workaround. Any other ideas? |
It's still there in Cachy's repos, so you can add their repos to your |
It looks like |
apologies if i'm missing something with a lot of the complex talk in this issue. |
I entered this into the konsole: flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo now I get this error when using mod organiser 2 install script on stem deck: error: Multiple branches available for com.github.Matoking.protontricks, you must specify one of: com.github.Matoking.protontricks/x86_64/stable, com.github.Matoking.protontricks/x86_64/beta I am using stable version of steam and protontricks is installed so I don't understand this, any help appreciated, please. |
flatpak remote-add --user --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo flatpak install flathub-beta com.github.Matoking.protontricks |
@Izq960605 you are a 😇. This worked. A big thank you 👏. I can now mod The Elder Scrolls games. |
For nixos noobs like me who are confused why this wasn’t working (I was using protontricks installed through protontweaks), the above overlay creates a package |
Here's a slightly cleaner overlay for Nix users. It avoids having to add flake inputs and replaces the existing nixpkgs.overlays = [
(final: prev: {
protontricks =
(prev.protontricks.overrideAttrs {
src = final.fetchFromGitHub {
owner = "Matoking";
repo = "protontricks";
rev = "f7b1fa33b0438dbd72f7222703f8442e40edc510";
hash = "sha256-t794WEMJx/JNX3gTMHfgquFWB7yXkleW07+QURm1NPM=";
};
}).override {
vdf = final.python312Packages.vdf.overrideAttrs {
src = final.fetchFromGitHub {
owner = "Matoking";
repo = "vdf";
rev = "981cad270c2558aeb8eccaf42cfcf9fabbbed199";
hash = "sha256-OPonFrYrEFYtx0T2hvSYXl/idsm0iDPwqlnm1KbTPIo=";
};
};
};
})
]; |
Yeah, python-vdf is updated in AUR. But I'm a bit confused, what else is needed for protontricks to work with the current version of Steam? |
Any ideas when the release to Beta will be sent to release? The update to Steam is out of beta now, and is part of the release version, so it would be great to see this fix go out soon. |
I agree, but we need to work out what's happening with ValvePython/vdf#61. If they don't merge and release those changes, they will be need to be published on PyPI under a new name with a new maintainer. |
@JManch Oh neat, I didn't think to override Here's that cleaner version with flakes, and with the protontricks = {
url = "github:Matoking/protontricks/appinfo_v29";
flake = false;
};
vdf = {
url = "github:Matoking/vdf/support_new_bvdf";
flake = false;
}; nixpkgs.overlays = [
(final: prev: {
protontricks-beta = (prev.protontricks.overrideAttrs {
src = inputs.protontricks;
}).override {
vdf = final.python312Packages.vdf.overrideAttrs {
src = inputs.vdf-patch;
};
};
})
];
environment.systemPackages = [pkgs.protontricks-beta]; |
Steam beta introduced a new version of appinfo.vdf with a space-saving optimization. Field keys are stored in a separate table at the end of the file, with the actual VDF segments having to be parsed using the table to map the indices to actual field names. `vdf` library does not support serializing appinfo.vdf using this format, at least yet, so just use appinfo.vdf V28 in tests for the time being. This might need to be fixed in the future once appinfo.vdf V28 is phased out. Fixes #304
I'll look into publishing a version of Protontricks with a vendored copy of |
I am a distro maintainer. I've dealt with it in Gentoo for now by pointing our vdf package at your fork. |
Steam beta introduced a new version of appinfo.vdf with a space-saving optimization. Field keys are stored in a separate table at the end of the file, with the actual VDF segments having to be parsed using the table to map the indices to actual field names. `vdf` library does not support serializing appinfo.vdf using this format, at least yet, so just use appinfo.vdf V28 in tests for the time being. This might need to be fixed in the future once appinfo.vdf V28 is phased out. Fixes #304
Protontricks 1.12.0 is now out which contains a fix for this issue. Thanks for your patience! If you followed the installation instructions in this thread, uninstall the beta version from Flathub and use the default stable branch instead. The beta branch won't be maintained anymore. Also, as always, it might take a few hours for the new version to be published on Flathub. |
DEVELOPER EDIT:
See this comment for the current workaround.
Describe the bug
When I run protontricks I get this error:
Invalid file magic number. The appinfo.vdf version might not be supported by the current version of Protontricks
To Reproduce
Steps to reproduce the behavior:
protontricks 1250410 /home/richard/Downloads/MSFS_Plugin_x64_Software_8.0.313.0.exe
Traceback (most recent call last): File "/usr/bin/protontricks", line 8, in <module> sys.exit(cli()) ^^^^^ File "/usr/lib/python3.12/site-packages/protontricks/cli/main.py", line 32, in cli main(args) File "/usr/lib/python3.12/site-packages/protontricks/cli/util.py", line 159, in wrapper return cli_func(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/protontricks/cli/main.py", line 339, in main proton_app = find_proton_app( ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/protontricks/steam.py", line 848, in find_proton_app tool_app = find_steam_compat_tool_app( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/protontricks/steam.py", line 609, in find_steam_compat_tool_app appinfo_sections = [ ^ File "/usr/lib/python3.12/site-packages/protontricks/steam.py", line 531, in iter_appinfo_sections raise SyntaxError( SyntaxError: Invalid file magic number. The appinfo.vdf version might not be supported by the current version of Protontricks - please check for updates.
Expected behavior
It runs the exe I'm passing in the game prefix
System (please complete the following information):
Steam Beta Update
Steam Version: 1719453458
Steam Client Build Date: Thu, Jun 27 2:35 AM UTC -08:00
Steam Web Build Date: Thu, Jun 27 12:36 AM UTC -08:00
Steam API Version: SteamClient021
Additional context
https://gist.github.com/Richard-Payne/070d5b08ede33cfa10440e932f48149c
The text was updated successfully, but these errors were encountered: