Aloshi / EmulationStation

A flexible emulator front-end supporting keyboardless navigation and custom system themes.
MIT License
2.07k stars 905 forks source link

Retroarch n64 crashes when launching from ES #574

Closed Wormwoood closed 8 years ago

Wormwoood commented 8 years ago

Hi guys,

I've tried for weeks to get ES working with n64 without any luck, and have spend hours searching for a fix :/

Everything lauches perfektly from ES except n64. When launching any n64 game, ES closes down as it should, the cmd pops up, but then the Retroarch window crashes. "Retroarch.exe has stopped working".

However.... Launching n64 games directly from Retroarch works perfectly without any crashing... I've tried playing around with forcing fullscreen on and forcing windowed_fullscreen off (some ppl had luck with that), but it still crashes here. my mupen64plus_libretro.dll is up to date.

my es_systems.cfg looks like the following, which is identical to all the rest of the emulators.

<system> <name>n64</name> <fullname>Nintendo 64</fullname> <path>~/.emulationstation/roms/n64</path> <extension>.v64 .z64 .n64 .V64 .Z64 .N64</extension> <command>%HOMEPATH%\.emulationstation\systems\retroarch\retroarch.exe -L %HOMEPATH%\.emulationstation\systems\retroarch\cores\mupen64plus_libretro.dll "%ROM_RAW%"</command> <platform>n64</platform> <theme>n64</theme> </system>

to comparison my nes (which works fine) looks like this:

<system> <name>nes</name> <fullname>Nintendo Entertainment System</fullname> <path>~/.emulationstation/roms/nes</path> <extension>.nes .NES</extension> <command>%HOMEPATH%\.emulationstation\systems\retroarch\retroarch.exe -L %HOMEPATH%\.emulationstation\systems\retroarch\cores\fceumm_libretro.dll "%ROM_RAW%"</command> <platform>nes</platform> <theme>nes</theme> </system>

Do you guys have ny idea of why ES makes Retroarch crash? or better yet... any idea of how to fix it?

_UPDATE_ Fixed the problem by downloading the latest Retroarch for windows (1.3.2) and copy/paste (and replace) the whole thing into my .emulationstation/systems/retroarch.

wolf-sigma commented 8 years ago

Have you tried running the command in es_log that it issues? Often times Retroarch will give you better details to why it fails.

Wormwoood commented 8 years ago

I'm afraid i dont have any idea how to run the command like that :/

This is what the es_log says when i try to launch a game. The first one is a working gbc game (all good here). The second is any n64 game:

GBC working fine: lvl2: req sound [detailed.launch] lvl2: (missing) lvl2: Attempting to launch game... lvl2: getting volume as 21 ( from float 0.21) lvl2: %HOMEPATH%.emulationstation\systems\retroarch\retroarch.exe -L %HOMEPATH%.emulationstation\systems\retroarch\cores\gambatte_libretro.dll "C:\Users\Wormwood.emulationstation\roms\gbc\Carmageddon (UE) (M4) [C][!].gbc" lvl2: Creating surface... lvl2: Created window successfully.

N64, Retroarch crashes: lvl2: req sound [detailed.launch] lvl2: (missing) lvl2: Attempting to launch game... lvl2: %HOMEPATH%.emulationstation\systems\retroarch\retroarch.exe -L %HOMEPATH%.emulationstation\systems\retroarch\cores\mupen64plus_libretro.dll "C:\Users\Wormwood.emulationstation\roms\n64\007 - The World is Not Enough (U) [!].z64" lvl1: ...launch terminated with nonzero exit code -1073741819! lvl2: Creating surface... lvl2: Created window successfully.

looked up that exit code "-1073741819", a fix told me to set the windows 10 sounds to Windows Default or No Sound. Tried both, didnt fix it D:

dankcushions commented 8 years ago

just open a cmd window and run: %HOMEPATH%.emulationstation\systems\retroarch\retroarch.exe -L %HOMEPATH%.emulationstation\systems\retroarch\cores\mupen64plus_libretro.dll "C:\Users\Wormwood.emulationstation\roms\n64\007 - The World is Not Enough (U) [!].z64"`

Wormwoood commented 8 years ago

So i ran that string %HOMEPATH%\.emulationstation\systems\retroarch\retroarch.exe -L %HOMEPATH%\.emulationstation\systems\retroarch\cores\mupen64plus_libretro.dll "C:\Users\Wormwood.emulationstation\roms\n64\007 - The World is Not Enough (U) [!].z64"

Just gives me the same error as before. A Windows window popping up saying "Retroarch.exe has stopped working". Tried with with C:\Users\Wormwood\ instead of %HOMEPATH%, no luck here either.

Does a Retroarch dumpfile exist? something similar to es_log ?

dankcushions commented 8 years ago

use --verbose at the end. eg

%HOMEPATH%.emulationstation\systems\retroarch\retroarch.exe -L %HOMEPATH%.emulationstation\systems\retroarch\cores\mupen64plus_libretro.dll "C:\Users\Wormwood.emulationstation\roms\n64\007 - The World is Not Enough (U) [!].z64" --verbose

although you've at least proven this is not an emulationstation issue; you now have a core/retroarch issue. you should close this one.

Wormwoood commented 8 years ago

The --verbose doesn't change/write anything as far as i can see :/ nothing new to see in the cmd at least.

See, when i launch the game via retroarch (select Load Content and Detect Core -> find rom -> choose mupen64plus), the game launches perfectly. So Retroarch should be working fine... right?

but you're probably right, that this isnt directly related to emulationstation. Any final ideas/tips of how i continue from here, before i close this?

dankcushions commented 8 years ago

ES effectively runs the command line command, so if that's not working in isolation from ES then the problem is with retroarch, or the construction of the command. Try only one dash maybe? -verbose?

have a look at http://libretro.com/forums/showthread.php?t=3647 - see the last post for an alternative. not sure where the retroarch log file is stored in windows but should be in the directory i guess.

Wormwoood commented 8 years ago

Oh this is so stupid.... well i am...

Fixed the problem by downloading the latest Retroarch for windows (1.3.2) and copy/paste (and replace) the whole thing into my .emulationstation/systems/retroarch.

Ty for your help tho :)

/thread