Please do not post a support request without first reading and following the advice in

Manual install on top of Buster Full

  • Hi everyone,

    I have a Raspberry Pi 3 Model B, onto which I have installed Raspbian Buster Full (2020-03-13). My desktop environment is up and running. I have tried to manually install RetroPie by following the instructions here:

    I have performed a Basic Install, and the script seemed to complete.

    When I type "emulationstation" into the command line, I get:

    terminate called after throwing an instance of 'std::logic_error'
    what(): basic_string::_M_construct null not valid

    Any help?

    Thank you

    PS I have increased GPU Memory to 256.

  • Global Moderator

    Are you running EmulationStation from a desktop session ? I don't think this is supported or tested, a RetroPie installation doesn't use the desktop/X11 env.
    Try running EmulationStation from a text console and see if you get the same message.

  • @mitu thanks for the reply, how do I end my desktop session and get back to just command line?

  • Global Moderator

    Use raspi-config and configure the system to auto-login to the console. If EmulationStation doesn't start automatically after a reboot, then use the setup script to enable the autostart of EmulationStation - see

  • @mitu so what I'm actually trying to set up is a Raspberry Pi with a desktop which I can use for web browsing and other apps, that can also run EmulationStation alongside SteamLink. When I boot, I would like to see the desktop. If I want to use EmulationStation, I would like to be able to enter a command or bash script that will switch over to RetroPie mode. When I'm finished, I'd like to be able to go back to the desktop.

    Is this possible or am I just crazy?

  • Global Moderator

    @LogicalUnit said in Manual install on top of Buster Full:

    Is this possible or am I just crazy?

    It's possible - just need to find out how.

  • I found this on the forum, but have not tried it:

    For my own setup I run boot into emulationstation, and launch a separate vnc desktop from /etc/rc.local with this command:
    su pi -c vncserver :1 >/dev/null 2>&1 &

    I can then use vnc to server:5901 to get a desktop when needed for file downloads or updates.

    Both my pi's run headless, and everything is done via ssh or vnc

  • This is interesting. I have used a PC to run a fresh install of Ubuntu and just launched emulationstation from a terminal and it worked fine. Granted it was not a Pi so that could make a difference but my PC didn't seem to hesitate running ES just fine when launched from the desktop environment.

    I've also done it from a VM install of Ubuntu. It never occurred to me that I would have to kill the desktop before launching.

    Edit: The downside I discovered when running from the VM was the audio was delayed about a half second from the video images.

  • Global Moderator

    @YFZdude said in Manual install on top of Buster Full:

    This is interesting. I have used a PC to run a fresh install of Ubuntu and just launched emulationstation from a terminal and it worked fine.

    On a PC, EmulationStation is meant to be run from a desktop environment - but not on a PI.

  • Does anyone have a suggestion for where I might find out how to do this? I've Googled the error but didn't learn much.

  • You can always use startx to start the desktop from the text console.
    My pi works fine with this configuration. I am not sure why your is messing up. My personal favorite fix to everything: copy your /home/pi/Retropie folder to your PC and then reinstall. Then reinstall Retropie, delete the new /home/pi/Retropie folder and replace it with the old one.

  • Did I say reinstall twice? Oops.

  • Okay, I've made some progress. By running sudo raspi-config, I was able to go into Boot Options and switch to Console Autologin. Now when I boot the pi, I get a command prompt. From there, if I want the desktop, I run startx. When I'm done with the desktop, I can exit to command line. If I want EmulationStation, I just run emulationstation. Again, when I'm done, I can exit back to command line. Great!

    My next issue is that I have a USB stick with a folder called retropie-mount. In here I have various ROMs and save state files. When I use the normal RetroPie image, all these ROMs are detected and added to EmulationStation. But right now, it's not finding any of them. Any idea how to make EmulationStation search a USB stick for ROMs?

  • Global Moderator

    @LogicalUnit You need to install and enable the usbromservice package from the RetroPie-Setup, it's in the optional packages section.

  • @mitu awesome, that did the trick! I now have RetroPie, SteamLink, and Linux desktop all running on Raspberry Pi :)

Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.