libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.28k stars 1.83k forks source link

Dunno - Someone had a fork for libs with old versions? #12073

Open inukaze opened 3 years ago

inukaze commented 3 years ago

Hi there, i just want to know if someone knew if exist a fork of RetroArch make it againts Slackware(64) 14.2 . i put the (64) because i had too the 32 Bits version of the distribution installed on another partition and access to that partition when i need compile things in native 32 bits.

The thing is i ever update manually the RetroArch, and normally i update the cores directly from the RetroArch, to get the precompiled Versions of cores. but just today i had the follow error (Because the libs on my distro are old)

Errors like :

Mesen

[INFO] [Core]: Loading dynamic libretro core from: "/home/inukaze/.config/retroarch/cores/mesen_libretro.so"
[ERROR] Error al abrir el núcleo Libretro: "/media/Compartido/Inukaze/LinuxHome/.config/retroarch/cores/mesen_libretro.so"
Error(s): /media/Compartido/Inukaze/LinuxHome/.config/retroarch/cores/mesen_libretro.so: symbol _ZTINSt6thread6_StateE, version GLIBCXX_3.4[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.

SwanStation / #DuckStation :

[ERROR] Error al abrir el núcleo Libretro: "/media/Compartido/Inukaze/LinuxHome/.config/retroarch/cores/duckstation_libretro.so"
[ERROR] Error(s): /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /media/Compartido/Inukaze/LinuxHome/.config/retroarch/cores/duckstation_libretro.so)

PSX Bettle HW :

[INFO] [Video]: Found display server: x11
[libretro ERROR] Program_init() - glLinkProgram() returned GL_FALSE
[libretro ERROR] Program info log:
Fragment info
-------------
0(2) : error C7011: implicit cast from "int" to "uint"
0(2) : error C7011: implicit cast from "int" to "uint"
0(2) : error C7011: implicit cast from "int" to "uint"
[libretro ERROR] Program_init() - glLinkProgram() returned GL_FALSE
[libretro ERROR] Program info log:
Fragment info
-------------
0(2) : error C7011: implicit cast from "int" to "uint"
0(2) : error C7011: implicit cast from "int" to "uint"
0(2) : error C7011: implicit cast from "int" to "uint"
0(2) : error C7011: implicit cast from "int"[INFO] [RCHEEVOS]: got game id 0
[INFO] [RCHEEVOS]: Trying console 8
[INFO] [RCHEEVOS]: Not a PC Engine CD
[INFO] [RCHEEVOS]: Trying console 43
[INFO] [RCHEEVOS]: Not a 3DO CD
[INFO] [RCHEEVOS]: Trying console 49
[INFO] [RCHEEVOS]: Not a PC-FX CD
[INFO] [RCHEEVOS]: Trying console 9
[INFO] [RCHEEVOS]: Hashing 512 byte buffer
[INFO] [RCHEEVOS]: Generated hash bf619eac0cdf3f68d496ea9344137e8b
[INFO] [RCHEEVOS]: checking bf619eac0cdf3f68d496ea9344137e8b

---Type <return> to continue, or q <return> to quit---c
Thread 1 "retroarch" received signal SIGSEGV, Segmentation fault.
0x00007fff9eb95a45 in gl_context_reset() ()
   from /media/Compartido/Inukaze/LinuxHome/.config/retroarch/cores/mednafen_psx_hw_libretro.so

PPSSPP

[ERROR] Error al abrir el núcleo Libretro: "/media/Compartido/Inukaze/LinuxHome/.config/retroarch/cores/ppsspp_libretro.so"
[ERROR] Error(s): /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /media/Compartido/Inukaze/LinuxHome/.config/retroarch/cores/ppsspp_libretro.so)

Mupen64Plus-NeXT :

[ERROR] Error al abrir el núcleo Libretro: "/media/Compartido/Inukaze/LinuxHome/.config/retroarch/cores/mupen64plus_next_libretro.so"
[ERROR] Error(s): /media/Compartido/Inukaze/LinuxHome/.config/retroarch/cores/mupen64plus_next_libretro.so: symbol _ZTINSt6thread6_StateE, version GLIBCXX_3.4.22 not defined in file libstdc++.so.6 with link time reference

ParaLLEI N64

[INFO] [Core]: Loading dynamic libretro core from: "/home/inukaze/.config/retroarch/cores/parallel_n64_libretro.so"
[ERROR] Error al abrir el núcleo Libretro: "/media/Compartido/Inukaze/LinuxHome/.config/retroarch/cores/parallel_n64_libretro.so"
Error(s): /media/Compartido/Inukaze/LinuxHome/.config/retroarch/cores/parallel_n64_libretro.so: symbol _ZTINSt6thread6_StateE, versi[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.

Ishiiruka :

[ERROR] Error al abrir el núcleo Libretro: "/media/Compartido/Inukaze/LinuxHome/.config/retroarch/cores/ishiiruka_libretro.so"
[ERROR] Error(s): /media/Compartido/Inukaze/LinuxHome/.config/retroarch/cores/ishiiruka_libretro.so: symbol _ZTINSt6thread6_StateE, version GLIBCXX_3.4.22 not defined in file libstdc++.so.6 with link time reference

In resume is with : Mesen Nestopia UE [ Don't give any error, just don't start it, i am using gdb and nothing on output ] SwanStation / DuckStation PSX Bettle HW PPSSPP Mupen64Plus-Next ParaLLEI N64 Bettle PCE FAST Dolphin-Emu [No errors on output] Ishiiruka etc . . .

Environment information

inactive123 commented 3 years ago

We always are all about being backwards compatible. I think in this case this might have been because of the new buildbot. I will try to discuss it with some people if there is any way to make things more backwards compatible (or not). Backwards compatibility unfortunately is made harder and harder by software that frankly doesn't care about this, so we always have to kinda reinvent the wheel there so to speak.

inukaze commented 3 years ago

Thank you for the quick answer. Sorry for my bad english xD

Well i know the latest programs / tecnology always try to force scheduled obsolescence, for the people that way people will feel compelled to update their equipment even if it is not really necessary.

i use Slackware(64) 14.2 because for me is the GNU/Distro with more Stability than debian, and is more near to a raw/pure posix standard operating system of gnu with linux kernel. i had use all GNU/Distros, and are a few a really like just : GoboLinux, SharkLinux, KodachiLinux, ArtyxLinux, and Slackware.

Any thing i had compile under Slackware64 14.2 i can use precompile in any other distro without much troubles, someone just the lib in equal or superior version to make it work. Well the unique thing i do with this distro when i had installed was purge pulseaudio, avahi becauase i don't like or need it. This distro does not use SystemD.

Well i said before i had compile a lot of things before i can share with you things pre-compile by me (Just things can be legally shared obviously), for 32 Bits and/or 64 Bits (normally i try to compile for both if the source code allow) for example

GzDoom -> Engine for Doom 1 / 2 / Brutal Doom / Brutal Wolfenstein / Simon's Destiny

Dhewm3 -> Engine for Doom 3 (some years ago i write a re-translation to spanish because the official translation of doom 3 for official engine, don't load all texts)

Shockolate -> Engine for System Shock

Devilution X -> Engine for Diablo 1 [ well i must update with Spawn (demo) version ]

OpenRW -> Engine for Grand Theft Auto 3 OpenRE3 -> Engine for Grand Theft Auto 3 OpenVC -> Engine For Grand Theft Auto 3 Vice City

Double Commander 0.9.8 -> File Explorer (i use on live usb distros)

PCSX2 -> PlayStation 2 Emulator (just for 32 Bits)

Meanwhile i had another dunnos, somebody can answer me ?:

1 - Just for Curiosity, Why the Video Filters must be compile manually ? (2xSai, Super2xSai, Phosphor2x, Scale2x, Grid3x, Grid4x, etc) Well this for me works perfectly

PS1 - Gran Turismo, Internal Resolution x2, Video Filter : Scale2x

i love this filter : PS1 - Gran Turismo, Internal Resolution x2, Video Filter : Phosphor2x

2 - RetroArch don't had any internal or external tool for test all cores, and the cores fail, the user can choose with do with that like : 1 - Move to sub-folder called "failed-core", 2 - Delete that core, 3 - Block that core (Just exclude for the list of cores / content load) but work with specific versions of the core ?

3 - Why in the "Load Content" don't exist an option for access to "Latest Visited Folder" ? because i had an folder structure like :

Free or Shareware Games Roms -> Nintendo -> Family Disk -> Hacks -> RetroAchievements Roms -> Nintendo -> Family Disk -> Fan-Translations -> RetroAchievements Roms -> Nintendo -> GameBoy -> Advance -> Homebrews -> RetroAchiements Roms -> Nintendo -> 64 -> RetroAchievements Roms -> Sega -> Master System Roms -> Sega -> Mega Drive Roms -> Sega -> Saturn Roms -> Sega -> Dreamcast Roms -> Sega -> 32X Roms -> Arcade -> MAME Roms -> Arcade -> CPS2 Roms -> Arcade -> CPS3 Roms -> PC-Engine -> Fan-Translation -> RetroAchievements Roms -> Sony PlayStation 1 -> Fan-Translation -> RetroAchivements

Well you know, because when i test rom, if i choose « Load Content » i don't had the option for return the latest folder, to try the latest rom with another core. i must navegate again the folders to reach again the same path for load the same latest rom for test with another core.

4 - I can add custom extensions ? because in cores load compact disc like SegaCD, PlayStation 1/2, GameCube, Sega Dreamcast, Sega Saturn, PC-Engine.

If i must use cue file i prefer change the extension of the disc image like :
ps1 for PlayStation 1 games ps2 for PlayStation 2 games psp for PlayStation Portable Games xcd for SegaCD / MegaCD, i prefer put X because can be S or M letter sdc for Sega Dreamcast sst for SegaSaturn npe for Nec PC-Engine / TurboGraFX-16 ngc for Nintendo GameCube

5 - Don't exist any keyboard shortcut to try re-connect to RetroAchievements? because sometimes i see the indicator appears, another times never appears, i prefer ever appears include when says " This game does not have achievements ". Or option like when i press F3 to see the FPS, but just for see if this game had achivements or not ? I am from Venezuela and the internet here is slow, because of that i prefer a key to show if the current game had retroachivements or just fail to login xD.

6 - The unique way to make custom PlayList is in the Desktop version of RetroArch ?

7 - Well thanks read and thanks for any answer can give me. i will go to test all cores are available for retroarch in this moment. well i read some cores right now support « chd » format i prefer that format if the game can be autocontent in there for example had a internal structure like :

Optionals : Anuncio.jpg or Advert.jpg ContraPortada.jpg or Back.jpg Disco.jpg or Disc.jpg or Disc1.jpg Portada.jpg or Front.jpg or Cover.jpg Pantallazo.jpg or Screenshot.jpg PS1 - Gran Turismo (Euro-Pal M5) [SCES-00984].md5 -> Optional File for make comparation to know if the checksum is correct with internal files.

Requiered : PS1 - Gran Turismo (Euro-Pal M5) [SCES-00984].bin -> Game PS1 - Gran Turismo (Euro-Pal M5) [SCES-00984].cue -> Cue Sheet

SCES-00984.sbi -> Sub-Channel Fix for Emulators (Game like Spyro 2 PAL Version need it for the game can be full playable or when you try to enter to certain worlds the game just give an error, like fail opcode or something like that)

Some Games need audio tracks should be specify in the cue file like Overboard! or Mortal Kombat Trilogy, Well i prefer all that requiered and optional files inside in just one compress file in chd format, for emulator called ReDream that format wells excelent.

Well if can't be in chd can be in 7z load directly without uncompress it ?