Aloshi / EmulationStation

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

Video stops after selecting game #65

Closed coleifer closed 11 years ago

coleifer commented 11 years ago

Hi,

Thank you for putting together this project, I'm very excited to get it working.

The issue

I added some Doom .WADs and some NES ROMs and when I start up emulation station I see the files and am able to select them in the menu.

This is where things get weird. If I select a ROM/WAD the TV goes "blank", and by that I mean it turns blue and displays "No input signal". I am unable to kill the emulationstation process on the Pi when I ssh in after this happens.

I have tried specifying -w 720 -h 480 manually to no effect.

What's odd is that, after the screen goes blank, if I hit Esc a couple times I see this get added to the logfile, but still no dice. just a blank screen with no video:

lvl2:   Attempting to launch game...
lvl2:       /home/pi/RetroPie/supplementary/runcommand/runcommand.sh 1 "retroarch -L /home/pi/RetroPie/emulatorcores/libretro-prboom/prboom_libretro.so --config /home/pi/RetroPie/configs/all/retroarch.cfg --appendconfig /home/pi/RetroPie/configs/doom/retroarch.cfg /home/pi/RetroPie/roms/doom/DOOM.WAD"
lvl2:   ==============================================
lvl2:   ==============================================
lvl2:   Starting SDL...
lvl2:   Creating surface...
lvl2:   Resolution: 720x480...
lvl2:   Created surface successfully!
lvl3:       no joysticks detected by SDL_NumJoysticks(), so no joystick opened

After SSH-ing into the Pi and killing the emulationstation /retropie processes, the screen remains blank until I reboot.

DOSbox or the x86 emulator works fine, however.

My setup

I am running a fresh installation of emulationstation, which I installed using "RetroPie" (binaries) on top of Raspbian. I am using a standard-definition old-school TV using RCA cables (not HDMI).

Full Logs

Here is es_log

lvl2:   Starting SDL...
lvl2:   Creating surface...
lvl2:   Resolution: 720x480...
lvl2:   Created surface successfully!
lvl2:   Loading system config file...
lvl1:   System "atari2600" has no games! Ignoring it.
lvl1:   System "c64" has no games! Ignoring it.
lvl1:   System "gb" has no games! Ignoring it.
lvl1:   System "gba" has no games! Ignoring it.
lvl1:   System "gbc" has no games! Ignoring it.
lvl1:   System "gamegear" has no games! Ignoring it.
lvl1:   System "intellivision" has no games! Ignoring it.
lvl1:   System "mame" has no games! Ignoring it.
lvl1:   System "fba" has no games! Ignoring it.
lvl1:   System "scummvm" has no games! Ignoring it.
lvl1:   System "mastersystem" has no games! Ignoring it.
lvl1:   System "megadrive" has no games! Ignoring it.
lvl1:   System "neogeo" has no games! Ignoring it.
lvl1:   System "pcengine" has no games! Ignoring it.
lvl1:   System "zxspectrum" has no games! Ignoring it.
lvl2:   Finished loading config file - created 8 systems.
lvl3:       no joystick detected, ignoring...

lvl2:   Loaded fonts successfully.
lvl2:   Loading theme "/home/pi/.emulationstation/apple2/theme.xml"...
lvl2:   Theme loading complete.
lvl2:   Loading theme "/home/pi/.emulationstation/cavestory/theme.xml"...
lvl2:   Theme loading complete.
lvl2:   Loading theme "/home/pi/.emulationstation/doom/theme.xml"...
lvl2:   Theme loading complete.
lvl2:   Attempting to launch game...
lvl2:       /home/pi/RetroPie/supplementary/runcommand/runcommand.sh 1 "retroarch -L /home/pi/RetroPie/emulatorcores/libretro-prboom/prboom_libretro.so --config /home/pi/RetroPie/configs/all/retroarch.cfg --appendconfig /home/pi/RetroPie/configs/doom/retroarch.cfg /home/pi/RetroPie/roms/doom/DOOM.WAD"
lvl2:   ==============================================
lvl2:   ==============================================
lvl2:   Starting SDL...
lvl2:   Creating surface...
lvl2:   Resolution: 720x480...
lvl2:   Created surface successfully!
lvl3:       no joysticks detected by SDL_NumJoysticks(), so no joystick opened
lvl2:   Attempting to launch game...
lvl2:       /home/pi/RetroPie/supplementary/runcommand/runcommand.sh 1 "retroarch -L /home/pi/RetroPie/emulatorcores/libretro-prboom/prboom_libretro.so --config /home/pi/RetroPie/configs/all/retroarch.cfg --appendconfig /home/pi/RetroPie/configs/doom/retroarch.cfg /home/pi/RetroPie/roms/doom/DOOM.WAD"
lvl2:   ==============================================
lvl2:   ==============================================
lvl2:   Starting SDL...
lvl2:   Creating surface...
lvl2:   Resolution: 720x480...
lvl2:   Created surface successfully!
lvl3:       no joysticks detected by SDL_NumJoysticks(), so no joystick opened
Aloshi commented 11 years ago

Hmm, peculiar. Are you using HDMI or component cables?

First, let's try and figure out what part is failing.

Starting small, try running the RetroArch Doom core without EmulationStation or the RetroPie TV mode script: retroarch -L /home/pi/RetroPie/emulatorcores/libretro-prboom/prboom_libretro.so --config /home/pi/RetroPie/configs/all/retroarch.cfg --appendconfig /home/pi/RetroPie/configs/doom/retroarch.cfg /home/pi/RetroPie/roms/doom/DOOM.WAD

If that works, try running it through EmulationStation without the RetroPie TV mode script, by changing the launch command in ~/.emulationstation/es_systems.cfg. Find section for Doom, and change the COMMAND= bit from: /home/pi/RetroPie/supplementary/runcommand/runcommand.sh 1 "....." to /home/pi/RetroPie/supplementary/runcommand/runcommand.sh 2 "....." The 2 will make the command just pass through, not doing any of the TV mode changing stuff.

coleifer commented 11 years ago

Thank you so much for the response.

I'm using component. I have an HDTV that I connected the Pi into via hdmi, however, and the emulators worked, so I think its something to do with using the component video.

I will test using the methods you suggested (just retroarch, ES w/o retropie) and update the ticket -- will be this evening as I am at work rt now though!

coleifer commented 11 years ago

@Aloshi -- Cool...so the first command (retroarch doom core w/o emulationstation) works...sort of. Doom loaded up with no video issues. I was unable to select any options from the menu, though. I would hit "Enter" for "New Game" and the menu disappeared but the game wouldn't start. If I hit "Enter" a second time the menu reappeared. Weird, but at least the video works.

The second command (runcommand.sh 2) works as well. I get the same issue with Doom's in-game menu, but the video is working.

Aloshi commented 11 years ago

I haven't used the Doom core myself, so I can't really help with that part, sorry! It might be related to the .WAD file or some option in the options menu.

daviewales commented 11 years ago

I have this exact problem when using NES roms with a component video cable.

Aloshi commented 11 years ago

Have you tried setting the runcommand script argument to "2"?

Find the COMMAND= bit in ~/.emulationstation/es_systems.cfg and change it from: /home/pi/RetroPie/supplementary/runcommand/runcommand.sh 1 "....." to /home/pi/RetroPie/supplementary/runcommand/runcommand.sh 2 "....."

daviewales commented 11 years ago

Yep. That fixes it. I installed emulationstation using the RetroPie-Setup script from PetRockBlog. Does that config file get created by emulationstation, or the RetroPie-Setup script? I'm just wondering if there's a sensible way to get these config files setup with the default install.

Aloshi commented 11 years ago

By the RetroPie-Setup script. I think the script needs a "HDMI or Composite" option displayed in the user's face, or maybe an autodetect in the runcommand script (there's probably a way to query the video mode with tvservice, and I think this would probably be the best approach).

daviewales commented 11 years ago

Should I open an issue with RetroPie-Setup mentioning this problem?

Aloshi commented 11 years ago

Sure, that would probably be a good idea.