leycec / fsnrnue

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

Using menu bar freezes the game #17

Closed sccabe closed 3 years ago

sccabe commented 3 years ago

If I alt-tab out in time right after pressing an option then it behaves normally afterwards but if I don't the game freezes and I can't press anything. The main menu music still plays though. This is the log I was able to pull from Lutris.

leycec commented 3 years ago

ohnoes

This is horrible! There's nothing worse than hard locks on entering critical menus that you can only circumvent by treating <Alt-TAB> like a Bayonetta quick time event (QTE).

It doesn't help that this is the first menu-related issue we've had. It also doesn't help that the detailed logfile you kindly attached doesn't really convey any meaningful metadata. I mean, this is it:

...
01:52:53 on button down: extra / focusable = 1
01:52:53 bartype: 2
01:52:53 bartype: 2
01:52:53 bartype: 2
01:52:53 bartype: 2
01:52:53 bartype: 2
01:52:53 bartype: 2
01:52:53 bartype: 2
01:52:53 bartype: 3
01:52:54 bartype: 2
01:52:54 BGM: bgm01.ogg -> bgm28
01:52:54 stop MOVECURSOR: finish
01:52:55 on button down: back / focusable = 1
01:52:55 BGM: bgm28 -> bgm01.ogg
01:52:56 stop MOVECURSOR: move by user
01:53:02 (info) CPU clock : 2400.0MHz
Caught signal 15
passing along signal to PID 3120
passing along signal to PID 3179
passing along signal to PID 3188
--terminated processes--
Monitored process exited.
Initial process has exited (return code: 15)
All monitored processes have exited.
Exit with returncode 15

signal 15 is an obvious reference to SIGTERM, the POSIX-compliant signal sent to gracefully terminate a process. Beyond that, there's just a whole lotta nuthin' in that logfile.

That said... I can still help. That's good! But you'll need to do most of the heavy lifting yourself. That's bad.

The basic idea here is that WINE is almost certainly your problem. This means that the only reasonable solution is for you to run F/SN under a different version of WINE that actually works. Specifically:

  1. Run Lutris.
  2. Right-click Fate/stay night in Lutris.
  3. Left-click Configure.
  4. Left-click the Runner options tab.
  5. Left-click the Wine version list box.
  6. Select a different Wine version here. If you've already installed WINE Staging (i.e., a bleeding-edge version of WINE usually available through your system package manager), I recommend starting with WINE Staging. If that also fails, slowly work your way down the list from newest to oldest WINE version.
  7. Grit your teeth and try running F/SN again. Since this issue presents itself almost immediately, this shouldn't be too painful even with painstaking trial-and-error.

Let me know if you receive any joy! If you do, I'll at least add a new FAQ entry documenting your trial by fire; I might even edit our installer script to globally force everyone to use that WINE version. Let's pray to the Holy Grail for a bright new future in which F/SN actually works for once.

sccabe commented 3 years ago

"I have tried over 20 Wine variations Have withstood pain of force-rebooting my laptop many times Yet, the game wouldn't response So as I pray, Unlimited Freeze Works."

I have finished testing all the releases in the 6.x and 6.0 folders, to no avail. I don't have the energy and most definitely don't have the time to test all the other ones so I'll just dual-boot with proprietary shit to be able to play the game properly and call it a day. I had my theory that it was a performance problem but running it on my PC had the same problem so it's probably wine-related, like you said.

leycec commented 3 years ago

Urgh! Thanks so much for investing so much time and energy on this, @sscabe. I feel just awful that the final solution is:

"Just use Windows, bro."

I'd do the same, of course. What else you gonna do? A Nasuverse fan gotta play F/SN, so... We hope you really enjoy the three routes despite the pain of proprietary software.

Horrible WINE issues like this make we want to poke out my own soul with dark energy. The WINE 6.x series has been particularly bad – often flat-out refusing to run older visual novels like F/SN. We'll keep this open in the dim hope that an MC with a higher INT stat than me comes up with a clever workaround.

kaasknak commented 3 years ago

I have finished testing all the releases in the 6.x and 6.0 folders, to no avail.

Since it is a wine issue have you considered making a bug report upstream? Maybe the folks at wine could help you or patch it in the next version.

leycec commented 3 years ago

Ordinarily, that would be a great idea. Unfortunately, F/SN is fundamentally incompatible with all recent WINE > 6.5.2 releases – which is why we now force WINE 6.1.3.

Maybe recent WINE versions have resolved that breakage? I'm kinda pressed for time, but it would be nice if someone who is not me could find a more recent version of WINE that actually behaves as expected. Of course, we should also report that issue. See also: "I'm kinda pressed for time."

WINE is basically just broke. Red-faced Shirou is displeased! :japanese_goblin:

kaasknak commented 3 years ago

I read about that issue before (yes I am the kind of person who reads random github issues. I am weird like that.). I would have no problem reporting the bug but as it is functioning perfectly fine on my system (with WINE 6.1.3).

For this specific issue I think it would be best if @sccabe would report this specific issue. I can try (hopefully later this week) to tinker a bit with newer wine versions and see if it breaks for me. If it does I can file a bug report with wine.

leycec commented 3 years ago

I would have no problem reporting the bug but as it is functioning perfectly fine on my system (with WINE 6.1.3).

Right. That's definitely working as intended! WINE 6.1.3 < 6.5.2; so, great. It's only WINE ≥ 6.5.2 that breaks F/SN from what I can tell.

If you have excess free time the likes of which only British royalty have ever known, it'd be "fun" if you could break test F/SN on your end with a more recent WINE version as follows:

lutris -i fate-stay-night-realta-nua-ultimate-edition.yml

For a full list of all WINE versions supported by Lutris, search this public JSON API for the line "name": "Wine",. Supported WINE versions are the values of each "version": key below that line (e.g., "lutris-fshack-6", "lutris-osu-2").

I can personally confirm that WINE 6.10 suffers the same issue. That was several months ago, however. It looks like Lutris supports even newer WINE versions now, including WINE 6.14.3 via the lutris-6.14-3 version string. So, you might start there if you like.

It'd be pretty thrilling if WINE 6.14.3 actually works. I get chills up my arthritic spine just thinking about it. Pinning F/SN to an obsolete WINE version fills me with disquieting unease, as it's likely Lutris will drop support for that version in the near future.

And thanks again, @kaasknak! Sakura thanks you from the fathomless depths of her black and withered soul. :white_flower:

kaasknak commented 3 years ago

I have done some digging and I suspect black magic is at fault here.

Manually edit the version: lutris-6.1-3-x86_64 line in that file to use a newer, riskier, and doubtless even deadlier WINE version. See below! It's "fun."

This is not needed as you can change the wine version in Lutris (screenshots attached if you are curious). manage_runners select_wine After this you just change the runner settings of the game by right click -> configure -> Runner options -> Wine version

I tried the newest development release (6.14-3) and it worked. I loaded two different points where you can make a choice. I clicked the choice and nothing crashed or burned. I kept this one for an extended period of time and it worked like a charm. You wouldn't expect it to be the non-recommended version.

I switched back to 6.1-3 and it kept on working without any problems nothing broke and everything remained good.

Now here is the weird part. I decided to try 6.10-7 as well. And it worked. I managed to load save points and make a choice without anything crashing. Granted. I tried this one only for a couple of minutes.

I think it is safe to say there are two options remaining.

  1. @sccabe is missing a dependency. I would have no clue which one and how to find out though. I noticed that when changing wine versions I was asked if I wanted to allow wine to install something (mono runtime I believe) and I just let it (yeah I know from the system is better but who could refuse the seductiveness of a single button that does all the work for you?).
  2. There is black magic involved and @sccabe 's computer is cursed.

If the first one turns out to be the case it should be solvable but the trick would be to figure out what is going on exactly. If it is the second option it is time to call a priest.

In short. 6.14-3 works (at least for me) so the installer could be upgraded to use that version. The downside is that it might not work for everyone.

sccabe commented 3 years ago

I installed both gecko and mono when wine asked for them. I noticed quite a lot of fixme's popping up when lutris installer was running so I ran it from the terminal to get the longass™ log, if anyone less smooth-brained than me could give it a look.

kaasknak commented 3 years ago

I was working on a Tsukihime installer and thus I was reading the lutris documentation and I feel like this part is the most interesting:

Desktop: Run the game in a Wine virtual desktop. This should be used if the game has issues with Linux window managers such as crashes on Alt-Tab. Example: Desktop: true

While not exactly the same it does sound a lot like the problem you are having.

Instead of reinstalling the whole package if you right click on the game in lutris -> configure -> Runner options and enable windowed (virtual desktop) you should be able to turn this on.

If it doesn't work hopefully @leycec has some more smart ideas and if not that priest could come in real handy right about now.

sccabe commented 3 years ago

@kaasknak that worked to perfection! ...Almost. Solved the main problem at least. There is delay when pressing stuff in the main menu, which is fine because it doesn't crash and when actually playing there's no delay present. But after playing a movie in mpv this happened

kaasknak commented 3 years ago

Yeah I would like to point you to the README.md for that

Enabling the Patch → Options → Skip movies in-game option. Consider watching these movies either online or via the Extras title option available after successfully completing the Prologue. Attempting to play movies usually raises fatal exceptions (e.g., at the fade-to-white Prologue ending) with error messages resembling one or more of: 0009:fixme:gstreamer:mpeg_splitter_sink_query_accept Unsupported subtype {e436eb84-524f-11ce-9f53-0020af0ba770}. 00:15:24 ==== An exception occured at movie.tjs(210)[(function) open], VM ip = 81 ==== 00:15:25 exception: (object 0x1184E098:0x1184E098)"Cannot convert the variable type ((void) to Object)"

Hopefully this will be fixed in 1.0.0 but this issue shows we have to wait for that for some time. It needs to be fixed upstream.

leycec commented 3 years ago

Desktop: Run the game in a Wine virtual desktop.

OMG. I have never been more thankful for your existence than I currently am, @kaasknak – and I have been very thankful over the past month. I wiped that Lutris setting from my mind, because "muh immershun."

You also have my undying gratitude, @sccabe, for promptly testing and confirming @kaasknak's sagely advice. I'm delighted we were eventually able to get you sorted. Of course, this deserves yet another FAQ entry. We don't have enough of those! :bomb: :boom:

leycec commented 3 years ago

Resolved by @kaasknak in PR #20. All's well that ends without Shirou's head on a pike. But almost everything ends with Shirou's head on a pike! So we're doing great here.

leycec commented 3 years ago

Also:

I was working on a Tsukihime installer...

You do God's work. As a fellow gentleman of culture, I'm still waiting for dat sweet Tsukihime -A piece of blue glass moon- remake to drop. Of course, it was announced over thirteen years ago, which doesn't exactly inspire confidence in Nasu's project management skills.

If When the remake drops, let's collaborate it up and make the most ultimate Lutris installer yet! :grin:

kaasknak commented 3 years ago

~If~ When the remake drops, let's collaborate it up and make the most ultimate Lutris installer yet! grin

Sounds like a plan!