-
Notifications
You must be signed in to change notification settings - Fork 73
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
SteamOS 3.6 Requires innoextract
1.9-9
#1135
Comments
Let's pretend I posted that from my non-work account lol |
Thanks for bringing this up, this seems different from before and ultimately a SteamOS issue. Since this I assume works outside of the SteamOS Beta Channel I would say this is a SteamOS problem. For what it's worth, modding games on SteamOS is a bad idea in my opinion and also I am planning to end official support for SteamOS around v14.0's release.
If this only affects installing ModOrganizer 2, this should be done from Desktop Mode anyway. Ideally all tinkering should be done from Desktop Mode and Game Mode should only be used to launch games, but if games can't launch, even those not using MO2, then that's pretty serious. Any more clarification you can give on the process would be appreciated! |
Totally understand you’re reasoning for ending steam OS support. For me STL has been a crucial step that made modding on my steam deck much easier. I’ve honestly had no problems with modding or modded games. Just this abnormal steam OS behavior. I still might do a fork of STL specific to steam deck but we’ll see. It does happen both in desktop mode and game mode when launching a game from steam that has compatibility set to STL. From desktop mode if I launch mo 2 via terminal I can launch my game no issue. It seems when launching from steam it can’t find innoextraxt but when launching via terminal it can find it. Should be able to debug it when I have some time. Making the innoextract file immutable prevents it from being moved or deleted which completely resolves the issue for me. Might be a bandaid but like you said it shouldn’t even try to install it if it’s already installed. Just wanted to document it , if I happen to not be the only person using STL on their deck 😂 thanks again for your work on this awesome utility ! |
My guess is that it's trying to install it because it isn't able to add Since this happens only when launching from the Steam Client, I wonder if something is going wrong with the PATH variable from Steam... There were some changes around environment variables I heard in the latest Beta. We don't manage dependencies on Desktop Mode in quite the same way so I'm not sure if there's a direct way to reproduce this behaviour on PC, but inspecting PATH across both Linux Desktop and PC from SteamTinkerLaunch itself would be interesting.(To see what STL sees, we log this I think but not sure if only on SteamOS). So perhaps something is going wrong with PATH when launched from Steam. Does this also happen with native titles out of interest, which don't have SteamTinkerLaunch set as a compatibility tool? (This does not work from Game Mode last I tried a long time ago, #630, so we can only test in Desktop mode) - I ask because I am interested if on SteamOS Valve are now enforcing the Compatibility Tool Manifest v2 which would kill this project because it would try to run SteamTinkerLaunch in a container (and that could play havoc with setting the PATH variable). Running it as a launch option for native games could run the script directly and not as a compatibility tool and so could skip the Steam Linux Runtime, unless native games on SteamOS are always wrapped in it (unsure how the native start command looks on SteamOS).
I am glad it has helped! But please do keep in mind, SteamTinkerLaunch is a tinkering tool, not a tool for modding games, and the modding tools are probably just barely more supported than SteamOS heh.
You are of course welcome to, but I'd appreciate contributions here. Advertised support is ending but no code is going to be stripped out. The reason advertised support is ending is because, after over a year of asking outright for contributions (#859), and for over 2 years since Steam Deck support was first introduced, there have been very few contributions and only two people have made any significant contributions (excluding myself before I took over as maintainer). By all means you can create a fork, there will be zero bad blood here, but just letting you know I am receptive to contributions if you are open to merging back upstream here!
You are the only person so far to report such an issue, and given that most Deck users using SteamTinkerLaunch are likely running Beta or Preview, I am interested to see how widespread this is. A very mind contributor was working on Steam Deck dependency enhancement. I have flagged this issue to them in that PR, because this could get in the way of automatic dependency updates when running from Steam. |
The log before making innoextract immutable is very strange indeed, and very short. There is no issue in the second log with setting PATH luckily. The log lines of interest are:
It would only do this if it cannot find the binary in the first place. I'll try explain the steps so me, you, and aliens millennia in the future reading this are on the same page:
So for some reason, SteamTinkerLaunch when launched from Steam on SteamOS cannot see this file. The reason it doesn't complain about There are two things I suggest trying:
Below are some steps to try if you get a
Personally, I don't think this is a Something else of note from your "before" log is that it's failing to download |
Nope I believe you were right. It is a libboost issue. You mentioned 'installDependencyVersionFromURL' will try to run innoextract to see if it works and if not , it determines it is not installed. The binary was in the location already. If I try to execute it manually like If I run
Yeah totally makes sense. I know there are other ways to install Mod Organizer 2 on steam deck. A while back when I was setting up Fallout TTW, I was struggling hard to get MO2 setup until I found STL and it just worked. So it has been my sole way to setup and launch MO2. So you are correct I am mainly using STL as a tool to make it easier to install & access MO2. From there it's just modding and thankfully Steam OS has not caused me any issues with modding. I later used it to play Viva new Vegas and now the midnight ride (fallout 4).
Awesome! I did jump to conclusions and think you meant dropping support, you were yanking it out lol so I would do a fork to at least keep it going for me. Totally makes sense you are going to keep it in there just not advertise it as supported. Meaning when issues arise, I can try to resolve it for myself via a PR so others can also take advantage.
The issue did start immediately after I updated Steam OS which seems to go with the other details you shared regarding innoextract.
I did notice that and while I did not look into exactly what changes were made in his version, using it did not resolve my issue. |
Thanks for checking that! That is rather surprising. I don't know why this only happens from Steam. You can try manually updating innoextract for now. If you manually place the 1.9.9 binary in the I'm not sure why this only affects things when running from the Steam Client, I guess the dependency check triggers differently if we aren't launching a game. This presents an interesting problem. The dependency validation is relatively new, but if the dependency doesn't work on the current system, it'll fail to install SteamTinkerLaunch. I think after #1111 we should add better logging for why the dependency failed. For example here we should check for and log if we get a libboost error. Thanks for the testing. I think we've gotten to the bottom of this then:
I'll update the issue name if you don't mind. I'll push the updated dependency version tomorrow to a new branch and open a draft PR in preparation for SteamOS 3.6. This was a great help in troubleshooting I am just again quite surprised it didn't come up before now 😄 |
I guess this issue can also be closed since this is a known and common thing we have to do, but we didn't know until now that it was the same issue that innoextract just needed bumped to accommodate SteamOS 3.6. |
innoextract
1.9-9
Confirmed that replacing the innoextract in
Yeah I was thinking about that too. The dependency check does seem to be handled different when launched via a game in steam compat mode. Vs just running
Thanks for helping me clear all of this up and I am always glad to do my best to help. |
Oops I didn't see your other responses, my bad.
I'm glad it works for you, the reason I am cautious of modding or really any tinkering on SteamOS is because I know how brittle it is if you do anything beyond installing games and Flatpaks. I'm not here to tell people how to use their devices I guess the thing I prefer to convey is "you can do this but be aware it's fragile." You seem to know your way around, there have been a few people coming to me for modding support with the Steam Deck as their first PC. So I tend to give a blanket disclaimer 😅 It keeps the insults I get to a minimum and helps me sleep at night.
Any fork-specific / local-specific changes are totally fine! This project is open source so anything you want to do on a fork you're welcome to. Applying quick-fixes for your own use is no problem and/or if you feel like discussing or opening a PR for longer term fixes upstream here that's fine too! Basically, if you want to do your own thing with a fork I fully encourage it! I write this project to have fun so others that fork it or contribute back should too :-) If there ever is anything you feel like upstreaming I'll gladly review any PR.
Awesome! I'll get the branch up tomorrow. I'll try rebase it regularly against master so anyone relying on it won't be too far behind.
Ah good point, plus we don't need innoextract at this point so it makes sense. It's only needed to install MO2 initially. Innoextract is optional so we should probably treat it that way by removing the fail part for that dependency installation. Apologies that the fix for this can't go into master just yet. It's purely in the interest of compatibility with SteamOS versions that aren't 3.6. I double-checked and I don't think 3.6 is in Stable yet. Once it is though I'll bump the innoextract version on master. I hope the reasoning makes sense. |
System Information
Issue Description
Today I updated my steam deck and innoextract issues have started up again. I have read through all the other posts regarding innoextract and I understand what it is used for and that the dependencies change as the OS/STL Update. Last time this happened, simply removing /home/deck/stl/deps/usr/bin/innoextract and running STL again resolved. This time that doesn't seem to work. If I run STL mo2 start from desktop mode , it opens and I can launch my game no problem. But running from steam/game mode causes it to try and reinstall innoextract and it fails due to missing file.
What does seam to work for running from steam, is making sure that /home/deck/stl/deps/innoextract-1.9-8-x86_64.pkg.tar.zs doesn't get removed when running STL. I made the file immutable and it resolved my issue.
Logs
before setting +i innoextract.txt
after setting +i innoextract.txt
The text was updated successfully, but these errors were encountered: