-
Notifications
You must be signed in to change notification settings - Fork 80
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
Steam Runtime Engine blocks access to certain directories #285
Comments
Is the game installed on the boot drive? If yes, can you launch MO2 from the secondary drive after also moving the game to the secondary drive? The I experience no performance issues on my end and there have been no reports of such problems by any of the testers. Whatever is causing the problem for you is likely to be very specific to your system and it will be difficult to provide much help. |
The game is already on my secondary drive. |
Got the same issue, installed on an external drive and Mod Organizer didn't launch. Skyrim itself is also installed there. |
Wanted to report same issue. works fine if i load it manually through a protontricks command line. i'm not sure what the issue is. a tiny black box appears, then disappears. |
Can you check if the path to Mod Organizer 2 is accessible from the drive Z: within Wine? |
Same issue here. skyrimse and mo2 installed on non-OS drive, /mnt/veracrypt4 Running steam steam://rungameid/489830 from command line shows nothing useful (just in case there were any relevant errors, but it returns to the prompt before the game even tries to run, with no errors) 3.1.0 installed worked fine for me - even full nexus integration. Why are we moving on from that method? |
|
Ran a few tests and couldn't reproduce the issue. When I checked the file explorer on my machine it seems the Steam runtime does not give applications access to a few folders, including Can you all check if the location you were trying to install MO2 is reachable from MO2's file explorer? |
So long as it is confirmed the Steam runtime blocks access to directories, additional development will be required. For now I'd recommend users to either symlink or bind mount a blocked folder to their home directory. |
The solution to this might be simple. A symlink to the install location is always created in |
Wait a minute. Everything I created is in a custom directory under root and steam has no issues accessing those games. Like "/data/DESKTOP/Stuff/WinGames/PC/Steam/common/blah". MO2 is installed under "/data/DESKTOP/Stuff/WinGames/PC/Mods/blah". |
Steam having access to a file is very different from the game having access to that same file. The game having access to folder Everything so far points to the issue being in the Steam Runtime:
If I can have the answer to this question I will know with 100% certainty whether that is the issue or not. If the MO2 executable isn't accessible from within the environment, it can't be run by the redirector and that causes the CTD. |
Got an error with 4.2 /home/kleshas/.cache/protontricks/proton/Proton 6.3/bin/wine cmd.exe /c echo '%AppData%' returned empty string, error message "pressure-vessel-adverb[87775]: W: Unable to generate locales: Child process exited with code 1" Any way to revert/uninstall 4.2 back to default settings for the game? |
Alright, so how do I test this out? I'm probably not understanding how you phrased the question. Is this a wine prefix thing? Let me know. Edit: So like launch MO2 through the wine prefix/protontricks command shell, and see if I can access MO2's own files? Alright, I think I can try that. Edit2: Alright, so launching MO2 through protontricks' explorer subcommand, I was able to access MO2's own directory. I clicked on install mod in MO2 and navigated to the MO2 installation directory. That worked. I'm still not sure what you're asking, but there's that. Maybe you want me to launch MO2 through Steam some way, that's not working though. Edit3: Alright, so I tried installing MO2 directly INSIDE new vegas' steam directory. It launched then. That's not a good location though, since it has spaces, so MO2 crashes because there are spaces in the path. So it looks like you were right, something about Steam not being able to access directories under /. Even though my user has access to them. I'll try installing MO2 in my home directory, and see if that works. Right now I do have symlinks from everything inside "Stuff" in my home directory, but that doesn't seem to matter to MO2. Still won't launch, if I use the symlink path from my home directory to MO2. As long as MO2 resides on the external ssd, or not in new vegas' folder, it won't launch through Steam. I'll keep you updated. Edit4: Ok sure enough, installing in my home directory, which is the same as the OS, works fine. I'm not entirely sure what to do now. You see, I created the WinGames directory, with case sensitivity turned off. A lot of windows games and mods, have the same name for their files, just their cases are different. That's caused issues with modding before. Certain files would get copied twice and whatnot, wouldn't apply. So New Vegas is in that case insensitive directory, but not MO2. I'm not sure how this would with mods then. Any ideas? I really would've preferred to have everything under WinGames. Edit5: Just wanted to reply, I fixed the issue. I just reorganized my external ssds. I run zfs so I have two zpools, one on a nvme, and another on a sata ssd. I consolidated my home directory under the sata, instead of the nvme. From there I had no issues, as only / is on the nvme, while /home is on the sata. It's a workaround. |
/mnt/veracrypt4/mo2-sse is the 4.2 installer's path for MO2. I tried this too. MO2 ran from protontricks, but asked for an install folder (wasn't it already installed from 4.2?). Installed in /mnt/veracrypt4/mo2-sse (same folder as it was installed to). Same issue - running Skyrim from steam resulted in a quick black window appearing before it crashed.. protontricks can see all mounted drives (/, and all 4 veracrypt drives). Ran the 4.2 installer again, this time installing to the compatdata c:\mo2. Succeeded, and skyrim from steam launched MO2. This time though, no mounted drives seen. (only /mnt/veracrypt4). nxm stuff works great. |
Alright, so the tests seem to confirm the issue. I also gave the Steam Runtime repo a quick search and there is indeed an open issue for external drive access: ValveSoftware/steam-runtime#470.
I'll add some instructions on this issue to the readme and adjust the installer to show a warning if the user choses a possibly "problematic" folder during the install process. |
This worked for me when using it in the properties of Skyrim game in Steam - didn't work when using EXPORT STEAM_COMPAT_MOUNTS=/mnt/veracrypt1 in ~/.bash_profile There is a crash (/path/to/MO2/crashdumps) every time I close MO2. Also, I don't see a way to get the FPS counter back in-game. With lutris, there was a way to use the env. var. in lutris game settings: right-click configure, system options, environment variables, new key: DXVK_HUD with FPS as the value. error on closing MO2 when steam 2>&1 run: wine: Unhandled page fault on execute access to 0000000000000000 at address 0000000000000000 (thread 0224), starting debugger... |
The correct file would be |
Doesn't work there either. MO2 doesn't see the drive. |
New month, new OS install. Things now work with 4.3.0, installing to the pfx of 489830. I need STEAM_COMPAT_MOUNTS=/mnt/veracrypt1:/mnt/veracrypt4 %command% in SSE's Launch Options in steam. It does not work when using in .profile or even .bash_profile as specified above. veracrypt1 being where my downloads are (slow spinning rust) and veracrypt4 being where the mod folder is (I want to keep it on a separate folder to the 489830 folder just in case I need to reset that folder and forget to copy it out first). |
@kleshas regarding adding the environment variable to
|
OK, things are now working using .profile. I guess you really DO need to logout, even though a source of .bash_profile shows the new path using printenv (system will only run .bash_profile if it exists and won't run .profile so I have a [[ -f ~/.profile ]] && . ~/.profile line at the top of .bash_profile) . In fact when I don't logout and back in, STEAM_COMPAT_MOUNTS=/mnt/veracrypt1:/mnt/veracrypt4 , when in .bash_profile or in .profile, then sourcing .bash_profile will allow MO2 to see veracrypt1 AND veracrypt4 (from within tools/settings/paths) but it won't display the mods (it will display the saves, profiles and downloads which are all in veracrypt1). Weird behaviour. |
When adding the line |
Starting from pressure-vessel version 0.20220803.0 in today's "Steam Linux Runtime - soldier" and "Steam Linux Runtime - sniper" betas, more top-level directories are available to games by default, reducing the need to use If you want to try using a beta version, the procedure to opt-in to a beta is the same as for any Steam game, except instead of looking for a game in your Steam library, you'd look for "Steam Linux Runtime - soldier" and choose the The affected paths are the typical paths for removable media:
and some FHS locations where people often put the mount points for non-removable but non-OS drives and partitions, such as a secondary SSD or HDD:
Custom top-level directories like the However, most of the comments here seem to be about |
Please subscribe to ValveSoftware/steam-runtime#470 if you would like to be notified when this happens (I don't intend to spam this issue further). |
All install location issues are now grouped in #656 |
The program of MO2 does not work unless installed on the boot drive I'm on Pop OS/ Ubuntu and would love MO2 to open when installed on the secondary drive. The program opens a dialogue box for half a second then closes and steam says skyrim has stopped running. I also keep getting a EnableNonClientDpiScaling error this is minor however since everything else is functional. One more thing is there a way to reduce the lag in MO2 at all the response time is super low.
The text was updated successfully, but these errors were encountered: