Skip to content
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

Unable to pull in downloads to vortex #1143

Closed
vvvilife opened this issue Jul 25, 2024 · 22 comments
Closed

Unable to pull in downloads to vortex #1143

vvvilife opened this issue Jul 25, 2024 · 22 comments
Labels
bug Something isn't working Vortex Mod Manager Issues related to installing or using Vortex Mod Manager with SteamTinkerLaunch

Comments

@vvvilife
Copy link

System Information

  • SteamTinkerLaunch version: 14.0.20240712-1
  • Distribution: arch
  • Installation Method: AUR, steamtinkerlaunch-git

Issue Description

unable to pull in nxm links to vortex.

firefox launched through terminal sends this after attempt:
sed: -e expression #1, char 0: no previous regular expression

I've set vortex as option for nxm and nxm-protocol through xdg-mime. Handle mod manager download is enabled in vortex. I can open links from vortex into firefox.

@vvvilife vvvilife added the bug Something isn't working label Jul 25, 2024
@sonic2kk
Copy link
Owner

sonic2kk commented Jul 25, 2024

You didn't provide a log, so there's not much I can do here. It works on my end still. You even explicitly removed the section for the log which contains a comment asking you to provide one, and with instructions on where to find it.

Also, please download mods manually where possible instead of supporting these types of links.

@sonic2kk sonic2kk added the Vortex Mod Manager Issues related to installing or using Vortex Mod Manager with SteamTinkerLaunch label Jul 25, 2024
@vvvilife
Copy link
Author

vvvilife commented Jul 25, 2024

steamtinkerlaunch.log

apologies. wasn't on the same machine. should've been.

@sonic2kk
Copy link
Owner

sonic2kk commented Jul 25, 2024

Just wondering, did you accidentally close this issue or did you manage to resolve it?

If the issue is not resolved, are you running Vortex with steamtinkerlaunch vortex start, and if so does this command work? PATH="" LD_LIBRARY_PATH="" WINE="/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine" WINEARCH="win64" WINEDEBUG="-all" WINEPREFIX="/home/sonofevropa/.config/steamtinkerlaunch/vortex/compatdata/pfx" "/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine Vortex.exe -d nxm://cyberpunk2077/mods/15933/files/83358?key=c0qo3ngsfEgpFQU5um8QoA&expires=1722111459&user_id=190138089 --force-device-scale-factor=1

If not, does running it without --device-scale-factor work? As follows: PATH="" LD_LIBRARY_PATH="" WINE="/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine" WINEARCH="win64" WINEDEBUG="-all" WINEPREFIX="/home/sonofevropa/.config/steamtinkerlaunch/vortex/compatdata/pfx" "/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine Vortex.exe -d nxm://cyberpunk2077/mods/15933/files/83358?key=c0qo3ngsfEgpFQU5um8QoA&expires=1722111459&user_id=190138089

If neither of these work, then this is an issue with Vortex and Wine. It works for me, but I don't use Vortex very often, and I have the option to disable automatic updates enabled, so this could be a thing that is broken in newer Vortex releases.

If the latter works, then I guess not all Vortex versions are as friendly to the argument order, and maybe the URL has to go at the end.

@vvvilife
Copy link
Author

must've accidentally closed, but i tried appending that to steamtinkerlaunch vortex start with no success. i imagine i was doing it incorrectly. when/how do i run that command?

@vvvilife vvvilife reopened this Jul 25, 2024
@sonic2kk
Copy link
Owner

sonic2kk commented Jul 25, 2024

Sorry if I was unclear, I didn't mean to append it. I was checking that you were running Vortex with steamtinkerlaunch vortex start, to confirm you were definitely using the correct Vortex prefix and Proton version (as if these did not match, i.e. Vortex was launched in the Game Prefix when afaik it was not intended to be used that way, then the command would be expected to not work).

The steps should be:

  • Run steamtinkerlaunch vortex start to open Vortex, which I would guess is how you have been running it, but I call it out to be explicit
    • If this is not how you have been running Vortex, it is possible that the Proton version / prefix path have not matched, and so the download command does not work, because it is trying to send it to Vortex in another prefix.
  • With Vortex still running, in a new terminal session, run PATH="" LD_LIBRARY_PATH="" WINE="/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine" WINEARCH="win64" WINEDEBUG="-all" WINEPREFIX="/home/sonofevropa/.config/steamtinkerlaunch/vortex/compatdata/pfx" "/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine Vortex.exe -d nxm://cyberpunk2077/mods/15933/files/83358?key=c0qo3ngsfEgpFQU5um8QoA&expires=1722111459&user_id=190138089 --force-device-scale-factor=1 and see if it downloads your mod.
  • If this does not work, you can try PATH="" LD_LIBRARY_PATH="" WINE="/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine" WINEARCH="win64" WINEDEBUG="-all" WINEPREFIX="/home/sonofevropa/.config/steamtinkerlaunch/vortex/compatdata/pfx" "/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine Vortex.exe -d nxm://cyberpunk2077/mods/15933/files/83358?key=c0qo3ngsfEgpFQU5um8QoA&expires=1722111459&user_id=190138089 which is the same command but with the --device-scale-factor argument removed.
  • If neither of these work, then this is a problem with Vortex and Wine (and Nexusmods are hostile to Linux users, so it will not get fixed most likely)

It might also be worth trying steamtinkerlaunch vortex u nxm://cyberpunk2077/mods/15933/files/83358?key=c0qo3ngsfEgpFQU5um8QoA&expires=1722111459&user_id=190138089 with either Vortex running or closed, as this is a shorthand command that takes a NXM url (not the Nexusmods mod page url, but instead the nxm:// URL itself) and will pass this to Vortex. As a side effect of this Vortex should launch, because to pass NXM URLs Vortex is executed with the -d argument which should either launch Vortex and give it that URL to download, or the currently running Vortex instance should be given that command.

@vvvilife
Copy link
Author

launched vortex with the command, which i have been up to this point. i had this open while running the below. hopefully i understood correctly.

first command ends in > in terminal waiting for further input, nothing in vortex.

second is exactly the same, > and awaiting further input with nothing in vortex.

all of this was off of a fresh install. I had removed steamtinkerlaunch-git from my system, removed everything from .cache and .config, then reinstalled.

@sonic2kk
Copy link
Owner

sonic2kk commented Jul 25, 2024

in terminal waiting for further input, nothing in vortex.

Oh, maybe the NXM URL needs quotes?

Maybe the mod URL also expired, could be worth copying the URL from Nexusmods. I'm not sure how to get it, maybe Inspect Element for the NXM URL on the mod manager button?

@vvvilife
Copy link
Author

vvvilife commented Jul 25, 2024

PATH="" LD_LIBRARY_PATH="" WINE="/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine" WINEARCH="win64" WINEDEBUG="-all" WINEPREFIX="/home/sonofevropa/.config/steamtinkerlaunch/vortex/compatdata/pfx" "/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine Vortex.exe -d "nxm://cyberpunk2077/mods/15933/files/83358?key=c0qo3ngsfEgpFQU5um8QoA&expires=1722111459&user_id=190138089"
zsh: parse error near `&'

quotes cause shell to throw that error

@vvvilife
Copy link
Author

vvvilife commented Jul 25, 2024

missing close quotes before Vortex.exe -d ....

adding them throws this error on both commands

PATH="" LD_LIBRARY_PATH="" WINE="/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine" WINEARCH="win64" WINEDEBUG="-all" WINEPREFIX="/home/sonofevropa/.config/steamtinkerlaunch/vortex/compatdata/pfx" "/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine" Vortex.exe -d "nxm://cyberpunk2077/mods/15933/files/83358?key=c0qo3ngsfEgpFQU5um8QoA&expires=1722111459&user_id=190138089"
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
Application could not be started, or no application associated with the specified file
.
ShellExecuteEx failed: File not found.

@sonic2kk
Copy link
Owner

Oh, huh, the SteamTinkerLaunch command does not have the full path to the Vortex exe! That was a silly mistake on my part, very sorry. I will make a note to update that logging because that is frustrating.

I believe the path to Vortex.exe should be at /home/sonofevropa/.config/steamtinkerlaunch/vortex/compatdata/pfx/drive_c/Program Files/Black Tree Gaming Ltd/Vortex/. Please check that this path exists and if so, here are the two commands with the updated paths:

  • With scale factor argument: PATH="" LD_LIBRARY_PATH="" WINE="/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine" WINEARCH="win64" WINEDEBUG="-all" WINEPREFIX="/home/sonofevropa/.config/steamtinkerlaunch/vortex/compatdata/pfx" "/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine" "/home/sonofevropa/.config/steamtinkerlaunch/vortex/compatdata/pfx/drive_c/Program Files/Black Tree Gaming Ltd/Vortex/Vortex.exe" -d "nxm://cyberpunk2077/mods/15933/files/83358?key=c0qo3ngsfEgpFQU5um8QoA&expires=1722111459&user_id=190138089" --device-scale-factor=1
  • Without scale factor argument: PATH="" LD_LIBRARY_PATH="" WINE="/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine" WINEARCH="win64" WINEDEBUG="-all" WINEPREFIX="/home/sonofevropa/.config/steamtinkerlaunch/vortex/compatdata/pfx" "/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine" "/home/sonofevropa/.config/steamtinkerlaunch/vortex/compatdata/pfx/drive_c/Program Files/Black Tree Gaming Ltd/Vortex/Vortex.exe" -d "nxm://cyberpunk2077/mods/15933/files/83358?key=c0qo3ngsfEgpFQU5um8QoA&expires=1722111459&user_id=190138089"

@vvvilife
Copy link
Author

path exists.

second command worked!

not sure what this means or how to make it work without a long ass command, but hell yeah!

@sonic2kk
Copy link
Owner

sonic2kk commented Jul 25, 2024

That command that you ran is the exact same one that SteamTinkerLaunch is running from your log because I copied it from there 😄 -- well, with some additional quoting that SteamTinkerLaunch already does internally (but is missing from the logging because STL just prints $* in wineVortexRun), and an absolute Vortex EXE path (SteamTinkerLaunch cds into the Vortex directory, so it doesn't use the absolute path).

This does confirm that this is not a Wine issue or a change with Vortex behaviour thankfully.

Does running steamtinkerlaunch vortex u with an NXM URL work, while Vortex is already running? An example command would be steamtinkerlaunch vortex u nxm://game/blahblahblah. You should be able to get this URL from the "Mod Manager" button on Nexusmods. This command is the same one that the SteamTinkerLaunch Vortex .desktop file calls. If you check /home/sonofevropa/.local/share/applications/vortex-steamtinkerlaunch-dl.desktop you'll see it calls something like /usr/bin/steamtinkerlaunch vortex u %u (where %u is the URL it gets from the caller, i.e. Firefox).

If this works, then it is very bizarre, as this shorthand command is the one SteamTinkerLaunch uses to build the command you ran (it gets the Vortex wineprefix, Proton version, paths, etc). And there is nothing in your log that suggests anything is wrong.

@vvvilife
Copy link
Author

steamtinkerlaunch vortex -u nxm://cyberpunk2077/mods/15911/files/83132?key=EvmK64qHnNB6N4pwAm-ayA&expires=1722119744&user_id=190138089
zsh: parse error near `&'

i tried with quotes around the URL as well, no dice

@vvvilife
Copy link
Author

vvvilife commented Jul 25, 2024

I switched to bash and got the following:

sol❯steamtinkerlaunch vortex -u nxm://cyberpunk2077/mods/15911/files/83132?key=EvmK64qHnNB6N4pwAm-ayA&expires=1722119744&user_id=190138089
[1] 99768
[2] 99769
sol❯=========================
SteamTinkerLaunch v14.0.20240712-1
=========================
Usage: steamtinkerlaunch [options]...

it shows the entire --help menu, then hangs. i have to cancel with ctrl+c, then see the following:

^C
[1]-  Done                    steamtinkerlaunch vortex -u nxm://cyberpunk2077/mods/15911/files/83132?key=jub9kF4pCD0QDEnsG5AUtw
[2]+  Done                    expires=1722120445

@sonic2kk
Copy link
Owner

sonic2kk commented Jul 25, 2024

You have included a dash in the command, it is steamtinkerlaunch vortex u, without the dash.

In general, SteamTinkerLaunch commands do not use dashes. Sometimes you can use dashes in some commands, but they should all work without dashes.

@vvvilife
Copy link
Author

vvvilife commented Jul 25, 2024

❯ steamtinkerlaunch vortex u nxm://cyberpunk2077/mods/15911/files/83132?key=EvmK64qHnNB6N4pwAm-ayA&expires=1722119744&user_id=190138089
zsh: parse error near `&'
❯ steamtinkerlaunch vortex u "nxm://cyberpunk2077/mods/15911/files/83132?key=EvmK64qHnNB6N4pwAm-ayA&expires=1722119744&user_id=190138089"
sed: -e expression #1, char 0: no previous regular expression

~ main❯ 

neither resulted in the mod being downloaded

@sonic2kk
Copy link
Owner

sonic2kk commented Jul 25, 2024

I just realised in your earlier reply, you explicitly called out that the second command worked, that is the one without --device-scale-factor=1?

If so, does that mean the command with --device-scale-factor=1 does not work? That would explain the discrepancy.

If that is the case, does swapping when that argument gets passed fix the issue? That is, does PATH="" LD_LIBRARY_PATH="" WINE="/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine" WINEARCH="win64" WINEDEBUG="-all" WINEPREFIX="/home/sonofevropa/.config/steamtinkerlaunch/vortex/compatdata/pfx" "/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine" "/home/sonofevropa/.config/steamtinkerlaunch/vortex/compatdata/pfx/drive_c/Program Files/Black Tree Gaming Ltd/Vortex/Vortex.exe" -d "nxm://cyberpunk2077/mods/15933/files/83358?key=c0qo3ngsfEgpFQU5um8QoA&expires=1722111459&user_id=190138089" --device-scale-factor=1 fail, but does PATH="" LD_LIBRARY_PATH="" WINE="/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine" WINEARCH="win64" WINEDEBUG="-all" WINEPREFIX="/home/sonofevropa/.config/steamtinkerlaunch/vortex/compatdata/pfx" "/home/sonofevropa/.local/share/Steam/compatibilitytools.d/GE-Proton9-10/files/bin/wine" "/home/sonofevropa/.config/steamtinkerlaunch/vortex/compatdata/pfx/drive_c/Program Files/Black Tree Gaming Ltd/Vortex/Vortex.exe" --device-scale-factor=1 -d "nxm://cyberpunk2077/mods/15933/files/83358?key=c0qo3ngsfEgpFQU5um8QoA&expires=1722111459&user_id=190138089" work?

@vvvilife
Copy link
Author

yes that's correct, the second worked previously.

additionally, the second command in this last reply worked as well, the first did not

@sonic2kk
Copy link
Owner

sonic2kk commented Jul 26, 2024

Very interesting, it seems it's the --device-scale-factor that is causing the problem. Not sure why it works for me, it could be a Vortex version discrepancy.

I'll see about moving the order of the argument around to put the -d command at the end. Not sure how difficult that will be but I will take a look!

For what it's worth, this change was merged quite a while ago (044e24b) and this is the first time it has come up as an issue, which does lead me to suspect this is a Vortex change.

sonic2kk added a commit that referenced this issue Jul 26, 2024
It seems if this goes at the end of the arguments,
Vortex will not parse other arguments correctly.
Most notably if this argument is after `-d`,
Vortex will not interpret NXM urls.

May help #1143.
@sonic2kk
Copy link
Owner

sonic2kk commented Jul 26, 2024

Pushed a change with f899d3c which moves --device-scale-factor to the beginning. Try updating SteamTinkerLaunch and see if that fixes the URL handling. The command that steamtinkerlaunch vortex u executes should now put -d nxm://blahblahblah at the end of the command.

You can verify that you have the correct version by ensuring that it is v14.0.20240726-1.

@vvvilife
Copy link
Author

confirmed working again. thank you!

I have one last question before closing this thread.

here you said to avoid these links and use manual downloads. Curious as to why you'd consider that a best practice?

@sonic2kk
Copy link
Owner

Glad to hear the problem is resolved! It was an unusual issue so I appreciate the troubleshooting.

#1143 (comment) you said to avoid these links and use manual downloads. Curious as to why you'd consider that a best practice?

These types of links from browsers are incredibly brittle and, as a developer, it is incredibly disheartening to see their popularity. Other developers share the same mentality. There are far too many variables for these to break and that is amplified when it comes to working with Wine. The problem is not specific to Linux either, for the couple of years I dual-booted with Windows I never once had these work, and most of the time they don't work on my day job Mac! They are a nightmare, and I advocate against them any opportunity I get.

If you must use a mod manager at all, I implore you as a developer to download the mods manually - Especially when it comes to big Nexusmods mod packs!

In short, they are unreliable and developers like myself lose sleep over their prominence.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Vortex Mod Manager Issues related to installing or using Vortex Mod Manager with SteamTinkerLaunch
Projects
None yet
Development

No branches or pull requests

2 participants