libretro / LRPS2

GNU General Public License v2.0
165 stars 48 forks source link

Linux Core doesn't work #199

Closed skylabhalo closed 1 year ago

skylabhalo commented 2 years ago

PCSX2 version: latest libretro core

Description of the issue: I tried many things downloading older versions of the core, compiling from source, downloading latest nightly on retroarch.com and the core simply doesn't work for me it always says failed to load libretro core

How to reproduce the issue: Try to launch a ps2 game on linux

bslenul commented 2 years ago

[ERROR] Error(s): libaio.so.1: cannot open shared object file: No such file or directory

You need to install the "libaio1" dependency.

skylabhalo commented 2 years ago

I did it's installed

skylabhalo commented 2 years ago

skylabhalo@Feren-OS:~/joycond-cemuhook$ sudo apt install libaio1 [sudo] password for skylabhalo: Reading package lists... Done Building dependency tree
Reading state information... Done libaio1 is already the newest version (0.3.112-5). 0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.

bslenul commented 2 years ago

Hmm, and ldd /path/to/cores/pcsx2_libretro.so, all good?

skylabhalo commented 2 years ago

yup so I just decided to switch back to arch linux and after building the core it finally works now. Still no idea why it wasn't working on FerenOS

TheDrifter363 commented 2 years ago

Wanted to report this doesn't work on Pop OS 21.10. libaio1 is installed and ldd showed the correct path. Haven't tried another distro.

stefanfortuin commented 2 years ago

Having the same issue, core wont run on linux mint 20.3.

From the logs: [ERROR] Failed to open libretro core: "./cores/pcsx2_libretro.so" [ERROR] Error(s): libaio.so.1: cannot open shared object file: No such file or directory

ldd output

ldd /media/Gaming/SteamLibrary/steamapps/common/RetroArch/cores/pcsx2_libretro.so
    linux-vdso.so.1 (0x00007ffd3a5d0000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f5cc88b7000)
    libaio.so.1 => /lib/x86_64-linux-gnu/libaio.so.1 (0x00007f5cc88b2000)
    libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x00007f5cc882a000)
    libGLU.so.1 => /lib/x86_64-linux-gnu/libGLU.so.1 (0x00007f5cc87b8000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f5cc87ad000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f5cc85cb000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5cc847a000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f5cc845f000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5cc843c000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5cc824a000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f5cd506d000)
    libGLdispatch.so.0 => /lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f5cc8192000)
    libGLX.so.0 => /lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f5cc815e000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5cc8156000)
    libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f5cc8019000)
    libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f5cc7fef000)
    libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007f5cc7fe9000)
    libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f5cc7fe1000)
    libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f5cc7fc5000)

Reinstalled libaio multiple times, does not make a difference. Using the linux steam version of retroarch.

stefanfortuin commented 2 years ago

Anybody got a fix for this yet?

i30817 commented 2 years ago

It actually works here in ubuntu, might be a steam only problem?

    $ ldd ~/.config/retroarch/cores/pcsx2_libretro.so
    linux-vdso.so.1 (0x00007ffe06d66000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f81a185b000)
    libaio.so.1 => /lib/x86_64-linux-gnu/libaio.so.1 (0x00007f81a1856000)
    libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x00007f81a17ce000)
    libGLU.so.1 => /lib/x86_64-linux-gnu/libGLU.so.1 (0x00007f81a175c000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f81a1752000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f81a1570000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f81a141f000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f81a1404000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f81a13e1000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f81a11ef000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f81ae013000)
    libGLdispatch.so.0 => /lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f81a1137000)
    libGLX.so.0 => /lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f81a1103000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f81a10fb000)
    libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f81a0fbe000)
    libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f81a0f94000)
    libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007f81a0f8e000)
    libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f81a0f86000)
    libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f81a0f6a000)
stefanfortuin commented 2 years ago

Steam version seems to be working for me right now. As of the latest Retroarch update 1.10.2. Downloading the pcsx2_libretro.so from the website and adding it to the Retroarch folder.

TheDrifter363 commented 2 years ago

Confirming, pcsx2 works fine now. However, I have a crash when exiting any ps2 game. Have to force close with task manager. Doesn't happen with other cores.

i30817 commented 2 years ago

That also happens in linux although it doesn't need a force quit. Also you can load other cores before quitting but it will force a core dump on exit of retroarch if you loaded pcsx2 (even without a game, just with the start core).

I believe this is a known problem. The core is fantastically out of date anyway, much like many of the retroarch hardforks. BTW last week the citra core finally got savestates if you want some movement on old cores, and of course, the scummvm core recently got a alternative that tracks upstream even if with less options/features - no 3d acceleration, not that the original core had it anyway (if you don't want to build it).

Tracking upstream tends to be easier if you don't actually touch upstream code and can make the libretro code live apart, which you can easily tell is not what is happening on this repository if you just check the main page of commits (or the fact that this is not directly forked from the pcsx2 upstream in github). Probably because twinaphex really wants to port this to xbox or something, so he's removing the wxwidgets code, which is the main C++ part of pcsx2, all but assuring that merges with upstream have to be done manually case by case, though to be fair, the hardware renderers would have the same problem anyway, probably.

LibretroAdmin commented 1 year ago

Core works fine on Linux, been confirmed multiple times by hunterk and others.