Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 22.0.0.9.1 crashes Kodi #16

Closed
2 of 7 tasks
KOPRajs opened this issue Jun 18, 2020 · 7 comments
Closed
2 of 7 tasks

Version 22.0.0.9.1 crashes Kodi #16

KOPRajs opened this issue Jun 18, 2020 · 7 comments

Comments

@KOPRajs
Copy link

KOPRajs commented Jun 18, 2020

Bug report

Describe the bug

Here is a clear and concise description of what the problem is:
After the update to 22.0.0.9.1 this core doesn't work anymore. It shows black screen for a while and then crashes Kodi. Reverting back to 22.0.0.6.1 makes it work again. I've tested it on Windows 10 x64, LibreELEC x64 and CoreELEC Amlogic-ng. All platforms seems to be affected.

Possibly related to the new dynarec and related changes in the Makefile.libretro?
https://www.libretro.com/index.php/pcsx-rearmed-now-has-dynarec-support-across-multiple-platforms/
libretro/pcsx_rearmed@3d96277

RetroArch Behavior

Here is a clear and concise description of what happens in RetroArch with the same core/game:

To Reproduce

Steps to reproduce the behavior:

  1. Run any PSX game using the PCSX-reARMed
  2. Kodi crashes

Debuglog

The debuglog can be found here:
https://pastebin.com/P5ybh8Z6

Screenshots

Here are some links or screenshots to help explain the problem:

Your Environment

Used Operating system:

  • Android
  • iOS
  • Linux
  • OSX
  • Raspberri-Pi
  • Windows
  • Windows UWP

Operating system version/name: Windows 10 x64, LibreELEC x64 and CoreELEC Amlogic-ng

Kodi version: 18.x

note: Once the issue is made we require you to update it with new information or Kodi versions should that be required.
Team Kodi will consider your problem report however, we will not make any promises the problem will be solved.

@KOPRajs
Copy link
Author

KOPRajs commented Jun 19, 2020

UPDATE: I believe there are actually 3 separate issues on the 3 platforms I've tested:

  1. The first one affects only the Windows x64 build. It is caused by the fact that the x64 build is now using the new lightrec dynarec, which needs the real BIOS file to be present. If there is no BIOS file, it crashes. This bug seems to be already fixed in upstream: libretro/pcsx_rearmed@44747c7
    When the BIOS file is present it works in the current Windows build.

  2. Second issue is in the LibreELEC build script. It needs to be updated to reflect the new DYNAREC=ari64 build option instead of the old USE_DYNAREC=1 for ARM and DYNAREC=lightrec for x64.
    https://github.com/LibreELEC/LibreELEC.tv/blob/libreelec-9.2/packages/emulation/libretro-pcsx-rearmed/package.mk
    Look here for the changes in the Makefile: libretro/pcsx_rearmed@3d96277
    Without this update the LibreELEC ARM build will suffer a performance loss due to not using the dynarec anymore.

  3. The third issue is causing the actual crash in the current LibreELEC builds. This one also seems to be already fixed in upstream:
    libretro/pcsx_rearmed@1d579bf

@garbear
Copy link
Member

garbear commented Jun 19, 2020

Thanks for the report. I'll update the core when I get a chance, which should fix 1. and 3.

@KOPRajs
Copy link
Author

KOPRajs commented Jun 24, 2020

A little suggestion on improvement regarding the new version:
There are options in the core that allow for workaround bugs in some games and make them playable. These options needs to be changed on per game basis and sometimes on the fly. It might be useful to move these options in the core settings to the top of the list so they are easily accessible from the in-game menu.

EDIT:
I'd suggest an order like this from the top, but feel free to modify it, I'm not 100% familiar with all of them:
pcsx_rearmed_nosmccheck
pcsx_rearmed_nogteflags
pcsx_rearmed_gteregsunneeded
pcsx_rearmed_psxclock
pcsx_rearmed_idiablofix
pcsx_rearmed_inuyasha_fix
pcsx_rearmed_pe2_fix

@garbear
Copy link
Member

garbear commented Jun 24, 2020

The order is determined by the core: https://github.com/libretro/pcsx_rearmed/blob/master/frontend/libretro_core_options.h

I don't think we support options being changed on the fly. Currently the settings.xml file is generated off-line.

@KOPRajs
Copy link
Author

KOPRajs commented Jun 24, 2020

But the order in the linked header is different from what we've got in the current version. The order in the libretro_core_options.h is actually close to what I've suggested (except that the game specific options are in the bottom, which is also fine). So if we can keep the settings order in sync with the libretro_core_options.h, it'll be fine.

As for the on the fly options changes support, maybe it wasn't meant that way, but it definitely works in the current version.

EDIT: Also there are options specific for the used platform which should be hidden for other platforms. E.g. I've got a lot of options regarding the P. E. Op. S. GPU plugin but we use NEON GPU on the ARM.

EDIT2: The options (and its order) seems to be statically defined here: https://github.com/kodi-game/game.libretro.pcsx-rearmed/blob/master/game.libretro.pcsx-rearmed/resources/settings.xml

So I suggest at least to reorder the options according to the libretro_core_options.h for now. In the future we might consider generating it from the libretro_core_options.h in the build time and respect the #ifdef directives to hide options not relevant for the specific build.

@KOPRajs
Copy link
Author

KOPRajs commented Jun 24, 2020

You can download the reordered settings.xml from here:
http://koprajs.mx-net.cz/settings.xml

I did no other changes but reordered the options according to the libretro_core_options.h.

@KOPRajs
Copy link
Author

KOPRajs commented May 20, 2021

The crash should be resolved and the settings are discussed separately in #19. Let's close this one.

@KOPRajs KOPRajs closed this as completed May 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants