Closed gleipy closed 1 year ago
Currently having this same issue.
This is what I have tried so far:
This has happened a few times:
Leads to this completing? The screen goes away then I can click on Vortex on the desktop to launch it. However Vortex doesn't function properly. It doesn't launch. I did manage to get it to launch once. A window that says SteamTinkerLaunch-PrepareVortexGameStatus appears. It then searches through my installed games to add them to Vortex I assume. Once this finishes (Takes a long time. Only games it searches and finds are Xcom2, Skyrim Special Edition, and Fallout New Vegas) Vortex opens. However Vortex told me that it required donet in order to run and prompted me to download. I did this and was met with the same prompt to download dotnet again.
Most Common Outcome
When I wait long enough and wait for the dotnet screen to go away, it seems like everything worked. Vortex appears on the desktop. Sometimes when attempting to launch, SteamTinkerLaunch prompts appear in the notification bar like normal. If I check my system monitor Vortex will sometimes appear using around 1.3 GiB of memory. No matter how long I wait nothing changes though. The application doesn't seem to launch. Most of the time however, Vortex appears in my System monitor for around 5 second and disappears. Obviously meaning that it is no longer running.
https://github.com/pikdum/steam-deck/issues/2#issuecomment-1513931052
Used this guide and ran these in the Konsole.
The commands worked when deleting the files. Tried to reinstall and was met with the same issue. Stuck on dotnet.
Tried to manually uninstall and then tried to reinstall. Still stuck on dotnet.
Currently still unable to launch Vortex.
I hope that this can help you look into this issue.
Yeah, bit tricky for me to fix.
My plan right now is to:
You're free to contribute to upstream STL if you'd like as well 😄 Usually these breakages come from Vortex breaking under Wine and resolve themselves with Vortex updates.
I don't use Vortex and it might be better to remove STL as a dependency but an improvement to Vortex in STL from someone who uses Vortex would be welcome.
I think the main things would be:
Doing the first in STL might be a bit tricky, though.
It would also be possible to manually add a Proton version for STL to see with steamtinkerlaunch addcustomproton <path>
, and then overwrite the variable that tells Vortex which version of Proton to use by overriding the variable in the global.conf
(a way to do this with an STL command might be useful since we already have set
but I don't think it applies to global vars, not 100% sure on that though).
Users can update the Wine version that Vortex uses in the Global Menu, so that's not really an issue.
Feels like an issue when things are broken with the default version. I can't really expect users of this tool to understand how to tinker with STL either, since this should 'just work'.
Vortex relies on .NET 4.8 to install from what I recall
From playing around a bit, seems like Vortex doesn't require anything just to install anymore.
Feels like an issue when things are broken with the default version. I can't really expect users of this tool to understand how to tinker with STL either, since this should 'just work'.
That's fair enough, and as described there may be a way to bump the used Proton version on your end. But at the end of the day upstream STL is a tinker tool for experienced users. Breakages and some understanding of Wine is expected, though I also understand that isn't what this project is going for. When things break because of Wine issues, it isn't a SteamTinkerLaunch issue, so I would say for STL it isn't particularly an issue. And either way, for fresh installs, STL does use the latest available GE-Proton to try and give users the most up-to-date and stable Wine, but if this doesn't work it isn't up to upstream STL to delve into further. Tinkering with fixing Wine breakages is up to the user upstream, they're not STL bugs. And again, I understand that this is not what this project is going for, I am justifying why this isn't an issue for upstream though downstream projects if they wish are free to try and resolve it however they want, STL gives the tools needed to try and fix the problems that occur as it is nigh impossible to proactively prevent breakages with the goals that STL has.
If a fixed Vortex version and/or code to manually overwrite the used Proton version on your end isn't feasible or desirable, then STL may just not be a good fit for this project, which is totally fine as well.
From playing around a bit, seems like Vortex doesn't require anything just to install anymore.
This is interesting! If I have some motivation I could look into that to see if it will just install with regular GE-Proton. I don't use Vortex, so I haven't spent that much time in and around the code since taking over.
I don't have much time for STL atm but I'll definitely investigate to see if this is the case. Back when an issue very similar to this one was reported to STL I tested if .NET was required and it was, but that was 5-6 months ago or so. It would be a relief if it could be removed!
Back when an issue very similar to this one was reported to STL I tested if .NET was required and it was, but that was 5-6 months ago or so. It would be a relief if it could be removed!
Seems to be not required with version 1.8, and after install Vortex can set up .NET 6 itself. Still required for version 1.7, otherwise Vortex shows a warning at startup.
I'm pretty lost at this point, but here's some observations:
Pushed a fix here that:
@gleipy @Afrodinho If you guys want to try the fix and let me know if it works, there are some manual steps required:
rm -rf ~/stl ~/.config/steamtinkerlaunch/ ~/.local/share/applications/pikdum-vortex.desktop
Let me know if it works.
I have no idea why GE-Proton8-x isn't working on Steam Deck, but that's probably what we need for Vortex v1.8.x to run.
I can confirm this works. Did everything you said and Vortex was installed in less than 5 minutes. It installed .net just fine. Nexus links are being handled and downloading like normal as well! Thank You!
I also confirm this works, thank you so much
Great investigation, thanks! It seems Steam Deck is the problem here, if I'm understanding correctly GE-Proton works to run Vortex on Linux Desktop but not on Steam Deck.
Seems to be not required with version 1.8, and after install Vortex can set up .NET 6 itself.
So the logic around installing dotnet48 and .NET 6 is no longer required? That would be great honestly, and I can look into removing it. I don't know if that'll necessarily help anything already but it would be nice to remove, it should even speed up start time.
If you have code handy that does this already or if you would like you're free to open a PR (you might be more familiar with the requirements for Vortex than me) but there's no worries if you can't or simply don't want to, I can do it when I have some time hopefully over the weekend!
I have no idea why GE-Proton8-x isn't working on Steam Deck, but that's probably what we need for Vortex v1.8.x to run.
This is just a shot-in-the-dark, but talking from experience, .NET stuff tends to not work very well on Steam Deck (people who use "trainer" tools which require DotNet report various issues, HMM does not reliably install on Steam Deck, etc). I'm not sure why this is, so apologies that I can't help further, just wanted to mention that I've seen people complain about .NET under Wine on SteamOS specifically a lot more than other distros (but SteamOS is also more prominent, so that may be why 🤓)
As a somewhat note-to-self, this recent breakage with Vortex has put two things in my mind:
if I'm understanding correctly GE-Proton works to run Vortex on Linux Desktop but not on Steam Deck
I was using Wine-GE-Proton instead of GE-Proton, so I'm not 100% sure if GE-Proton works on either.
Add an option to disable Vortex auto updates
This would be neat, I was thinking of trying the same.
This would be neat, I was thinking of trying the same.
Just found a way to do it, turns out STL already does this for quite a few things with Vortex using the executable's --set
option to set config options. So we can manually set the release channel like this:
# When testing, I put this inside of `startVortex` before the `runVortex` calls
# Can be 'stable', 'beta', or 'none'
NEXUPDATECHANNEL="none"
setVortSet "settings.update.channel=\"\\\"$NEXUPDATECHANNEL\\\"\""
I think the next steps for STL are:
The tricky parts will be implementing the first two as I am not sure how to filter the releases at time of writing. However, the rest should be fairly straightforward.
Closing since the original issue was resolved.
Sorry to bump a closed issue but all of the improvements outlined from my previous comment are now part of STL, as well as an option to specify a Vortex version to use from the UI and command-line. Thought it might be useful to give an update :-)
I'm also trying to investigate why Vortex is broken with STL on Steam Deck. I have a suspicion running with the Steam Linux Runtime might fix it but I haven't been able to confirm it yet, there is an experimental branch for it though. Using the SLR has fixed other programs on SteamOS though, a couple of users had issues with custom commands fixed by allowing the SLR for it.
Awesome, thanks! I'll look into getting those integrated here.
I'm in stable channel, I had it installed and uninstalled, now when I install it again, it stuck at installing dotnet and once it's completed and there's message saying vortex cant run without .net