[BUG] ~/steamvr directory created when SteamVR starts
Describe the bug
The folder ~/steamvr is created in the home directory of the user, rather than using a subfolder of ~/.local/share/Steam.
To Reproduce Steps to reproduce the behavior:
- Run
rm -rf ~/steamvrto remove folder - Start SteamVR through the steam GUI
- Run
ls -d ~/steamvrto check if folder exists
Alternative steps to reproduce the behavior:
- Run
rm -rf ~/steamvrto remove folder - Run
cd ~/.local/share/Steam/steamapps/common/SteamVR/bin/linux64to change to the steamvr bin directory. - Run
LD_LIBRARY_PATH=. vrserverto launch the vrserver. - Run
ls -d ~/steamvrto check if folder exists
Expected behavior
All settings for SteamVR are created either in subfolders of ~/.local/share (e.g. ~/.local/share/Steam/config/SteamVR) or in subfolders of ~/.config (e.g. ~/.config/unity3d/Valve). The folder ~/steamvr should not exist.
Observed behavior
The folder ~/steamvr and subfolder ~/steamvr/input are created.
System Information (please complete the following information):
- Distribution: Linux Mint 20
- SteamVR version: 1.17.7, Build ID 6369009
- Steam client version: 2021-04-12
- Opted into Steam client beta?: No
- Graphics driver version: 450.102.04
- Gist for SteamVR System Information: Link here
Screenshots N/A
Additional context
GDB stack trace below, with a breakpoint set at the call to mkdir. Confirmed by looking at the function arguments that BCreateDirectoryRecursive is being called to create /home/USERNAME/steamvr/input.
(gdb) where
#0 mkdir () at ../sysdeps/unix/syscall-template.S:78
#1 0x00005555556a94be in BCreateDirectory(char const*) ()
#2 0x00005555556a95fb in BCreateDirectoryRecursive(char const*) ()
#3 0x000055555562860b in CVRInputWorkshop::BInit(CVRServer*) ()
#4 0x000055555560fab7 in CVRInputServer::Init(CVRServer*, vr::IVRSettings*) ()
#5 0x0000555555648a08 in CVRServer::Init() ()
#6 0x000055555566b2d8 in RealMain(unsigned int, VRServerArguments_t&) ()
#7 0x00005555555d205d in main ()
(gdb)
Note: Commenters who are also experiencing this issue are encouraged to include the "System Information" section in their replies.
Did you ever figure out a solution to this? I see no one has responded. It's honestly driving me a bit mad. My life is a mess, let me at least have a neat ~/
If it has to be there, at least make it '.steamvr'.
I haven't yet. Since I don't have any custom controller settings, which is all that the default folder held for me, I settled for making a cronjob that deletes the folder periodically. I imagine that I could write a library that wraps the relevant system calls and rewrites the paths, then launch steam with LD_PRELOAD set to load that library, but I haven't done so (yet).
Bump: Would be great to eventually get a fix for this! :crossed_fingers: