Running RetroArch from command line

Hello!

I am on Windows 7 x64 and am having issues running any N64 games through RetroArch (using either of the 2 available cores). I am attempting to obtain more information about the problem by launching RetroArch from the command prompt. Here is the syntax I am using:

retroarch.exe .\cores\mupen64plus_libretro.dll “…\Nintendo 64\Super Mario 64 (USA).n64” --verbose

After pressing enter, nothing seems to happen. I’ve also tried to display the man pages using “retroarch --help” but this garners no response as well.

I CAN lauch retroarch via the Windows GUI, however. I’m really stumped. Any advice would be greatly appreciated!

You need a -L before the path to the core.

Thanks, I’ll try that

Thanks again, but even with the corrected command line syntax, I’m still not seeing any output in the command window. Also, shouldn’t it have displayed some sort of usage message if my arguments were wrong?

I did a procmon trace. Retroarch is launching, but then terminates within a second. The exit code is 0 so I assume that means it’s not crashing. I saved the trace in case it would help anyone figure out what the heck is going on here!

Ah, I didn’t notice, but you also have to use retroarch_debug.exe to get any command line output. When I want a log, I usually set log_verbosity = “true” in retroarch.cfg, open an command prompt in my RetroArch directory, run retroarch_debug.exe, do whatever was causing a crash, then copy and paste everything from the command prompt. I had to right click the title bar of the command prompt and do some settings to make sure the prompt showed the full log though. I don’t really remember everything I had to set. I think if you’re on Windows 10 and use PowerShell instead of the command prompt you don’t have to do that, but I haven’t messed around with that yet.

Enable RetroArch In Command Prompt

[ul] [li] Control Panel → System and Security → System → Advanced system settings [/li][li] Advanced Tab → Environment Variables → System variables → Path [/li][li] Add C:\Path\To\RetroArch (Separate multiple paths with semicolon ; ) [/li][/ul]


retroarch -L "C:\Path\To\RetroArch\cores\core.dll" -c "C:\Path\To\Config.cfg" "C:\Path\To\Game.rom"

Ah yes, that did it. Here’s what got dumped into stderr after I entered the command:

RetroArch [INFO] :: Config: loading config from: .\retroarch_debug.cfg. RetroArch [INFO] :: Resetting undo buffers. RetroArch [INFO] :: Loading dynamic libretro core from: “E:\Emulation\RetroArch\cores\mupen64plus_libretro.dll” RetroArch [INFO] :: Overrides: no core-specific overrides found at E:\Emulation\RetroArch\config\Mupen64Plus\Mupen64Plus.cfg. RetroArch [INFO] :: Overrides: no game-specific overrides found at E:\Emulation\RetroArch\config\Mupen64Plus\Super Mario 64 (USA).cfg. RetroArch [INFO] :: Environ SET_VARIABLES. RetroArch [INFO] :: Remaps: remap directory: E:\Emulation\RetroArch\config/remaps RetroArch [INFO] :: Remaps: no game-specific remap found at E:\Emulation\RetroArch\config/remaps/Mupen64Plus/Super Mario 64 (USA).rmp. RetroArch [INFO] :: Remaps: no core-specific remap found at E:\Emulation\RetroArch\config/remaps/Mupen64Plus/Mupen64Plus.rmp. RetroArch [INFO] :: Redirecting save file to “E:\Emulation\RetroArch\saves\Super Mario 64 (USA).srm”. RetroArch [INFO] :: Redirecting savestate to “E:\Emulation\RetroArch\states\Super Mario 64 (USA).state”. RetroArch [INFO] :: Environ GET_LOG_INTERFACE. RetroArch [INFO] :: Environ GET_PERF_INTERFACE. RetroArch [INFO] :: Environ SET_PIXEL_FORMAT: XRGB8888. RetroArch [INFO] :: Environ GET_RUMBLE_INTERFACE. RetroArch [INFO] :: Loading content file: …\Nintendo 64\Super Mario 64 (USA).n64. RetroArch [INFO] :: Did not find a valid content patch. RetroArch [INFO] :: CRC32: 0x48339500 . RetroArch [INFO] :: Environ GET_VARIABLE mupen64-screensize: RetroArch [INFO] :: 640x480 RetroArch [INFO] :: Environ GET_VARIABLE mupen64-audio-buffer-size: RetroArch [INFO] :: 2048 RetroArch [INFO] :: Environ GET_VARIABLE mupen64-gfxplugin: RetroArch [INFO] :: auto RetroArch [INFO] :: Environ GET_VARIABLE mupen64-gfxplugin: RetroArch [INFO] :: auto RetroArch [INFO] :: Environ GET_VARIABLE mupen64-angrylion-vioverlay: RetroArch [INFO] :: disabled RetroArch [INFO] :: Environ GET_VARIABLE mupen64-filtering: RetroArch [INFO] :: automatic RetroArch [libretro DEBUG] :: set filtering mode… RetroArch [INFO] :: Environ GET_VARIABLE mupen64-polyoffset-factor: RetroArch [INFO] :: -3.0 RetroArch [INFO] :: Environ GET_VARIABLE mupen64-polyoffset-units: RetroArch [INFO] :: -3.0 RetroArch [INFO] :: Environ GET_VARIABLE mupen64-astick-deadzone: RetroArch [INFO] :: 15 RetroArch [INFO] :: Environ GET_VARIABLE mupen64-gfxplugin-accuracy: RetroArch [INFO] :: veryhigh RetroArch [INFO] :: Environ GET_VARIABLE mupen64-virefresh: RetroArch [INFO] :: 1500 RetroArch [INFO] :: Environ GET_VARIABLE mupen64-bufferswap: RetroArch [INFO] :: off RetroArch [INFO] :: Environ GET_VARIABLE mupen64-framerate: RetroArch [INFO] :: original RetroArch [INFO] :: Environ GET_VARIABLE mupen64-pak1: RetroArch [INFO] :: none RetroArch [INFO] :: Environ GET_VARIABLE mupen64-pak2: RetroArch [INFO] :: none RetroArch [INFO] :: Environ GET_VARIABLE mupen64-pak3: RetroArch [INFO] :: none RetroArch [INFO] :: Environ GET_VARIABLE mupen64-pak4: RetroArch [INFO] :: none RetroArch [INFO] :: Environ SET_HW_RENDER. RetroArch [INFO] :: Requesting OpenGL context. RetroArch [libretro INFO] :: mupen64plus: No version number in ‘Core’ config section. Setting defaults. RetroArch [libretro INFO] :: EmuThread: M64CMD_ROM_OPEN RetroArch [libretro INFO] :: mupen64plus: open_rom(): not a valid ROM image RetroArch [libretro ERROR] :: mupen64plus: Failed to load ROM RetroArch [libretro ERROR] :: Running Dead N64 EmulatorRetroArch [ERROR] :: Failed to load content. RetroArch [INFO] :: Resetting undo buffers. RetroArch [libretro ERROR] :: Running Dead N64 Emulator

I’m noticing that one of the messages says “not a valid ROM image”. I am definitely able to get the ROM I tried (as well as many others) to load via Project64.

Try the *.v64 version. There are big-endian and little-endian ROMs for N64, IIRC, and I’m not sure that both work in mupen.

I tried enabling like in the instructions, my retroarch .exe is located at F:\HyperSpin\Emulators\Retroarch, but no matter what I do, my cmd always says" ‘retroarch’ is not regognized as an internal or external command, operable program or batch file. " Just trying to run retroarch --help. When I navigate to the path listed above and try to run the command, it just says nothing. I’ve tried both with and without the executable in the path, but to no avail. I’m out of Ideas.

how do i test the roms and get any confirmation if it works or not. i normally have to check --verbose log and find out that way using command line.