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

⚠ [Help wanted] Vortex Compatibility Testing #555

Closed
sonic2kk opened this issue Aug 24, 2022 · 85 comments
Closed

⚠ [Help wanted] Vortex Compatibility Testing #555

sonic2kk opened this issue Aug 24, 2022 · 85 comments
Labels
help wanted Features/Bug Fixes that welcome contributions Vortex Mod Manager Issues related to installing or using Vortex Mod Manager with SteamTinkerLaunch

Comments

@sonic2kk
Copy link
Owner

Been spending some time trying to debug some issues I'm having with Vortex. I can't get it to launch at all with SteamTinkerLaunch and I can't seem to get any useful debugging output. When trying to launch for Vortex executable manually from the command line with WINEPREFIX=/home/blah/.config/steamtinkerlaunch/vortex/compatdata/pfx /home/blah/.local/share/Steam/compatibilitytools.d/GE-Proton7-29/files/bin/wine Vortex.exe it launches perfectly fine.

Is there a way to get further logging about what's going wrong with Vortex and Wine? The steamtinkerlaunch.log and installDotNet logs don't have anything useful, as dotnet seems to install fine (though Vortex prompts when I launch it that it needs DotNet6 and then seemingly installs it fine?) and the steamtinkerlaunch log just says "starting vortex with no commands" and then "vortex exited". Running steamtinkerlaunch vortex start from the command line doesn't produce any real output either.

I've kind of hit a wall here. Vortex seems to work without SteamTinkerLaunch but won't open when I try to open it from SteamTinkerLaunch. Anyone know what the problem could be?

@frostworx
Copy link
Collaborator

It looks like Vortex no longer works in steamtinkerlaunch (or the dotnet 4 installation used conflicts with some (wip?)) dotnet6 implementation)
Either way I won't find the time and motivation to fix this issuee, because I don't use Vortex at all.
I'll help anybody interested in submitting a PR to fix this when possible.

@frostworx frostworx changed the title Vortex not working when launched from SteamTinkerLaunch but seems to work when launching manually [PR wanted] DotNet6 possibly broke Vortex functionality Aug 25, 2022
@frostworx frostworx pinned this issue Aug 25, 2022
@frostworx frostworx changed the title [PR wanted] DotNet6 possibly broke Vortex functionality ⚠ [PR wanted] DotNet6 possibly broke Vortex functionality Aug 25, 2022
@sonic2kk
Copy link
Owner Author

sonic2kk commented Aug 25, 2022

Seems like Vortex is making an effort to target Wine, with the move to DotNet 6 actually making Vortex work out of the box with Wine 7.15 😮 Nexus-Mods/Vortex#10686 (comment)

As that issue primarily mentions targeting Lutris, I'm not sure what the situation is for installing with Proton. But that issue is worth looking at for anyone that wants to take a look at the issue. Seems like Vortex in future could just need a specific path variable set and a reasonably up-to-date Wine version!

@frostworx
Copy link
Collaborator

ah nice. I've partially seen that thread, because the one person showing off their lutris script (or something similar) pinged me for doubtful reasons. haven't read the originally intended context of the thread though.

@frostworx
Copy link
Collaborator

crazy idea, but if vortex installs dotnet6 itself automatically correctly, it might be worth to test if the problem persist, if the dotnet install functions are commented out.

@sonic2kk
Copy link
Owner Author

This is actually something I was planning on trying haha, haven't gotten around to it as I'm working on a couple of other things but I could also see that working.

When launching Vortex with WINEPREFIX=/home/blah/.config/steamtinkerlaunch/vortex/compatdata/pfx /home/blah/.local/share/Steam/compatibilitytools.d/GE-Proton7-29/files/bin/wine Vortex.exe after installing from STL, it gave me the same prompt mentioned in this comment on another STL issue. However whenever I clicked "Fix", Vortex downloaded and installed DotNet6. When I restarted I was able to navigate the Vortex UI, I didn't try installing mods though, and Vortex still didn't launch from SteamTinkerLaunch.

I'm wondering if maybe STL trying to install dotnet48 (as it was previously required) messes up Vortex installing DotNet6, if it tries to install it itself at all. It might also be worth trying to get STL to export the DOTNET_ROOT (as mentioned in the earlier linked Vortex issue). Though I'm not sure, I guess this is meant to point to where DotNet6 is installed in the Wine prefix?

@frostworx
Copy link
Collaborator

I'm wondering if maybe STL trying to install dotnet48 (as it was previously required) messes up Vortex installing DotNet6

yeah, that's what I wanted to suggest. I'd guess as well that DOTNET_ROOT should point to a dotnet6 intallation.
so a clean automated approach would probably be either

  • install dotnet6 via vortex (assuming it works as expected) and reproduce that installation with to-be written functions in steamtinkerlaunch (ideally with some shared destination) and point DOTNET_ROOT to that dir
    or
  • check if vortex offers some command line option to automatically install dotnet6 if missing without popping up the requester at all

@sonic2kk
Copy link
Owner Author

Going to take a stab at fixing this over the weekend. Famous last words :-) I'll report back with anything I find out. I'll start by not installing DotNet6 at all and setting DOTNET_ROOT, and take things from there. We could run into a few issues since this might only work with very new versions of Wine - Wine 7.15, released August 19th, is the only one I've seen reports of working. I would say GE-Proton will have relevant patches eventually for this if it doesn't already.

If Vortex is starting to target Wine then in time hopefully the days of Vortex breakages will behind us soon :-)

@sonic2kk
Copy link
Owner Author

Even when trying to use system Wine (7.15) manually, I can't get Vortex to see the DotNet 6 installation 😦

@frostworx
Copy link
Collaborator

the days of Vortex breakages will never be behind us. dotnet is only one of multiple possible issues. have fun either way.

@NicBOMB
Copy link

NicBOMB commented Aug 28, 2022

ah nice. I've partially seen that thread, because the one person showing off their lutris script (or something similar) pinged me for doubtful reasons. haven't read the originally intended context of the thread though.

@frostworx 😄

Going to take a stab at fixing this over the weekend. Famous last words :-) I'll report back with anything I find out. I'll start by not installing DotNet6 at all and setting DOTNET_ROOT, and take things from there. We could run into a few issues since this might only work with very new versions of Wine - Wine 7.15, released August 19th, is the only one I've seen reports of working. I would say GE-Proton will have relevant patches eventually for this if it doesn't already.

If Vortex is starting to target Wine then in time hopefully the days of Vortex breakages will behind us soon :-)

@sonic2kk I have gotten Vortex 1.6.8 working in the default wine prefix by doing the following:

I tested this on a clean prefix and on my used default prefix.

  1. Add .NET 4.8 Framework to the prefix via winetricks
    Default prefix: winetricks dotnet48.
    Custom prefix: env WINEPREFIX="/your/pfx/" winetricks dotnet48

  2. Add .NET 6 Runtime to the prefix via the executable installer
    Default prefix: Launch it with the "Wine Windows Program Loader" or wine start windowsdesktop-runtime-6.0.8-win-x64.exe.
    Custom prefix: env WINEPREFIX="/your/pfx/" wine start windowsdesktop-runtime-6.0.8-win-x64.exe

    Running the installers and .NET Framework && .NET Runtime

    The application loader uses wine start /unix, but the /unix option makes no difference to the installers or Vortex.
    The above link I provided is from the official .NET changelog for 6.0.8 and is also a slightly newer link than the download used in Vortex as of writing this.
    Per microsoft,

    The .NET Desktop Runtime enables you to run existing Windows desktop applications. This release includes the .NET Runtime; you don't need to install it separately.

    The above installer includes runtime/host but not the .NET Framework. Unfortunately, the dotnet framework is still required by Vortex and is not provided by the latest installers. .NET 6 is therefore essentially another dependency on top of dotnet 4.8, which provides the framework. Vortex will complain about a missing or broken dotnet installation without both the .NET Framework and .NET Runtime since they are shipped separately. thanks Microsoft.

  3. Run vortex-setup-1.6.8.exe or whatever the latest release is.
    Default prefix: Launch it with the "Wine Windows Program Loader" or wine start vortex-setup-1.6.8.exe
    Custom prefix: env WINEPREFIX="/your/pfx/" wine start vortex-setup-1.6.8.exe

  4. When Vortex finishes loading it will complain about a broken dot net installation, or even indicate the native linux runtime was selected. Ignore Vortex's struggling and select the quit option when prompted or close Vortex yourself.

    fix prompt?

    Vortex will run the installer when using the provided fix button, but will continue complaining about the missing/broken .NET after installing and reopening since it is still looking in the wrong place by default. You need step 5 to fix that. Since Vortex also uses an older link for .NET 6, I opted to recommend these steps instead. It's just better to fix it before Vortex prompts the user.

  5. We will now use the previously mentioned environment variable DOTNET_ROOT to negate the error.
    Default prefix:

    env DOTNET_ROOT="c:\Program Files\dotnet\\" wine start /d "c:\Program Files\Black Tree Gaming Ltd\Vortex" Vortex.exe

    Custom prefix:

    env WINEPREFIX="/your/pfx/" DOTNET_ROOT="c:\Program Files\dotnet\\" wine start /d "c:\Program Files\Black Tree Gaming Ltd\Vortex" Vortex.exe

    The above paths are relative to the wine prefix which guarantees the .NETs we just installed are selected.
    in dos land case sensitivity doesn't exist for paths so c: is C:, still so cursed everytime writing a command like this, smh
    You now have Vortex running with the appropriate .NET.
    No errors should appear on startup. 👏

Also, I have been contributing directly to Vortex and gotten the development environment building on Linux.
A native linux package of Vortex has a non-zero chance of occurring, which may obsolete all of this.

@sonic2kk
Copy link
Owner Author

Holy heck! Thank you so much for the detailed writeup and excellent news!

So the dotnet48 winetrick is still required, gotcha. I understand the consensus is that DotNet 6 installs and Vortex works with Wine 7.15, though STL is currently set up afaik to use a user-selected version of Wine as I believe the version of Wine used to run Vortex is also the version used to run the game once its launched. I'm aware there are no guarantees that your steps will work with, say, GE-Proton7-30, but I will try them nonetheless if nothing else but out of morbid curiosity 😄

(If it still requires dotnet48, I wonder if #549 (which seems to be Steam Deck only) is unrelated to this. There are other reports of Winetricks not working on Steam Deck so it could be an entirely unrelated matter?)

Also, I have been contributing directly to Vortex and gotten the development environment building on Linux. A native linux package of Vortex has a non-zero chance of occurring, which may obsolete all of this.

Assuming a native Linux Vortex package appears and works with installing mods for games running through Proton, this would probably obsolete all of this - but imo that would be a very worthy successor to the hoops we currently jump through to install and use Vortex on Linux with Wine. Personally I would be very happy to see a native Linux Vortex and have STL integrate with that. Perhaps that could even allow for better integration on Steam Deck and maybe even STL running through Flatpak Steam!

Of course I understand that isn't a guarantee that a native Linux build will appear, so for the meantime, looking into getting Vortex working with Wine again is probably fine. A native Linux package once it appears will need testing too but as mentioned if a package did come along and obsolete this, I'd be perfectly happy with that 🙂

Thanks for outlining the steps needed. I'll see if I can implement this into STL once I have a moment (of course anyone else that wants to contribute is welcome to, as I am in-between PRs here and working on adding STL to ProtonUp-Qt). And also a big thanks for your efforts on trying to improve the Linux Vortex experience upstream 👍

@SeongGino
Copy link

So basically, in a legitimate (and largely successful) attempt at making Vortex Linux-friendly, the change has subsequently broken its behavior on Linux environments with a pre-existing dotnet-host.

This. Is. Hilarious. XD

...a-Anyways--I found that prepending the env var DOTNET_ROOT="c:\Program Files\dotnet\\" before the steamtinkerlaunch vortex start command works in a terminal, but same method doesn't seem to work in the context of a .desktop starter. I'm assuming that's simply a limitation of XDG app files, but mayhaps STL might wanna export this value itself in the future?

Guess we can add this along with Halo MCC in the top 10 Linux Oopsies for this year, of games that try to support the platform only to cause more unintended issues. I am laughing at this more than I should, but it is also genuinely appreciated to see progress like this in embracing Linux for game modding.

*Though, if Vortex is to be made a native app, I do hope it'll have some way of forking off utility processes in Wine, since a lot of Skyrim animation mods rely on Nemesis, it and FO4 use BodySlide for models, others using xEdit (which currently doesn't work for texture generation in Wine???), and so on.

@sonic2kk
Copy link
Owner Author

Though, if Vortex is to be made a native app, I do hope it'll have some way of forking off utility processes in Wine

I also hope this to be the case for the exact reasons you outlined. Being able to run Nemesis and BodySlide was essential when I used MO2 to mod Skyrim SE.

I found that prepending the env var DOTNET_ROOT="c:\Program Files\dotnet\" before the steamtinkerlaunch vortex start command works in a terminal, but same method doesn't seem to work in the context of a .desktop starter

Adding variables like this in a .desktop file can be really finicky because of how escape characters work I believe. At least in my experience this has been a massive headache. For one of my own projects I had to do something like this:

Exec=env WINEPREFIX="/home/user/Downloads/WineApp/pfx" wine C:\\\\users\\\\user\\\\AppData\\\\Roaming\\\\Microsoft\\\\Windows\\\\Start\\ Menu\\\\Programs\\\\App\\ Space\\ Name.lnk

@NicBOMB
Copy link

NicBOMB commented Aug 29, 2022

So basically, in a legitimate (and largely successful) attempt at making Vortex Linux-friendly, the change has subsequently broken its behavior on Linux environments with a pre-existing dotnet-host.

No attempt was made based on .NET version change alone? Vortex changing .NET version seems largely separate from the status of building on non-windows platforms, let alone running in WINE.

...a-Anyways--I found that prepending the env var DOTNET_ROOT="c:\Program Files\dotnet\\" before the steamtinkerlaunch vortex start command works in a terminal, but same method doesn't seem to work in the context of a .desktop starter. I'm assuming that's simply a limitation of XDG app files, but mayhaps STL might wanna export this value itself in the future?

The Exec key does not provide variable assignment like a shell. You need to use env to add the variable, then the command.

Adding variables like this in a .desktop file can be really finicky because of how escape characters work I believe. At least in my experience this has been a massive headache. For one of my own projects I had to do something like this:

The problem lies in the Exec key's escape logic.
In the Desktop Entry Spec,

to unambiguously represent a literal backslash character in a quoted argument in a desktop entry file requires the use of four successive backslash characters ("\\\\").

So you've gotta spam those or write your command into a field which will populate those slashes for you, like the properties menu of a desktop entry in Dolphin (plasma desktop's file manager). It's really not too much trouble. For example, I wrote a whole shell script into the Exec key of my desktop entry.

Try Exec=env DOTNET_ROOT='c:\\\\Program Files\\\\dotnet\\\\' steamtinkerlaunch vortex start

@SeongGino
Copy link

No attempt was made based on .NET version change alone? Vortex changing .NET version seems largely separate from the status of building on non-windows platforms, let alone running in WINE.

I was just making an observation as a mere user, was all. It's half-joking.

So you've gotta spam those or write your command into a field which will populate those slashes for you, like the properties menu of a desktop entry in Dolphin (plasma desktop's file manager).

Today I Learned:tm:. That's what I'd guessed, but good to have a source on that as well, thank you.

@Arcitec
Copy link
Contributor

Arcitec commented Sep 2, 2022

Initial install in STL in the Steam Flatpak was easy. STL successfully installed dotnet48 and then Vortex.

Fun fact. DotNet6 runs for me. I just had to run Vortex with GE-Proton 7-31. On first start Vortex gave me a "message log" popup with some error about a missing DotNet DLL and a button to Fix it. (That EXACT same dialog with same text shows up on Windows too.)

Clicking Fix made me briefly see a DotNet window which vanished quickly. I guess Vortex triggers a silent install.

On next launch of Vortex, there was no more warning and the app runs normally.

But... I got a notification on Vortex saying that Hardlinks mode has been removed from the app and that it wanted to fix my settings. I clicked fix and it switched to softlink mode. I went back into settings and tried to change Deployment Mode and Vortex only has softlinks, no other modes.

When I look in the game folder it seems like there are no mod links/files in there.

@sonic2kk
Copy link
Owner Author

sonic2kk commented Sep 2, 2022

Fun fact. DotNet6 runs for me. I just had to run Vortex with GE-Proton 7-31

Ah! 7-31 has a Wine update so perhaps that could be related!

But... I got a notification on Vortex saying that Hardlinks mode has been removed from the app and that it wanted to fix my settings. I clicked fix and it switched to softlink mode. I went back into settings and tried to change Deployment Mode and Vortex only has softlinks, no other modes.

When I look in the game folder it seems like there are no mod links/files in there.

I'm not totally sure what this means as I don't use Vortex but this could be related to Flatpak. Did Vortex remove your mods or is it just not seeing them now?

@Arcitec
Copy link
Contributor

Arcitec commented Sep 2, 2022

@sonic2kk

Did Vortex remove your mods or is it just not seeing them now?

Vortex lists my installed mods for the game (Mods I have installed VIA Vortexx), but it doesn't place the mods in the game's folder. I think this is because it's trying to make symlinks instead of hardlinks (STL's wiki says that hardlinks are the only method that works on Linux). So if Vortex has removed hardlinks, which it seems like, then that is bad news for us.

@sonic2kk
Copy link
Owner Author

sonic2kk commented Sep 2, 2022

Ah, I understand now. So Vortex itself has removed support for this kind of mod, and this feature being missing isn't a bug on STL's side. But still it means currently Vortex mods don't work, which is not good news.

I wonder why symlinks don't work and if this is something Vortex could fix on their side.

@Arcitec
Copy link
Contributor

Arcitec commented Sep 3, 2022

Yep. But it might be possible to make soft symlinks work on Wine... Or to edit Vortex config to force it to use old hardlink method (it cannot be selected via its GUI but maybe it still has code for it).

@NicBOMB
Copy link

NicBOMB commented Sep 4, 2022

I wonder why symlinks don't work and if this is something Vortex could fix on their side.

This is why.

@sonic2kk sonic2kk added help wanted Features/Bug Fixes that welcome contributions Vortex Mod Manager Issues related to installing or using Vortex Mod Manager with SteamTinkerLaunch labels Sep 5, 2022
@BottomNotch
Copy link

whoops, totally forgot to check your comments, @BottomNotch! Sorry for that! It is almost bedtime now here, but writing a note to myself, so I won't forget it again...

edit: replying now 😀 hmm, I recently noticed that urls within wine are no longer forwarded to my native browser (which just worked before). I did not really investigate this, but your xdg-desktop-portal url might be a good hint here, because I recently pulled it into my system together with flatpak. time to check this shortly. Thanks for your help!

No problem! And now I'm doing something a little crazier. The steam deck repos have an old version of Firefox, so I installed an up to date version in a distrobox, added distrobox-host-exec right after Exec= in vortex-steamtinkerlaunch-dl.desktop, and now the vortex download button works from a browser running inside a containerized environment. I hope this is helpful to any steam deck users who want to get this working with an up to date version of Firefox.

@sonic2kk
Copy link
Owner Author

Steam Deck should already package an up-to-date version of Firefox Flatpak, I thought regular Firefox was removed a while ago. Maybe that's only in the Beta...

Good to know though 😃

@BottomNotch
Copy link

BottomNotch commented Oct 12, 2022

Steam Deck should already package an up-to-date version of Firefox Flatpak, I thought regular Firefox was removed a while ago. Maybe that's only in the Beta...

Good to know though 😃

But nxm handling isn't working with the flatpak version.

@frostworx
Copy link
Collaborator

a log might help to find out...

@Arcitec
Copy link
Contributor

Arcitec commented Oct 13, 2022

I have figured out something that is really fundamentally broken about how Vortex is setup. I read through other tickets and realize you are aware of this issue too.

The issue: Vortex runs on its own Windows installation, separate from the game, which means Vortex can't properly write user-data/per-user config files for the game container.

So as a result, all Skyrim mod "load instructions" are stored inside the Vortex installation:

~/.var/app/com.valvesoftware.Steam/config/steamtinkerlaunch/vortex/compatdata/pfx/drive_c/users/steamuser/AppData/Local/Skyrim Special Edition

And the actual Skyrim game compatdata doesn't have that folder/data at all, so the mods aren't loading properly.

Skyrim uses these two files in that folder:

plugins.txt = which plugins to load
loadorder.txt = which order to load them

This is a core problem in how Vortex is managed/running. I wonder what the solutions are? Just telling people to manually copy the text files to their Skyrim game container perhaps. That's how I solve it.

I can't imagine any universal solutions. STL obviously needs to keep Vortex inside its own container, so that Vortex itself runs properly. But it does mean that users have to manually be aware of this and copy the finished config files into the game container.

Something else to keep in mind: Symlinks MIGHT work too, but in my case (Flatpak Steam) it probably means that I have to mess with Flatseal permissions to ensure that the symlink target is accessible from the sandbox.

PS: I didn't notice this because all texture/data mods work. The thing that's broken is all plugin-based mods. Lucky for me I just played like 6 hours so far, so I can restart the game properly with mods enabled without too much sadness. I'll even take the opportunity to add a few more mods that will make the game more enjoyable. :)

@Arcitec
Copy link
Contributor

Arcitec commented Oct 13, 2022

I have a Flatpak solution. It can work natively but will need different file paths.

For Skyrim on Flatpak, I have these two commands as a solution:

Option 1: Best, if it works. This sets up symlinks.which means that it only has to be done once and automatically stays in sync with your Vortex config, but it MAY not work in case your Wine cannot read/follow the symlinks (it worked for me):

for f in loadorder.txt plugins.txt; do ln -s ~/.var/app/com.valvesoftware.Steam/config/steamtinkerlaunch/vortex/compatdata/pfx/drive_c/users/steamuser/AppData/Local/"Skyrim Special Edition"/"$f" ~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/AppData/Local/"Skyrim Special Edition"/"$f"; done

Option 2: A manual copy, which always work but must be manually repeated every time you change anything about the mods in Vortex:

for f in loadorder.txt plugins.txt; do cp -f ~/.var/app/com.valvesoftware.Steam/config/steamtinkerlaunch/vortex/compatdata/pfx/drive_c/users/steamuser/AppData/Local/"Skyrim Special Edition"/"$f" ~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/AppData/Local/"Skyrim Special Edition"/"$f"; done

@frostworx
Copy link
Collaborator

steamtinklerlaunch already sets all required symlinks. This already works without any problems for a very long time.
If it does no longer work please provide logs...

@SentaiBrad
Copy link

I'm unsure if this thread is being looked at by anyone interested in maintaining the Vortex portion, but linking #637 here just in case.

@sonic2kk sonic2kk changed the title ⚠ [Help wanted] DotNet6 possibly broke Vortex functionality ⚠ [Help wanted] Vortex Compatibility Testing Oct 29, 2022
@sonic2kk
Copy link
Owner Author

Aside from NXM links, can anyone give an update on the status of this? How does Vortex modding work through SteamTinkerLaunch? I get the impression from reading the issues and looking at usage that it works but has a couple of hiccups with the NXM link handlers and some hiccups on Flatpak.

@BottomNotch
Copy link

Aside from NXM links, can anyone give an update on the status of this? How does Vortex modding work through SteamTinkerLaunch? I get the impression from reading the issues and looking at usage that it works but has a couple of hiccups with the NXM link handlers and some hiccups on Flatpak.

One annoyance was whenever I changed the mod download folder, it would revert next time I open Vortex, I ended up just making a symlink to where I wanted the downloads to actually go.
Also, it stops responding every once in awhile, and sometimes it would start working again, sometimes I had to kill it and restart it. I also had some issues with resizing the window (the bottom would be slightly cut off when maximized, and a few other things that I don't remember exactly off the top of my head); but I'm guessing those last two are more wine issue than STL issues. It's been a couple of weeks since I last used it so there might be some other small things I'm forgetting, but overall it's a good experience.

I also just remembered I was having trouble getting it to work with a non-steam game (GOG Skyrim: AE) but that very well may be an ID10T problem on my end. I didn't need collections for that game so I just switched to MO2.

@sonic2kk
Copy link
Owner Author

sonic2kk commented Oct 29, 2022

One annoyance was whenever I changed the mod download folder, it would revert next time I open Vortex, I ended up just making a symlink to where I wanted the downloads to actually go.

Hmm, there's a chance this could be a Vortex bug but likely this is some kind of configuration thing. Maybe Vortex can't see the mod folder on startup for some reason so it reverts to a default.

Also, it stops responding every once in awhile, and sometimes it would start working again, sometimes I had to kill it and restart it. I also had some issues with resizing the window (the bottom would be slightly cut off when maximized, and a few other things that I don't remember exactly off the top of my head); but I'm guessing those last two are more wine issue than STL issues

Probably Vortex issues instead of Wine issues imo but yup I would agree with you that this isn't a SteamTinkerLaunch problem.

but overall it's a good experience

Great to hear! Thank you!

I also just remembered I was having trouble getting it to work with a non-steam game (GOG Skyrim: AE)

Hmm that's interesting but it could be an issue with however STL detects games. I'm personally not interested in supporting modding Non-Steam Games with Vortex/MO2 via STL but if it's a relatively straightforward fix someone could open a PR for it :-)


Okay, so there are a couple of what I understand to be minor UI bugs and freezing (not an STL problem afaik but if there's a Winetrick to fix it we can install that when we install Vortex), the Downloads folder keeps reverting on launch and the NXM link handler is broken.

For the Downloads folder reverting, I wonder if STL could automatically set up a symlink like you did. Not sure how we'd do this, maybe in the global menu/game menu we could set a downloads directory and create a symlink that way.

The NXM link thing is becoming a problem. There was a script linked earlier, I wonder if someone who understands the process more could contribute a PR to implement better mime type integration for Vortex? :-)

It's worth noting that MO2 seems to have mime type troubles sometimes (on Steam Deck only going by the reports), and that might be fixed in the mo2-overhaul branch.

The Downloads directory thing is something I really want to look into. I think that might be a nice usability fix. I'll keep that on my radar.

Thank you a ton for the feedback @BottomNotch, it's very much appreciated. Just to I guess confirm my suspicions, but DotNet6 shouldn't be a problem anymore right?

@BottomNotch
Copy link

One annoyance was whenever I changed the mod download folder, it would revert next time I open Vortex, I ended up just making a symlink to where I wanted the downloads to actually go.

Hmm, there's a chance this could be a Vortex bug but likely this is some kind of configuration thing. Maybe Vortex can't see the mod folder on startup for some reason so it reverts to a default.

Also, it stops responding every once in awhile, and sometimes it would start working again, sometimes I had to kill it and restart it. I also had some issues with resizing the window (the bottom would be slightly cut off when maximized, and a few other things that I don't remember exactly off the top of my head); but I'm guessing those last two are more wine issue than STL issues

Probably Vortex issues instead of Wine issues imo but yup I would agree with you that this isn't a SteamTinkerLaunch problem.

but overall it's a good experience

Great to hear! Thank you!

I also just remembered I was having trouble getting it to work with a non-steam game (GOG Skyrim: AE)

Hmm that's interesting but it could be an issue with however STL detects games. I'm personally not interested in supporting modding Non-Steam Games with Vortex/MO2 via STL but if it's a relatively straightforward fix someone could open a PR for it :-)

Okay, so there are a couple of what I understand to be minor UI bugs and freezing (not an STL problem afaik but if there's a Winetrick to fix it we can install that when we install Vortex), the Downloads folder keeps reverting on launch and the NXM link handler is broken.

For the Downloads folder reverting, I wonder if STL could automatically set up a symlink like you did. Not sure how we'd do this, maybe in the global menu/game menu we could set a downloads directory and create a symlink that way.

The NXM link thing is becoming a problem. There was a script linked earlier, I wonder if someone who understands the process more could contribute a PR to implement better mime type integration for Vortex? :-)

It's worth noting that MO2 seems to have mime type troubles sometimes (on Steam Deck only going by the reports), and that might be fixed in the mo2-overhaul branch.

The Downloads directory thing is something I really want to look into. I think that might be a nice usability fix. I'll keep that on my radar.

Thank you a ton for the feedback @BottomNotch, it's very much appreciated. Just to I guess confirm my suspicions, but DotNet6 shouldn't be a problem anymore right?

No problem, happy to help. The steam deck mime type woes I think are more flatpak related than steam deck related; but since flatpaks are the easiest way to install software on the deck, that's where a lot of the issue are coming up. This is just speculation though.

As for dotnet6, I never had any issues, so I'm not sure if it's resolved for anyone who was having trouble, or what might have been different about their configuration.

Also, I said wine issue because I never had those issues with when modding games with Vortex on windows, but I suppose that's not really relevant, because either way, it's not STL causing the issue.

Something else that may be relevant to the Downloads folder issue: I was changing it from my internal storage to my SD card, maybe it being on a different storage device was making vortex unhappy (though I didn't have issues changing the mod staging folder to the SD card).

@sonic2kk
Copy link
Owner Author

The steam deck mime type woes I think are more flatpak related than steam deck related; but since flatpaks are the easiest way to install software on the deck, that's where a lot of the issue are coming up. This is just speculation though.

The only Flatpak in the equation on Steam Deck is Firefox Flatpak. STL Flatpak is unsupported on Steam Deck and Steam does not come as a Flatpak. But if you were referring to Firefox Flatpak you could be right.

I tested MO2 a while ago on my laptop with Firefox Flatpak and it did work but it also sounds like MO2 worked for you, so this could just be a Vortex thing (may need to look into updating how to the .desktop file is created).


Interesting hint about the SD card thing. There were notes before I think around the web about the SD card on Steam Deck specifically and Wine having some "fun" behaviour - I think the RE4HD Steam Deck instructions mentioned something about having to set a variable. Not sure myself, the comments seemed to suggest it wasn't needed at least with Bottles, but maybe we need to set that option on Steam Deck if it isn't already. I'll look into that at some point too but if all else fails, adding an option in the global menu and per-game to create a Downloads folder symlink for mods is probably an acceptable workaround.

Awesome, the state of Vortex support is sounding a lot better than I thought! I realise you're just one user but still, it's nice to hear that it works and get some positive feedback. It sounds like there are just a couple of issues to fix, but it's not completely broken or even mostly broken 😃

@BottomNotch
Copy link

The steam deck mime type woes I think are more flatpak related than steam deck related; but since flatpaks are the easiest way to install software on the deck, that's where a lot of the issue are coming up. This is just speculation though.

The only Flatpak in the equation on Steam Deck is Firefox Flatpak. STL Flatpak is unsupported on Steam Deck and Steam does not come as a Flatpak. But if you were referring to Firefox Flatpak you could be right.

I tested MO2 a while ago on my laptop with Firefox Flatpak and it did work but it also sounds like MO2 worked for you, so this could just be a Vortex thing (may need to look into updating how to the .desktop file is created).

Interesting hint about the SD card thing. There were notes before I think around the web about the SD card on Steam Deck specifically and Wine having some "fun" behaviour - I think the RE4HD Steam Deck instructions mentioned something about having to set a variable. Not sure myself, the comments seemed to suggest it wasn't needed at least with Bottles, but maybe we need to set that option on Steam Deck if it isn't already. I'll look into that at some point too but if all else fails, adding an option in the global menu and per-game to create a Downloads folder symlink for mods is probably an acceptable workaround.

Awesome, the state of Vortex support is sounding a lot better than I thought! I realise you're just one user but still, it's nice to hear that it works and get some positive feedback. It sounds like there are just a couple of issues to fix, but it's not completely broken or even mostly broken 😃

Sorry, I should have been more specific, I did mean the Firefox flatpak, I installed STL through ProtonUp-QT. I've actually moved away completely from using flatpak web browsers, I just use distrobox now for most software I use exclusively in desktop mode on my steam deck. Firefox installed in an Arch distrobox works great (though I had to modify the NXM handler script a bit so that it launches Vortex on the host system instead of trying launch it in the container). I also should note that I never did have MO2 NXM link handling working, flatpak browser or otherwise (I'm not actually sure I tried with flatpak Firefox though). I only wanted a small handful of mods for Skyrim, and I didn't feel like investigating the issue at the time, so I downloaded manually.

@Shadark
Copy link

Shadark commented Oct 30, 2022

Hi! I've posted this on my own issue #644 but it's already marked as offtopic in there because I realized that it's outside the scope of the original issue.

System: Steam Deck (SteamOS), STL manual installation (also with ProtonUp-Qt)

Currently I only have vanilla Skyrim + some mods installed with Vortex. I'm able to launch Skyrim Script Extender (SKSE) from the executable already configured in Vortex. So what I'm doing is:

  • Launching Vortex by:
    • Launching Skyrim via STL and selecting Vortex OR
    • Directly from command line
  • Selecting SKSE64 in the Tools section
  • SKSE -> Skyrim opens with the mods I've installed/activated.

However, I'm not sure about the procedure to launch SKSE from "outside" Vortex but preserving the modlist. I've tried by activating Skyrim STL Vortex options, but as far as I see that only opens a GUI asking me if I want to load Vortex. If I don't do anything, SKSE -> Skyrim load, but without mods loaded. Also, vanilla Skryim being or not in the "Vortex" collection doesn't seem to do anything, either.

Just to confirm (in case this is a bigger issue than the collection not working: are we supposed to get a Vortex modlist working from outside Vortex? As in, opening Skyrim (without opening Vortex UI) and loading the preconfigured Vortex modpack. I thought yes, but I can't seem to get it working no matter what I configure in the Skyrim STL config.

Any insights about this? Thanks in advance!

@sonic2kk
Copy link
Owner Author

I just mentioned it in the other issue but posting here for completeness: To my understanding mods should only be loaded with your game when you run your game from Vortex Mod Manager (and same goes for MO2) - And this should be the case on Windows and Linux. At least to me, it would be very undesirable to have a game load with mods if you are not running it through a mod manager, and would make very little sense (how would you remember which mods you picked, set their load order, do other configuration etc?)

I don't use Vortex and I am not overly fond of it, so I am not sure what intended behaviour is. Someone that uses it, please chime in with what the expected behaviour is 👍

@BottomNotch
Copy link

I just mentioned it in the other issue but posting here for completeness: To my understanding mods should only be loaded with your game when you run your game from Vortex Mod Manager (and same goes for MO2) - And this should be the case on Windows and Linux. At least to me, it would be very undesirable to have a game load with mods if you are not running it through a mod manager, and would make very little sense (how would you remember which mods you picked, set their load order, do other configuration etc?)

I don't use Vortex and I am not overly fond of it, so I am not sure what intended behaviour is. Someone that uses it, please chime in with what the expected behaviour is 👍

The expected (or at least default) behavior for vortex is for enabled mods to be loaded no matter how the game is launched, and even if vortex is not running. That's at least how it's always worked for me when I've used it on Windows, and that's how it's worked when I've used it through STL on my Steam Deck (except I was having issues with Skyrim, which I assumed was because it's a non-steam game). Nexus Mod Manager works same way. I'm also not so fond of Vortex, it's fine, but I much prefer MO2, I hope it gets support for Nexus Collections, though I don't personally have an issue with Vortex's mod deployment behavior.

@Shadark
Copy link

Shadark commented Nov 1, 2022

I just mentioned it in the other issue but posting here for completeness: To my understanding mods should only be loaded with your game when you run your game from Vortex Mod Manager (and same goes for MO2) - And this should be the case on Windows and Linux. At least to me, it would be very undesirable to have a game load with mods if you are not running it through a mod manager, and would make very little sense (how would you remember which mods you picked, set their load order, do other configuration etc?)

I don't use Vortex and I am not overly fond of it, so I am not sure what intended behaviour is. Someone that uses it, please chime in with what the expected behaviour is 👍

Disclaimer: I'm not knowledgeable about how mod manager should work, but I thought, as @BottomNotch mentioned, that MO2 should load your configured modlist when you launch any executable through MO2, even if you don't directly open the MO2 UI, at least in Windows with something like "C:\My Programs\MO2\ModOrganizer.exe" "moshortcut://SkyrimSE:SKSE" you could launch your SKSE instance + mods directly.

With the knowledge about how Vortex works, I thought it could work out of the box by just managing the modlist/mod order for you and, since you're deploying the files to the Skyrim directory, you wouldn't need to open Vortex every time you want to launch your own modlist.

I can confirm that, indeed, I was able to apply Vortex modlist to my own Skyrim executable (Skyrim Together Reborn) by manually copying the files in /home/deck/.config/steamtinkerlaunch/vortex/compatdata/pfx/drive_c/users/steamuser/Application Data/Vortex/skyrimse/profiles/S1044rhNj/ (plugins.txt and loadorder.txt) to /home/deck/.steam/steam/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/Local Settings/Application Data/Skyrim Special Edition/. That way, my Skyrim setup (that was being launched by the STR executable) loaded the correct modlist and, since Vortex already deploys the mod files to the directory, everything seems to be working just fine.

But I'm guessing that this is outside of STL and it's just Vortex behavior? Anyway, at least I managed to "fix" my STR issue by manually copying the files. Just a bit more tiresome to manage when I change some mods around.

@sonic2kk
Copy link
Owner Author

sonic2kk commented Nov 3, 2022

Thanks for all the background here, much appreciated! 👍

I just installed Vortex and actually got it loading, but there may be a problem where the global Vortex Proton version is not correctly set. I will look into that if possible.

There is also another issue I had where many games are not automatically discovered. I believe SteamTinkerLaunch manages autodiscoverable games by setting them in misc/vortexgames.txt - and this list is quite small. It will probably need expanded, and I will work on doing that soon if that is indeed the case.

I didn't try modding any games yet but it seems to work at least which is a lot better than I expected.

@frostworx
Copy link
Collaborator

frostworx commented Nov 4, 2022

misc/vortexgames.txt was "complete" at the time of writing (in fact the whole vortex implementation once worked flawlessly). seems like multiple games were added (/left beta) since.
Ideally such a helper file would not even be required.
It was always the idea that people using Vortex via steamtinkerlaunch contribute new additions to that list self motivated.
good luck!

edit: just launched it and multiple/most of the 228 supported games are still listed as "beta".
to "manage" beta supported games, vortex needs to download its extension - therefore the data for that game is not available before and apparently can't be seen by steamtinkerlaunch.

@sonic2kk
Copy link
Owner Author

sonic2kk commented Nov 4, 2022

misc/vortexgames.txt was "complete" at the time of writing

Vortex sees to "add" games really fast - Sony's Sackboy game is listed as supported now, and Spider-Man Remastered had support very soon after launch too if I recall. The list of supported games is now close to 2,000, though I am not sure how many of those are games available on Steam and are "actually" supported.

(in fact the whole vortex implementation once worked flawlessly)

I didn't test any mods but I just tested for another currently open issue (#647), and aside from one small fix to properly download dotnet6, Vortex installed without a hitch using GE-Proton7-38. The new issue opened yesterday may indicate that there are a couple of problems with detecting some game paths but I am not totally sure on that yet, it's still being investigated. There were no complaints about DotNet6.

I guess there are also some complaints about the mime-type handling mainly on Steam Deck and Flatpak, but that's a headache for me to look into another time 😓


I actually looked into creating a helper script to generate a list of supported games, but ran into a couple of concerns:

  1. Getting the AppID from the Steam API is gonna take a loooooooong time...
  2. Some games return multiple AppIDs and manually checking each one would take a loooooooong time...
  3. Game names might change overtime (e.g., the original Resident Evil 4 will probably be renamed to something like "Resident Evil 4 (2014)" when the RE4 Remake comes out in March) and dealing with that would be a pain...

Overall I just don't think it's worth it, and I will just manually add games/accept PRs that add games as and when that happens.


edit: just launched it and multiple/most of the 228 supported games are still listed as "beta".
to "manage" beta supported games, vortex needs to download its extension - therefore the data for that game is not available before and apparently can't be seen by steamtinkerlaunch.

This is interesting. Yakuza 0 needed me to download and run RyuModManager, but after doing that and after adding it to vortexgames.txt, STL was able to manage it properly.

I will be honest, I know very little about how Vortex works on Windows, how it works on Linux, and what potential problems there might currently be with it and STL. I am hoping this issue gives users that actually understand a bit more about how Vortex works a forum to discuss problems, hopefully also investigate problems and offer up potential fixes either for me to look into or in the form of PRs.

Support for a tool like Vortex is going to be really helped by contributors that have that understanding, so I am really hoping that someone can come along and help out if there are any major problems :-)

@sonic2kk
Copy link
Owner Author

I will probably close this issue closer to the next release. The initial issue was about DotNet6 breaking Vortex and that's now not an issue. And Vortex seems to work pretty well.

There's still the issue of the link handling and there's some Flatpak-specific tweaks needed, but we should probably get those moved to the Modding wiki.

There is some benefit in having an open ticket to track issues with Vortex (and potentially MO2 also) but I'm not sure anymore if it's better to have an open issue or just let people make bug reports ¯⁠\⁠_⁠(⁠ツ⁠)⁠_⁠/⁠¯

@sonic2kk
Copy link
Owner Author

Hey @Bananaman, I don't have much context on the problem (and thus the meaning behind the solution) in the thread but if you would like and when you have the time, could you compile the steps to fix the problem you were facing into one single post? Then I could add the solution to the Modding wiki page :-)

@sonic2kk
Copy link
Owner Author

Going to close this issue, as there has been no updates here for a while now. The initial issue was related to dotnet6, but that seems to be resolved now :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Features/Bug Fixes that welcome contributions Vortex Mod Manager Issues related to installing or using Vortex Mod Manager with SteamTinkerLaunch
Projects
None yet
Development

No branches or pull requests

9 participants