leycec / fsnrnue

Lutris-based Linux installer for Fate/stay night [Réalta Nua] Ultimate Edition
GNU General Public License v3.0
65 stars 15 forks source link

Get movies worky for the magnanimous glory of Rin #2

Open leycec opened 4 years ago

leycec commented 4 years ago

This open issue is intended to foster discussion around the currently broken state of both the original and Vita movies installed by this installer. Given that this has been an on-going issue for nearly a decade, I have no clear idea how we might resolve this – or whether this issue even is resolvable.

Nonetheless, there just might exist that perfect storm of Wine version, Windows version, LAVFilters version, winetricks "apps," and Lutris commands to enable this to happen. What say ye, fellow Linux beasts? Can we make this happen? Or would we rather admit sweet, shameful defeat and replay several hundred hours of movie-less Fate/stay night while silently hanging our heads in collective agony?

Our fate lies in your capable hands, Magus.

gourrykun commented 4 years ago

Hi,

Thanks for the installer.

I think that patches 1.0.0 (beta) fix most issues. I manage to play UBW intro between days 3 and 4 ingame with these.

Slight changes were made during installation:

  1. Set WINEDLLOVERRIDES=winemenubuilder.exe=d in my bashrc to prevent wine mess up with associations (should have no consequences but stating it for completeness)
  2. Kept all default options from the installation script but changed to portable installation at some point
  3. Dropped mpv.exe (latest build for win32 from sourceforge) in same folder
  4. Added a small script to create symlinks to patche files to switch from v0.9.0 and v1.0.0 beta easily
  5. In game, checked patches > movies > force movie playback using mpv

The end of the prologue is still fading to white and crash on my setup though.

leycec commented 4 years ago

Wowza! Thanks a metric ton for the detailed response. I'm currently at UBW Day 9 on my re-playthrough, but suspect I've got a save or two still pegged at UBW Day 3 to exhaustively test this with. These looks like the key takeaways:

  1. Dropped mpv.exe (latest build for win32 from sourceforge) in same folder
  2. In game, checked patches > movies > force movie playback using mpv

Given that, the following seems like our best route: ...get it, route? I'll show myself the door.

  1. Add a new automated install-time dependency on mpv.exe to our Lutris script.
  2. Advise users in our Linux instructions to manually enable the mpv patch after successfully completing the Prologue.

This is still a bit non-ideal, but leagues ahead of the current non-worky situation. Thanks again, @gourrykun! You deserve all of Ilya's terrifying love.

gourrykun commented 4 years ago

You are welcome.

If you are going to change the installer, I'd suggest you to enhance the patch download step. Currently this step often fails due to disk quota exceeded. Tomorrow it may fail due to the file being taken down in the meantime.

~~1. A sha1 checksum verification would be nice to warn end-users that something went wrong.

  1. An import patch files from disk option could be nice for people who can find their route (following you though that door) in the forum posts~~

Nevermind, after thinking twice, I think you do not have control over this part of the installation process.

Thanks for the hard work

leycec commented 4 years ago

Currently this step often fails due to disk quota exceeded.

Oh, boy. Welp, that's decidedly awful. As you suggest, this is sadly on the Beast's Lair. In other news, I'm terrifyingly busy at the moment but intend to fully refactor our Lutris script as above sometime... maybe next week. I have only one final question: "Do we still need LAVFilters?"

In theory, substituting mpv for LAVFilters should just work. It seems a bit senseless to fetch and install both if we only need mpv. If you have a spare moment, would you mind testing this sketchy hypothesis by uninstalling (or just rm -rf-ing) drive_c/Program Files/LAV Filters from your WINE Prefix and attempting to play movies in-game again?

If not, no worries. We're all here purely out of love for the medium! And the moe, of course. Let's never forget the moe.

gourrykun commented 4 years ago

Hi,

Renamed LAV Filters to something else and video (UBW end of Day 3) still plays. No issue with playing movies from extra menu also.

It seems it should be safe to remove these filters. Keep in mind that end users will have to either select skip movie playback or select force playback with mpv but default game options will not be linux friendly.

Few notes for end users below:

leycec commented 4 years ago

Brilliant. LAV Filters is right out, then. And no one shed a tear.

Your word is iron law, so I'll happily append your profuse notes to our FAQ as a new entry on movie playback. Default game options are already Linux-unfriendly, so I'm (mostly) fine with advising users to manually:

Graphical glitches after playback sadden us all, but such is life in the Linux trenches. Thanks again for your voluminous volunteerism! If I could repay you in Internet karma, I gladly would. :money_mouth_face:

leycec commented 4 years ago

Ilyasviel is most displeased – and we all have a good idea of what that entails, don't we? It means I got PTSD from those Bad Ends, bro. </collective_shudder>

This is an incremental status update, because it's been ageless aeons since we last did this. Sadly, little has changed. Development has been arduously slow both here and at The Beast's Lair. The core issue for us is that we're downstream of the Windows-specific Ultimate Edition installer. Until Quibi, uyjulian, and the other core developers stabilize the next official release, our hands are tied like a cuddly homunculus in the Einzbern Castle.

Now, I know what everyone's ruminating: "Can't we just support the unstable 1.0 beta on Linux already?" Nope, 'cause the beta's critically unstable. Like, not just a little unstable at the margins but dead broke to the core. Specifically, the unstable 1.0 beta broke critical functionality that works in the stable 0.9.1 release. As reported by NM64, the worst of the breakage appears to be:

The day 5 -> day 6 transition results in a crash (no known work-around currently other than downgrading to v0.9.1)

Hard crashes on day transitions are obviously unacceptable, so the beta is right out. That doesn't leave us with much, unfortunately. Feature creep, development overreach, and inadequate testing has thwarted the development team from publishing their next stable release. Meanwhile, all the beta really needed was a minor bugfix patch to resolve outstanding regressions – but core developers resisted doing that too. In short, I share NM64's seething discontent:

...what is preventing the development of what is nothing more than simply a bug-fix release of the existing 1.0 public beta without any new features or functionality and such in vein similar to LTS software releases commonly found in the Debian realm? And don't say "julian", because then I'd just ask what's stopping you from making such a bug-fix release on your own while julian continues on with his ever-lasting feature creep developments?

We'll continue to keep a rheumy eye on The Beast's Lair. If (...hopefully when) their next official stable release drops with no horrible breaking issues, we'll support that effort in an oh snap. Until then, we limp on with 0.9.1 and mostly broken videos.

kaasknak commented 2 years ago

Having read through an absolute pile of messages on the beast's lair I think it is safe to say we should still hold off on updating.

The good news is that these bugs are actually being fixed and I see a lot of progress happening but I think that updating now would move a lot of problems to this repo and these are problems we wouldn't be able to fix.

kaasknak commented 2 years ago

There is a new version and even a whole new thread.

https://forums.nrvnqsr.com/showthread.php/9101-Fate-Stay-Night-Realta-Nua-Ultimate-Edition-2022

It breaks the installer in every possible way. I am will see if something could be salvaged but if @leycec you are feeling adventurous don't fear going ahead without me.

RC-14 commented 10 months ago

I used the lutris install script and managed to get the Prologue Movie to play by using a different wine version in lutris (wine-ge-8-22-x86_64).

And since I'm already writing something here: Thanks for making the lutris script.

Complete list of things I've changed (except wine version), even though they probably don't matter:

Additional (also probably irrelevant) info:

leycec commented 10 months ago

Fascinating. Thanks so much for the detailed update, @RC-14. You're a boss champ.

It looks like we're probably good to go for an upgrade to our core Lutris script. Shifting to a 64-bit prefix as well as the newest Ultimate Edition installer would be wondrous, indeed. Praise Illya! That said, this concerns me:

I completed the prologue before I got this working

...yeah. Turns out that's probably not irrelevant. If I recall correctly, prior versions of the Ultimate Edition installer installed a broken prologue that could not be completed under Linux. You'd get to the very end of the prologue. Then, something would catastrophically fail. It's still unclear whether this newer version has fixed that. Maybe it has... but maybe it hasn't.

Oh, Gods. Nothing is certain. Everything is chaos. We're still on the worst timeline, everybody! :godmode: :goberserk: :japanese_goblin: :japanese_ogre:

RC-14 commented 10 months ago

@leycec Because I was quite certain that completing the prologue doesn't matter I checked by renaming my safe folder and setting the prologue on auto read and it seems like it works. (when I came back I was looking at the main menu and not a white screen)

To be clear: I did not use a newer installer than the one this script provides I just downloaded the UE 1.1.5 files from the official mega link and used them to update the installed version. I DID change the install script but the only thing I changed was removing all lines that forced a 32bit wine prefix everything else stayed the same. Making sure that everything goes into Program Files and not Program Files (x86) was done by simply changing the path in the installer.

If you'd like me to try something or provide any additional information (list of installed packages or smth.) feel free to ask.

TDCMC commented 8 months ago

I installed the game manually with the v1.1.4 ultimate edition patch and wine-ge-8-25-x86_64 and no winetricks libraries. It seems to be working flawlessly (including the movies and 16:9 widescreen option). I tested the game on a win64 prefix using both the Fate.exe and Fate64.exe executables.

kaasknak commented 8 months ago

These things all look awesome and promising. Thank you for putting in the time to test this and write it down!

@leycec do you happen to have time to test and push fixes? I won't be available until late January / early February unfortunately.

leycec commented 8 months ago

@leycec dolefully arises from his eldritch slumber deep within the vast and teeming wastes of Canada. In the awkward third person which no one should ever speak in, @leycec gotta admit that:

Relatedly, @kaasknak: how would you feel about levelling up to administrator privileges over this repository? You don't have to do anything, of course. But I'm increasingly unable. I don't intend to step down, per say – but I'd love it if you wouldn't occasionally mind "stepping up" in my shameful absence. You do the good work, because I can't. Your time is extremely valuable as well, yet I beg this of you. More crying from me.

sadness is a place on github

kaasknak commented 8 months ago

I don't mind stepping up. Keep in mins that I am far from a github guru and lacking when it comes to lutris as well but I will do my best with the time I will have available (which is increasingly limited (got engaged and all that good stuff)). As soon as things calm down I will try to spin up some new Fate instance and see if everything works out of the box.

leycec commented 8 months ago

got engaged and all that good stuff

I am far from a github guru

You and me both, bro. You and me both. Welcome to GitHub guruhood – where we're all just faking it until we make it.

Sadly, it looks like GitHub has since removed privilege management from user repositories like this. All GitHub allows me to do now is invite users as collaborators. B-b-but... you're already a collaborator! In short, I can't promote you to be a co-Owner. GitHub, what has become of you!?!? Therefore:

As soon as things calm down I will try to spin up some new Fate instance and see if everything works out of the box.

Wonderfulness. I now have good news and bad news. Actually, I only have bad news. Lutris fails to ship out-of-the-box support for either Wine-GE (GloriousEggroll) or Steam's Proton. I have no idea why. Wine-GE and/or Steam's Proton are the only WINE versions anyone needs in 2023 2024. Nobody wants vanilla WINE, Wine Staging, or anything less than the best. But @RC-14 and @ArashkOnGithub both leveraged 64-bit Wine-GE ≥ 8.22 to get newer versions of the Ultimate Installer to work! We can thus conclude that 64-bit Wine-GE ≥ 8.22 is almost certainly required.

Thankfully, the infamous @GloriousEggroll provides a custom Lutris-specific Wine-GE build. Installation is trivial, but requires manual steps at the command line. Notably:

  1. Manually fetch wine-{whatevah}-x86_64.tar.gz from the https://github.com/GloriousEggroll/wine-ge-custom repo.
  2. Manually extract wine-{whatevah}-x86_64.tar.gz to the ~/.local/share/lutris/runners/wine/ subdirectory.
  3. Modify our Lutris script to install F/SN using that WINE version.

Frankly... that sucks. Like, seriously. That's no longer automation. That's fragile boilerplate. Expecting users to manually follow through with those steps is like expecting Shiro to survive with his body, soul, and virginity intact. It's... not gonna happen.

So. What now? Dunno. Wait a few more years for Lutris to properly support either Wine-GE or Steam's Proton, I guess. There are no good options here. I feel tired and must now lie down. :face_exhaling:

TDCMC commented 8 months ago

So. What now? Dunno. Wait a few more years for Lutris to properly support either Wine-GE or Steam's Proton, I guess. There are no good options here. I feel tired and must now lie down. 😮‍💨

That is curious. At least when running lutris under arch, the default wine package that the wine runner installs is wine-ge. A lot of the previous versions of wine also seem to be wine-ge. May I ask what distro and version of lutris you are using?

leycec commented 8 months ago

Gah! You're totally right and I breathe a relieving sigh. Indeed, wine-ge-* was at the very bottom of the dropdown all along. And... it kinda has to be, right? Imagine getting anything to work without either Wine-GE or Proton these days. I am dumb. False alarm. We now return to everyone's regularly scheduled New Years binge vaping.

Oh, and congratulations again on your awesome engagement. Excitement intensifies on GitHub. :partying_face:

TDCMC commented 8 months ago

That's relieving, I could create a pull request with the changes along with an edit request for the script on lutris itself if you want. But you would have to tell me if the ultimate edition installer is going to be uploaded to this github repo or if it's going to be a manual download for the user. I would also need to know if you want the wineprefix to be 64-bit (along with using Fate64.exe as the executable) or remain as 32-bit.

leycec commented 8 months ago

...I could create a pull request with the changes along with an edit request for the script on lutris itself if you want.

Superbness! Yes, please. But please have fun first. This is not fun. You know what to do.

Oh – and when you do eventually get around to this, we can probably also drop lav_filters from our Lutris script. In theory, LAVFilters should no longer be needed. Indeed, I'm unconvinced LAVFilters was ever doing anything. Sadness. :crying_cat_face:

But you would have to tell me if the ultimate edition installer is going to be uploaded to this github repo or

Please Gods this one. Totally forgot we had to manually host the installer here. Does Beast's Lair really not have a reliable public URI for downloading that? Yikes.

Anyways, no worries whatsoever. Just point me towards the installer download (...wherever it may roam) and I'll promptly upload that as an official repository release here. Thanks so much for pointing that out. I'd forgotten all about that "special" insanity.

Edit: Actually, I now beg a minute favour. Okay. It's a big favour. If you choose to accept the collaborator invitation (...see below), would you mind briefly going ahead and uploading the Ultimate Edition Installer as an official repository release here? That would be truly awesome. If you did that, I would probably squeal. Probably.

if you want the wineprefix to be 64-bit

Please Gods this one. I trust random Internet strangers above who claim 64-bit is the way of the future.

Addendum: since you've been so miraculously wonderful, @ArashkOnGithub, I'd like to invite you onboard as an additional GitHub collaborator. Please refuse if you hate me. Otherwise, please accept. Your valiant efforts are literally saving the entire F/SN TypeMoon universe here. This exploding New Year's champagne bottle is for you. :champagne:

TDCMC commented 8 months ago

It is my absolute pleasure to be able to contribute. When I'm done with my daily school work, tinkering is one of my hobbies. I've also created the Fate/Hollow Ataraxia installed on lutris since for some reason no one had done that.

TDCMC commented 8 months ago

Done! All that's left is to change the comments in the script along with the readme file. I also seem to have screwed up one of the commit messages... Damn it.

Apart from that, the movies seem to be a bit choppy/screen tear-y. I'm not sure if it's just a result of a performance penalty from running it under wine and my system not being up to the par or if it's a software decoding without hardware acceleration type of problem. I'll look into it later once the remaining changes are made to the installer and uploaded to lutris.

leycec commented 8 months ago

It is my absolute pleasure to be able to contribute.

When I'm done with my daily school work, tinkering is one of my hobbies.

We are weeb. Thus, we tinker. :laughing:

I've also created the Fate/Hollow Ataraxia installed on lutris since for some reason no one had done that.

That's... super-hyper-awesome, actually. Thanks so much for your service to humanity. If you're amenable, we'd love to host that here as well. In fact, let's eventually do the whole Nasuverse while we're at it. This hype train stops for no Servant. I am now thinking of a F/HA Lutris installer hosted here with a local filename like:

Please do feel free to commit something like that. Of course, studies are the ultimate priority. Please ace everything. Show those normies your true power.

Done!

Apart from that, the movies seem to be a bit choppy/screen tear-y.

No worries at all. This is still a dramatic improvement over where we were before, which was nowhere. Even Angra Mainyu approves.

Choppiness and screen tearing is more than likely to be a Wine-GE issue rather than a "your system is a literal potato" issue. Even in 2024, Wine still commonly hiccups on DSP tasks like video decoding. Prolly just Wine being wine. Sakura shrugs.

...and uploaded to lutris.

Oh, right! I almost forgot to mention: please do attempt to revise the Lutris-hosted F/SN Ultimate Edition installer script yourself, but... please don't be surprised if Lutris moderators reject your efforts. They can kinda be jerkish about that sort of thing, sometimes. It's all the luck of the draw on which admin you pull, really. I recall @kaasknak attempting to do this and failing hard a year or two ago.

If that happens to you, fear not! I'll happily upload the script myself when you've finalized everything. Just let me know if this needs to happen and this will happen.

Thanks again for the tremendous tinkering, volunteerism, and enthusiasm! Love to see some much-needed Linux love for the Nasuverse. This GitHub issue be like:

TDCMC commented 1 month ago

Finally updated the README and the installer's comments. Also requested to update it on lutris.

As for hosting the Fate/Hollow Ataraxia installer here, I would be very happy to do so. But I think the repository name, description, and the overall structure of the README file needs to be changed first to allow that. The all need to be changed to reflect the entire fate/nasu/type moon games and the README need to have sections for each game. (Or the instructions and the FAQ for each game could be put into seperate files and then referred to, in the README file.)

kaasknak commented 1 month ago

Hopefully Lutris will accept the new installer. They indeed didn't do so last time I tried to update it.

Thanks for your time. We all know it is valuable!

TDCMC commented 1 month ago

Hopefully Lutris will accept the new installer. They indeed didn't do so last time I tried to update it.

Thanks for your time. We all know it is valuable!

It's my pleasure to work on this. I also worded the "reason" in a way which I don't even know how they wouldn't accept.

leycec commented 1 month ago

@TDCMC: If Lutris rejects, just ping me repeatedly until I submit this BadBoi™ myself on everyone's behalf. Lutris may be blindly rejecting submissions that originate from users other than me, probably because that simplifies their busy lives. Let's see what happens here. Do the right thing for once, Lutris!