mirror of
https://github.com/vrcx-team/VRCX.git
synced 2026-04-06 00:32:02 +02:00
[Bug] Linux registry backup doesn't work when compat tool is in non-standard location #329
Open
opened 2026-04-05 16:17:39 +02:00 by MrUnknownDE
·
0 comments
No Branch/Tag Specified
master
v2026.02.11
v2026.01.28
v2026.01.04
v2025.12.06
v2025.11.16
v2025.10.27
v2025.10.11
v2025.09.10
v2025.08.17
v2025.06.30
v2025.05.09
v2025.03.01
v2025.01.31
v2024.12.30
v2024.12.03
v2024.10.25
v2024.10.11
v2024.09.02
v2024.07.29
v2024.06.12
v2024.05.09
v2024.05.11
v2024.03.23
v2024.03.17
v2023.12.24
v2023.11.06
v2023.09.18
v2023.07.30
v2023.06.30
v2023.06.15
v2023.05.01
v2023.02.18
v2022.12.30
v2022.12.08
v2022.11.04
v2022.10.05
v2022.09.09
v2022.08.16
v2022.07.30
v2022.07.13
v2022.05.05
v2022.03.31
v2022.03.12
v2022.02.02
v2021.12.16
v2021.11.04
v2021.10.02
v2021.08.15
v2021.07.08
v2021.05.26
v2021.05.07
v2021.04.04
v2021.03.08
v2021.01.30.1
v2021.01.30
v2021.01.09
v2020.12.13
v2020.10.25
v2020.07.13
v2020.07.12
v2020.04.07
v2020.03.21
v2020.02.01
v2020.01.26
v2019.11.18
v2019.10.31.1
v2019.10.31
v2019.09.26
v2019.09.24
v2019.09.23
v2019.09.04
v2019.08.21
v2019.08.20
v2019.08.17.1
v2019.08.17
Labels
Clear labels
AI
AI
AI
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Cannot Reproduce
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
In Progress
In Progress
In Progress
In Progress
In Progress
In Progress
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Needs Discussion
Needs Info
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
Niche
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
PR Welcome
Question
Stale
Stale
Stale
Stale
Stale
Stale
Stale
Stale
Stale
Stale
Stale
Stale
Stale
Stale
Stale
Stale
Stale
Stale
Stale
Stale
UI
UI
UI
UI
UI
UI
UI
UI
UI
UI
UI
UI
UI
Uninstall Avast
Uninstall Avast
Uninstall Avast
Uninstall Avast
VR
Wontfix
Wontfix
Wontfix
Wontfix
Wontfix
Wontfix
Wontfix
Wontfix
Wontfix
Wontfix
Wontfix
Wontfix
i18n
i18n
i18n
i18n
i18n
i18n
macOS
No Label
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Bug
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
MrUnknownDE
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github/VRCX#329
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @alexwh on 9/9/2025
Describe the bug
When attempting to perform a registry backup with a system wide compat tool, VRCX hits the following error handling code (which should also probably be a logger call rather than a console output).
64811765ea/Dotnet/AppApi/Electron/RegistryPlayerPrefs.cs (L242-L256)This can be due to a few different reasons:
~/.steam/root/compatabilitytools.dis checked, but tools can also be located under/usr/share/steam/compatibilitytools.d,/usr/local/share/steam/compatibilitytools.dand any paths in$STEAM_EXTRA_COMPAT_TOOLS_PATHS[1].compatibilitytool.vdffile to identify tools[2]. I don't know the format for the filenames of the manifests placed directly incompatibilitytools.dbecause it's not specified by Valve. I assume simply any vdf in the root of thecompatabilitytools.dfolder counts.compatibilitytool.vdf'sinstall_pathkey[2].Additionally, the
toolmanifest.vdfcan specify an alternate binary, though I don't know if there are any compat tools that exist that would cause a situation where reading this would be required. Attempting to call the currently hardcodedfiles/bin/winebinary could possibly fail, either because it doesn't exist or running the specified commandline parameter is required for some other kind of presetup.In my case, the problem is with just reason 1 and 2. The compat tool I'm using installs to
/usr/share/steam/compatibilitytools.d/proton-ge-custom-rtsp- the path is in/usr/share/but also the folder name doesn't match itsdisplay_namedefined inconfig.vdf(Proton-GE-RTSP).Given the complexity in supporting the above fixes, it may be easier to simply try and parse the registry ourselves directly from
${_vrcPrefixPath}/user.reg.I couldn't find concrete information on how often Wine flushes to this file (on Windows it's not consistent), but it appears to be on the order of seconds[3][4], which is probably fine for a backup.Wine flushes the registry to disk every 30 seconds[5], which is probably fine for a backup.
[1] https://github.com/ValveSoftware/steam-for-linux/issues/6310#issuecomment-511630263
[2] https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/steam-compat-tool-interface.md
[3] https://gitlab.winehq.org/wine/wine/-/merge_requests/3124
[4] https://serverfault.com/a/1090483
[5]
3cfbf9e3cd/server/registry.c (L125)To Reproduce
Steps to reproduce the behavior:
What version you are running
vrcx-bin version 2025.08.17-1 from the AUR
proton-ge-custom-rtsp-bin version GE_Proton9_22_rtsp17_1-1 from the AUR