geefr / beatsaber-linux-goodies

Mod installation scripts and other goodies to support Beat Saber on Linux
BSD 2-Clause "Simplified" License
132 stars 5 forks source link

Wine: dotnet461 installation #5

Closed geefr closed 5 years ago

geefr commented 5 years ago

Seems like this will be the sticking point for several things

For now will try scripting the installation of .net into the script (unless there's some override argument to say use the system wine?)

Should check whether Microsoft's redist can be used inside wine - winetricks seems to spend a long time installing other things before the final .net runtime

Ideal solution would be to port ipa over to mono/.net core..

geefr commented 5 years ago

@Zamundaaa https://github.com/geefr/beatsaber-linux-goodies/blob/script-install-dotnet461/scripts/bs-linux-modfix.sh

This is a tweaked version of the script that:

Fairly sure I don't want this all in one script going forward, as not everyone will want to wait for .net to install (It takes a while, hit enter in the terminal once all the windows have stopped as the script might keep spamming afterwards for some reason)

Likely it'd be a check in beatdrop/similar to ensure the system has what's needed, and if not calls out to something like this to setup just enough to run ipa.

Did give porting ipa to .net core a quick try and it might be possible, just very difficult.

Zamundaaa commented 5 years ago

It installs dotnet461 just fine. It creates the custom wine prefix and the extra proton version but then fails. Here's the relevant part of the log: https://gist.github.com/Zamundaaa/484fc36e3a5ce6186e60ae58397f4822

geefr commented 5 years ago

Huh..

The error from mv isn't an issue, just means you've run the script before and I haven't redirected the output to null

To me that just looks like ipa has failed for some reason. One thing to try is just to run the script again, I found sometimes ipa can be a bit unreliable (could have just been me)

Otherwise looks like I've got to test on more systems (so far just Mint 19), let me know the details and I'll see if I can reproduce here:

The good news is you should have a functional copy of wine, so you might be able to debug further with this: WINEPREFIX=/home/.wine/wineprefix/beatsaber-linux-goodies-ipa wine IPA.exe

Zamundaaa commented 5 years ago

It looks like it worked nontheless. I started Beat Saber and the UI mod was there, along with song loader. Then the UI broke and I restarted the game. Boom, all mods I installed there and working perfectly. I'm on Manjaro KDE (testing). Wine is on 4.15. I don't think there's anything changed from default Wine but the install I have is pretty old, might be something I did once and forgot about.

geefr commented 5 years ago

Awesome, sounds like all the basic building blocks are there and it's mainly usability issues to deal with for a functional release.

I think ipa has some fairly sensible return values for success/failure. I'll see about hiding the wine debug output and making a clear message at the end. Think we can just check if winhttp.dll is in the right place and the return code to check it worked correctly.

geefr commented 5 years ago

Closing this one - 0.3 has scripts for setting up wine and checking if the right stuff is present