libretro / scummvm

ScummVM main repository
https://www.scummvm.org
GNU General Public License v3.0
5 stars 6 forks source link

Kyra.dat file not working #8

Closed ToniBC closed 1 year ago

ToniBC commented 1 year ago

This bug is already present in the versions that were tested before the official release and was more or less fixed in the 2.7.x nightly of those preview versions in Retroarch.

Although the file is present, as indicated, it does not load it and is invalid. The Themes do not load either, as if they were not compatible, only one of them appears.

Using the file that is inside the updater for scummvm.

Thanks.

image image image image

Mr-Jake commented 1 year ago

I remember this was an issue with the old core before it was fixed. I believe it was caused by the wrong version of Kyra.dat. Each version of ScummVM requires a specific version of Kyra.dat, so if the core is 2.6.1, verify Kyra.dat is from the 2.6.1 release.

https://github.com/libretro-mirrors/scummvm/issues/182

spleen1981 commented 1 year ago

Correct, datafiles and themes have to be consistent with the upstream version (e.g. 2.6.1). This is not a limitation of the core anyways.

To get manually the latest consistent set of files, you can use the following: git clone --recursive https://github.com/libretro/scummvm && cd scummvm && make datafiles

I've added a note in the README.md

Not sure how these datafiles are distributed through RetroArch downloader/updater, I've submitted this PR: https://github.com/libretro/libretro-system-files/pull/11 to align with current core. @LibretroAdmin please advise if that script is actually used for this purpose.

ToniBC commented 1 year ago

You would have to put the datafiles of this version of scummvm in the readme to download manually, not all of us know how to compile. While it is solved, to go testing, put them to download, as it was done previously.

Thanks.

spleen1981 commented 1 year ago

This is the repository of the source code of the core, not the distribution of "compiled" resources (distribution that needs to be fixed in RA anyways as per your suggestion, maybe with PR above)... that is why you don't find here the compiled core as well. From that point of view, README should explain what are you looking at and how to build.

While the bundle in RA downloader is updated (and if you don't want / can't build it), if you like to test with one specific file you can chose from upstream repository what you need (for v2.6.1): https://github.com/scummvm/scummvm/tree/4bf45d922baaf68552c9936491d34361ffb467f2/dists/engine-data but adding those links in README.md is out of its scope.

ToniBC commented 1 year ago

Now, with that .dat file, the game starts, but we continue with the problems that were present before in the preview versions, the performance and consequently, the sound, goes wrong, stops or skips. The framerate fluctuates a lot and the consumption is exaggerated, compared to the previous one and the updated standalone.

The core generally performs worse than the standalone. This was already mentioned in the preview versions, more work is needed to adapt it well.

Obviously all the effort is appreciated and we hope that little by little it will improve and we will have an operation equal to that of standalone.

ner00 commented 1 year ago

In my experience, most if not all, libretro cores underperform in comparison to standalones. It would be great to stabilize it, but I wonder how optimistic that is given that mainstream platforms, which have the most manpower behind them, still struggle to have impactful optimization.

spleen1981 commented 1 year ago

@ToniBC that sounds a little bit generic, which platform are you referring to? Which engine? Unless a specific issue is identified, there is no practical application of "adapt it better", and in general it's no surprise that one will have the better performance with the original standalone software. I've tested on a cheap ARM s905x3 tvbox and it works pretty good with the few engines I've tested, even with MT32 emulation enabled. Please feel free to open a separate issue if you think that with a specific platform/engine the performance is not reasonable. Closing this now as this specific issue is solved core-side. Fix of RA downloader will be monitored here.

ToniBC commented 1 year ago

Almost all cores have at least equal or better performance, rarely less. Only the most advanced ones like Dolphin or Citra have some problems, but everything else works just as well, because they are the same emulator.

Here, in this scummvm, it presents sound problems in Kyrandia, for the moment the first part. All this was already discussed in the previous thread and several confirmed it, but since everything was deleted, it disappeared.

It's not something generic, it's just trying the game and checking.

spleen1981 commented 1 year ago

Almost all cores have at least equal or better performance

I really doubt, but I won't discuss as it takes us nowhere

Here, in this scummvm, it presents sound problems in Kyrandia

I tried to test with s905x3 and I found audio glitches during the intro only, while in game it works ok. On a better machine (laptop) glitches are much lower, hence it seems the core is requiring more resources than the stand alone, at least for animated sequences of this engine. Hard to say why, but not a high priority issue imo. The hard coded dependencies from legacy core may be involved.

but since everything was deleted

Nothing has been deleted, just moved here, and link is given in the README (Resources).

It's not something generic

I mean you are not even mentioning on which platform are you testing. In general the more details the better when submitting an issue.

As already suggested, if you like you may open a dedicated issue with all needed details, as in here the matter will have a visibility from low to none and will not be tracked properly.

ner00 commented 1 year ago

Almost all cores have at least equal or better performance, rarely less. Only the most advanced ones like Dolphin or Citra have some problems, but everything else works just as well, because they are the same emulator.

This is the complete opposite of reality, although the Citra and Dolphin point is correct. Mostly, any core that goes beyond 16-bit emulation has more noticeable performance issues. There are a few notable exceptions, like the Dreamcast, which mostly comes down to the system architecture in relation to the host's CPU/GPU. In contrast, the PS2 has very stable emulation but is extremely taxing on resources, relatively speaking.

As for ScummVM, it isn't very taxing but also falls victim to the overhead caused by RetroArch, which in some cases is negligible but not in others - this depends a lot on the host system and custom configuration too. In some cases it is optimize-able, but not in others. You said it yourself, it's the same emulator; in fact, this version of the core is the closer to the standalone version that has existed in years. I'm very aware that this discussion is unfruitful, so I'll refrain from further comments on this matter.

Take this opportunity to open a new issue specifying the version of the core in use, the platform that it is being run on, the game in question (down to the exact version if possible), where the issue is noticeable and how to reproduce it. That way it may be possible to focus on tackling that specific issue and luckily solve it for one game or even a wide range of games at once.

ToniBC commented 1 year ago

The problem is the one mentioned, in the intro the sound jumps several times and the framerate. All tested under PC, Windows 11, I7 7700k, 3070, etc...

As they say, commenting that the performance is lower in Retroarch, is arguing for nothing, I would like you to point me to a forum post who affirms that, where you can see tests in which Mesen, Snes9x, MAME, FBNeo, all the Beetles, etc. ... underperform.

More than anything, because someone recently stated the same thing, that Retroarch consumed more in MAME (Current), but after testing, the Libretro version consumes less RAM and has more framerate stability, for example. This happens in many others. Obviously there are some that don't, but even PPSSPP works the same.

This core (scummvm) presents inconsistency, something similar to Citra (I don't know if it still has the problem) that when setting a resolution higher than 1x it crashed and the standalone could set it to 3x.

The Kyrandia game, in the previous version, did not have this problem, but in these new ones it does. It could be something related to the sound and the synchronization of it, buffers or something like that.

The function of those of us who do not know programming is to report the errors found and then those in charge of the projects, depending on the priority, check and see what it could be.

spleen1981 commented 1 year ago

The problem is the one mentioned, in the intro the sound jumps several times and the framerate. All tested under PC, Windows 11, I7 7700k, 3070, etc...

mostly fixed by 73fed809d039419189bee49caf367881d99654bb

ToniBC commented 1 year ago

Almost fixed, but now what is broken is the mouse cursor in the scummvm menu, which doesn't move unless you fast forward, which is responsive there.

spleen1981 commented 1 year ago

what is broken is the mouse cursor

That is followed up in #21

i30817 commented 1 year ago

Retroarch also had a bunch of wayland mouse cursor fixes last week till today. It was the cause of several mouse problems in cores that required mouse grab (in short, it was not implemented for wayland desktops). So if you're in linux, try to update both retroarch and the core (and the system files for scummvm).

ToniBC commented 1 year ago

Now it seems to work fine, still noticeable in a small jump in the intro of Kyrandia 1, but much improved. Thank you very much for the effort and improve this core.

i30817 commented 1 year ago

The core performance will also lag in 3d games because of the lack of hardware accelerated rendering like upstream has. I don't think that will be easy to fix, if it's possible at all without intrusive modification that would be a hard sell upstream. It's easy to tell by the fan kicking up.