Lovrom8 / RSMods

398 stars 39 forks source link

Nothing Happening At All with Proton #179

Open erockce opened 11 months ago

erockce commented 11 months ago

Hello.

I installed latest RSMods into latest RS2014RM.

I took the default template and made a very minor edit (RSMods-ini.txt), just trying to prove getting it working.

Game doesn't crash and there are no UI elements modified.

Is there a option or something to enable debugging or to a log file, just so I can see what is happening?

Other than what is listed in the Requirements section, is there other specific prerequisites for RSMods needed when running in Windows?

I don't think I really need the RSMods GUI working if all it does is just modify the RSMods.ini file. I can follow the documentation and modify manually.

Full disclosure, I'm on Linux running through Proton, and using RS_ASIO, WineASIO, and Focusrite Scarlett audio interface. I know that Linux is not directly supported. But I've been using RS through Linux for several years now without many issues.

Thanks.

ffio1 commented 11 months ago

The mods do not work on Linux just due to how almost all of our hooks into direct x fail when using proton.

erockce commented 11 months ago

Thank you for responding and taking the time to view my issue.

I am using the modified D3DX9_42.dll that is out there and RS_ASIO, both of which are "mods".

When I ran the installer in the Wine prefix set up for Rocksmith, I was prompted to specify the game and profile directories. There were no errors otherwise. Perhaps there were some other files or configurations that should have been added that I was not aware?

Is xinput1_3.dll the only entry point for modifications with RSMods? I noticed the xinput1_3.dll file was added/overwrote because the date stamp changed. Then I manually added the Settings: section.

When browsing the source trying to determine what files are either added or replaced, I came across a ModsLog option to create a RSMods_debug.txt file. I set ModsLog = on in the RSMods.ini file. Unfortunately no debug file was created when running Rocksmith.

So I guess the mod is not even attempted to be loaded.

Proton/Wine has advanced drastically in the past couple of years. It provide the necessary emulation to essentially mimic Windows system calls and translate as necessary to the Linux kernel. Like running on Windows the same Microsoft Visual C and Direct X 9 runtimes are installed when the game first launches as required.

I have done Java development in the past and now mostly Python and shell scripting. As an IT professional, I'm very curious to the details of the problems you were describing. Can you point me to a citation that cooraborates the Direct X issues that you are talking about?

erockce commented 11 months ago

Slight progress troubleshooting.

In the Proton Wine prefix, I added a DLL override for xinput1_3.dll in which essentially can specify to use a native Windows DLL or one provided by Wine. Then I set WINEDEBUG=all and now there's a RSMods_debug.txt file.

Unfortunately not much content but the following:

RSMODS Version: 1.2.7.4 SRC. DEBUG: false. Wwise Logs: false.

How can I enable DEBUG and the Wwise Logs?

Lovrom8 commented 11 months ago

You'll need to add #define DEBUG somewhere (eg. in Main.hpp) to enable debugging: https://github.com/Lovrom8/RSMods/blob/develop/DLL/dllmain.cpp#L3

Though keep this in mind: https://github.com/Lovrom8/RSMods/blob/develop/DLL/dllmain.cpp#L1194 Proton's memory structure just wasn't compatible with Windows build, so it will likely be funky even if it doesn't crash in the first place.

erockce commented 11 months ago

Thank you @Lovrom8 pointing out your code references.

Unfortunately I do not have at my disposal a Windows environment to re-compile source.

Would you possibly be able to generate a debug version of the DLL to try out? I would be happy to perform tests and troubleshoot.

Lovrom8 commented 11 months ago

I wouldn't bet on the logs helping much, I'd say you'll need to manually compile, get rid of parts of the code to isolate problems and test to get anything useful out of this, but here you go: xinput1_3.zip

erockce commented 10 months ago

Thank you taking the time to create a debug build.

I attempted to use it a few times before the December holidays.

Unfortunately there was no output at all in the log file, which to me was surprising since the release verision had something printed.

There was however an error pop-up at a debug assertion screenshot-2023-12-19_18:48:58