-
Notifications
You must be signed in to change notification settings - Fork 74
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
Scripted FOMODs not working correctly #23
Comments
Everything is working fine on my end. Could you give me some information:
|
|
Unfortunately the bug still exists. |
Make sure it's using lutris-5.2-x86_64 by right clicking on it in Lutris > Configure > Runner Options. There are known problems with Wine versions above 5.2.
Might be specific to OMODs indeed, I've never used Vortex too heavily on anything other than Skyrim Special Edition. My focus is currently on Mod Organizer, for now. I will have a nearly flawless release of it today for Skyrim and adapting to other games would take no more than a few minutes (if nothing weird happens). Maybe you want to wait a little longer to see if the problem is resolved in this new release. |
I checked, that is indeed the version it is using. It's fine if you want to rather focus on MO2 - ultmately it's the nicer one to have, though I would be pleasantly surprised if you can solve the issue of using MO2 with Proton-games without having to install a crack. So if you are focussing on MO2, maybe make a point of testing some. I definitely had the issue with New Vegas mods on MO2. |
That is already solved, you can check #24 for more details.
I'm planning a new Skyrim playthrough so I'll definitely be testing a lot of FOMODs in the following days. I'll also see if I can get my hands on some problematic New Vegas OMODs, if you find any please do send them my way. |
I read through #24 - still not sure how you solved the DRM when launching proton outside steam but I'll take your word for it :) BTW: on the Nexus Links issue there are three possible ways you can approach it, I'll share what I know, see what fits your design best.
|
I am still using Steam, Proton itself calls Steam internally. All I did was provide Proton with a few environment variables which are normally only available when it is called by the Steam Client. The problem you're mentioning might have been caused by attempting to bypass the original entry point and using Proton's Wine implementation directly.
I appreciate the suggestion. I already had something similar in mind but with an automated redirection, just finished testing the implementation. If you have other suggestions feel free to leave o comment on #24. |
@ajventer I've made a pre-release with an MO2 installer for Fallout New Vegas. Could you check later if your issues are resolved with this new installer? I would like to solve your issue before moving on to the Oblivion and Fallout 3 installers. GitHub is going through some technical difficulties as of writing this so you may have to give it a little time before you can get things to download. |
Hi, :) |
Hi, I had a moment so I read your README for the FNV thing so long, I can't do this test for you I'm afraid - I don't own a STEAM version of F:NV - I got mine from GOG. It does change some big things - for one, I have no idea how to get it to run with PROTON (I know you CAN run third-party games with PROTON but I've never managed to get it to work), which is pretty key to how that setup is done. I do own OBLIVION on steam though - which is effectively the same engine/era so if you do an Oblivion version of the same I'd gladly test that for you. |
@ajventer Support for Oblivion was added in #28, with a release in 2.3.0. I've adjusted the installer to make it easier to add pure Wine support later. For now selecting the Wine option will just raise an error. My next objective is to get Wine working so you'll be able to use your GOG games. I'll make sure to update this issue when I get it done. |
Okay, so I installed it for Oblivion from 2.3.0.
Log errors: |
On the plus side: the built-in LOOT sorter works, that has NEVER worked for me before, I've had to use external loot installs up to now, it even shows the report so you can see any warnings from LOOT. I'll proceed to test some mod installers that were broken before. |
Okay - so first test failed. Can't install the DarnifiedUI plugin. So, on to test some others: But the game doesn't run. At least, not with teh script extended. Launching OblivionLauncher.exe from MO2 works. But trying to launch the OBSE_Loader fails with a complaint that you have to launch it from steam for a steam version of oblivion. |
Update: I found the binhack, it's in the third comment on this link: https://steamcommunity.com/app/22330/discussions/0/1734342161864893103/ And tested it - works perfectly with your MO2 setup and makes Obvlivion moddable and playable with MO2. You should consider adding the hack to your installer for oblivion though. |
I have already checked the possibility. Lutris has no option to do that in the installer.
I could do something very hacky and start a subprocess that waits a little and then edits the SQLite DB. I thought that was a little too intrusive and error prone and opted instead to simply instruct the user to change the name at the end of the installation.
It works with multiple games. Make sure you're reading the correct script located at
I am aware of those. The biggest offender,
Thanks a lot! That is extremely helpful. Would you be able to check something for me? See if just the first patch is enough to get things working: printf '\x90\x90\x90' | dd conv=notrunc of=obse_loader.exe bs=1 seek=$((0x14cb)) The problem with the second one is that Steam will revert the patch if it ever checks the integrity of the game files. |
Oh, that's a pity - I agree though that, this being the case, it's best to just show a message.
That makes sense now - cool :)
That's fine then. I hope I'm not coming across as ungrateful - I've actually been where you are, I'm the original creator of movfs4l.py - the way people used MO2 on Linux for a long time, and a much hackier option at that. I was really glad to see wine start supporting it, and hated how it was still well beyond most people's abilities to get going - and integrate well. Heck, I hadn't even managed it - and I certainly have the skills, I just haven't had the time to figure out a very complicated and mostly undocumented integration process.
True, though, to be fair -that affects almost all bethesda modding. For a start you almost always want to use xEdit to clean the official DLCs - and steam will revert those if you do an integrity check - and with Skyrim and Fallout4 you actually want to save copies of the main executables because Bethesda hasn't figured out how to update the creation club store without modifying the executable in ways that break the script extender and all plugins. But only patching the script extender is almost certainly beneficial when you AREN'T launching from steam and having to go via the launcher. |
Don't worry, you're not sounding ungrateful. You're being extremely helpful and I'm very grateful for what you're doing for me here. I just try to answer everything that comes up as it serves for present and future reference to what was checked, tried, works and doesn't. When I tell I won't be working on something I'm also hopeful someone might pick it up :) I'm making good progress with the Wine implementation. If you could help me with one more thing, I need the paths for all relevant GOG games you may have so I can get autodetection working without relying too much on people opening issues later on. Paths should be found in |
MMm, I've never actually used a path like that - but then I typically do custom path installs for everything anyway. So mine would typically be under prefix/drives/FNV or such. You could actually just check the registry to get the real install path - but I would suggest even going one step further. If the user chooses teh GOG version of the game - have them browse to the INSTALL file, and actually install the game as part of your installer, along with a pop up asking them to please use the default path in teh game installer. That said, I'ts almost 2am here, I need to go to bed - but I'll do a clean install tomorrow from FNV (I have the install files already downloaded and on my drive as I used them to do a TTW setup a few weeks ago) - and I'll send you the paths, for one where I didn't modify it. |
I've made a pre-release with Wine support. The problem is that I could not get Wine to run MO2 (more details in #30). Later I'll test if using the Wine version in Proton solves the issue. |
This could be down to a patch that Proton has and mainline wine hasn't. I'm assuming you have tested wine-staging already ? |
Aside: I notice your scripts all restart pulseaudio - this should not be needed, using system FAudio works much better. Xaudio hacks for wine simply can't match a solid local FAudio with with all codecs installed for stability. |
I've tested both Wine-staging and TKG's. I'll do some more tests today with Proton and GloriousEggroll's protonified. I include the Pulseaudio restart because I've had problems in Skyrim SE even with FAudio. That was back when Wine was still at 4.2, though. Your recommendation would be to simply remove the restart flag and keep everything else as is or are any more steps necessary? |
After testing some more I found the problem. Wine Staging 5.7 seems to not yet fully support Visual C++ 2019. Support for VC2019 is fairly new so these kinds of bugs should have been expected in the first place. The options are:
For now I'll go with option 2, since I don't want to maintain 2 installers and users can still use other versions of Wine by doing the following:
I also expect it won't take long for Wine to iron these bugs out. |
Version 2.6.0 was released. This should allow you to play New Vegas with MO2, try it out. If there are no problems and you don't care for using Vortex anymore feel free to close this issue. And if you have any more suggestions, please do open more issues. I cannot thank you enough for your help! |
I don't need the restart at all, as long as my FAudio is compiled with all codex it works. With Proton though, you want to go into the dist/lib64 directory and remove the libFAudio it ships as it doesn't have all codecs, and symlink the system libFAudio in instead. |
Unfortunately I am unable to get the install to work. I'm not sure if the pure wine version is meant to also run the game installer ? I could easily do it myself if not, but either way, it's breaking before that point - I think during the vcrun2019 phase, when selecting pure wine in order to do FNV. |
On another note: as just an idea - which may just make your life a bit easier over-all, and solve a bunch of annoying problems in one go. |
From the logs it looks like Lutris is using outdated cached dependencies. Just delete the cache and it should work. The template idea is actually pretty awesome. I'll open an issue for an enhancement. But now I think I should start updating the readme, it's so outdated I don't think it even fully applies to Vortex. |
I'm a devops developer in my dayjob - automating code and infrastructure creation stuff with templates is sort of my thing :) The outdated cache makes sense, odd it didn't affect the FO4 update - probably because that prefix already existed and contained vcrun2019. I'm trying with the cache wiped. |
Right, so you may want to add $WINEPREFIX/drive_c/Fallout New Vegas' to the default search path - since that's the path where the official Lutris install script for the GOG version installs to (and it can't be altered). After that the installer seems to work fine, but so far, I can't get MO2 to run - keep hitting this error: wineserver: using server-side synchronization. Usually that would just mean find and kill a stale wineserver from a different wine version - but I can't find one. |
Nevermind that error - it seems to have fixed itself once I completely restarted lutris, at least - if I call the run.sh script directly. |
Okay, I can now confirm that, at least some, FOMOD scripted mods for New Vegas definitely are not working. |
Interesting, I get the menu just fine for the mod you linked. However, looking at the menu interface and at the contents of the downloaded .zip it looks like a completely custom installer and not an actual FOMOD. MO2 says it's running a custom installer based on NMM instead of saying it's running a FOMOD like it does for other FOMODs. Set the log level to debug in MO2 > Preferences > Diagnostics and make sure to run Lutris on a terminal to also get the logs from Wine. Most probably there's a system library or some other resource missing and an error complaining about something like that should show up in one of these two logs. |
Wait, the menus work for you ? I'm guessing - the difference here is that my Fallout New Vegas is also a pure wine setup. Despite that using Proton to execute, the bottle setup isn't the same. I'm running the requested test setup now. Will post any logs I find. |
Here are the logs from installing Fallout Character Overhaul - and failing to get the menu. |
After a quick look at the logs I couldn't find anything obvious. This one may be a little trickier to track down. What distro are you using? Just a wild guess: can you see if installing corefonts on the wine prefix does anything? |
Interesting. I didn't worry too much about .NET because Steam already includes it in the prefixes it creates so I just added I'll see later if I can reproduce the issue using the Wine installer and if using a newer version of |
I manually did a winetricks dotnet46 into the bottle - it didn't fix the above but it brought us a bit closer, sufficiently to get a new error. That command should be runnable in wine within the prefix, add it's requirements, and we should be able to completely close this ticket finally :) |
Two additional things to try:
|
This problem is subtle and easy to miss- but FOMOD based mods with menus do not work with Vortex as set up by this script.
No menu shows up - and the mod ends up merely getting extracted instead of allowing the user to select components. The trouble is that this places the component directories into the game- which are not in a functional install and the mod simply will not work like this as the files are all in the wrong paths.
This type of mod is especially common with the previous generation Bethesda games (Oblivion, New Vegas, Fallout 3) - and those games are essentially unmoddable with vortex unless FOMODs and OMODS work correctly.
There are a number of additional requirements that the tool used for installing these mods needs - including winetricks windowscodecs, though I haven't been able to compile a full and accurate list.
The problem also affects MO2, which prints the command it's trying to run into the logs, by then tryning to run this manually and analysing the errors you should be able to get a complete list of dependencies.
Note: these work correctly under windows, the failure appears to be specific to wine and is resolvable with the correct set of dependencies identified and included.
The text was updated successfully, but these errors were encountered: