Author Topic: How to set up Attract Mode step by step for raspberry Pi zero, 1, 2, 3  (Read 48890 times)

akafox

  • Hero Member
  • *****
  • Posts: 985
    • View Profile
Thanks go out to the Emulationstation team/developer, The team at RetroPie , The Libretro/ Retroarch team, To Ray here at Attract Mode and the many people who helped me make this write-up. And of course The Raspberry PI Foundation! You have all come together and made an awesome effort to make this happen! Keep it up! :D

Also more information can be found here http://forum.attractmode.org/index.php?topic=1249.0 and here
http://forum.attractmode.org/index.php?topic=705.0


First I must point out the image you are running from here is not officially maintained by any of us here! Please understand this tutorial will answer many questions going to other websites! This write up is made to help users with attract mode -the front end itself - not the underlying retropie image! If you have an attract mode problem we will help you, if not do not be offended if we redirect you elsewhere! Besides you may find an answer there on that forum!

The first issue I want to address is that using the "setting up attract mode step by step was written for a PC. Before attract mode on the pi was even thought of. So if you are using an image from here this is the one you need to read. If you are not using an image on the pi or if you want to use attractmode without any of retropie then you can follow the one for the PC.

Update: Attract mode is available by:
1. Go to the retropie menu
2. retropie setup
3. manage packages
4. Manage Experimental Packages
5. Attract Mode (near the bottom (install from source)
You can skip down to "The first setup:"

You will need two things:
1. A  keyboard plugged into the pi.
2. A usb stick.
3. A USB or bluetooth gamepad

This is coming from the point of view of a fresh new install of the SD card. I will not explain how to write the image here. See at the end marked "more information"

We need to do some things to the PI itself before we start.This is done by going to the AM setup menu and selecting "Launch EmulationStation to Configure Controls" (right under !! Press TAB to configure AM) Your pi will reboot automatically and you will launch into emulation station..from there you can set up your controllers.

Controls:
Now in Attract Mode the default is set for the controller/joystick already. However this is just for Attract Mode menu. To set up your controls for the emulators themselves you need to set up the controls through Emulationstation. Remember that you are setting controls for your emulators here. Diagrams for each of the systems' controllers are available..click the desired system on the right from the list on the RetroPie setup wiki page . I would suggest setting them up as stated on the retropie wiki that way your controls are correct for each system.

This is emulation station...this is the default frontend for retropie. Look around if you want...I'll wait...back? Ok now:
1. Go to the retropie menu
2. Choose"Raspi-config"
3. Goto Advanced Options
4. At the menu select option 1 ..expand file system then ok. (This should be done automatically on first boot. However mine did not. It will not break anything to make sure here.)
5. Choose memory split and type 256 h=then press ok
6. Choose audio From here choose the type of audio you are using. If you might need both leave it at auto.
7. Choose Localization options and change everything to your own locale (the default is British (the Pi is made in Britain/UK))
 I'll wait.
(Note: even if you are not using wifi change your locale just to be one the safe side for technical reasons I won't go into here)
8. now exit the config menu..
9. it will ask you if you want to reboot..say no. (Trust me)
10. Go to Audio (at the top)
11. choose "Mixer"
12. set it to 85 then escape (esc) to exit

Now we are going to do something that might seem strange. Don't freak out. Just keep going.
We need to update retropie and add things and such. Some of these are time based. Because the Pi does not have a real time clock we need to set the time correctly for this.
Again it may not break anything to not do this..but is sure will help!

Press F4 on your keyboard. You are greeted with the RetroPie bash script it had a lot of useful information on it! but for now we can ignore it

at the prompt type:
sudo date -s "dd mm yy  hh:mm:ss" (if in the us)
sudo date -s "yy mm dd  hh:mm:ss" (anywhere else in the world)

(example sudo date -s "19 APR 2012 11:14:00" or sudo date -s "2014-12-25 12:34:56") press enter

now type:
Code: [Select]
emulationstation
now go back to te retropie menu (if you want to set up wifi follow A1 if not skip to B2)
A1. 
1. choose wi-fi
2. Connect to wifi network
3. choose your network router name
4. enter your password
5. now back out to the retropie menu

B2.
1. Goto RetroPie setup
2. Update RetroPie-script
3. Update installed packages
Note: RetroPie will ask you if you want to update the underlying system as well. You don't have to BUT I HIGHLY suggest you do so!
4. Grab a sandwhich chips (or pizza) and a drink
5. Wait.......
6. go back to the retoropie menu, or if you are already there
7.  Seclect switch to attract mode
(the pi reboots and starts you in attractmode..and so all the configurations we made earilier take effect)

Ok NOW we can ALMOST setup attrctmode!

 First you need to have some roms (games) the reropie image makes it easy there! You can use a USB stick if you are off-line (it's faster) or transfer them through ssh (from your PC over your network)
if you are just transfering a few roms then the network version is ok) I'll cover the USB stick method here:

Get your usb stick and stick it into your PC
now make a folder called retropie
now stick it into your pi
wait....3 minutes (might be less..good to have a light on your stick here)
now pull out the usb stick and plug it back into your computer
open the retropie folder..notice it wrote a bunch of folers?

 Here is the breakdown:
BIOS: Your bioses go here any system that uses a bios MUST be in here fo them to work!
Configs: copies your config files for easy off-line editing
roms: where you put your games

So open your roms folder and place your roms into the correct folders
(note here for you U.S. users:
 pcengine is the Turbo Grafx-16
Megadrive is the Sega Genesis (you can put them in the megadrive folder because putting them in the genesis folder will put them in the megadrive folder anyway)

once you have put everything on there you want take it out
now put it into your pi
wait....  (the time will be depending on the number of games/roms you have)

https://github.com/RetroPie/RetroPie-Setup/wiki/Transferring-Roms

NOW we can set up attract mode! No really! That wasn't so bad was it??! :P


The first setup:
After adding roms we need to set up displays so we can see lists.

1. Press the tab button
2. Go to emulators
3. Select the system you want to set up
4. Select Generate Collection / Rom List*
5. now select back..and back again.

You should see your list!

*If you are not connected to the internet you will need to set info source/scraper to off. (blank) You will get errors and no list. Also with mame roms you will get rom names and not long (pretty) names.

Repeat this as necessary for each system you have.

 That is the most of it there. You can play most setups this way and not even be connected to the internet (you can unplug the network jack or erase your wifi password) and retropie will still work.
This should cover everything to get your pi working very well. I'm SURE there will be questions and problems. I don't mind helping. Understand I may refer you to other pages in my post if they are not related to attract mode.
Not being rude or ignoring you. Please understand we here at attract mode help people with attract mode...other forums help with their programs that what they are for. Besides doing that will sometimes give you faster results (and therefore solutions) than we can give you!

Happy Gaming! :D


Q&A:

Question:
Why can't I use my executables or set up like on my PC?

Answer:
The retropie image uses "run scripts" to start emulators and not the raw executable that works on a PC.
Note here that we are using retropie runscripts..(NOT the same set up as a PC!) they may look weird..but they are VERY important here.

https://github.com/RetroPie/RetroPie-Setup/wiki/runcommand

Question:
How can I add (system name here)?

Answer:
I know that not all the systems people want are included you will have to add them by hand.

You will need to copy them to your /home/pi/.attract/emulators folder. Then restart the pi and then start from "the first setup" to add the new system.

https://www.youtube.com/watch?v=pE6vRv6GuKo


Question:
The video snaps are not playing correctly. (THANKS progets!)

Answer:
This in not a attract mode issue. This has to do with the pi itself. Here's how to fix that:
1. Quit Attract mode and enter the terminal.
2. Type sudo raspi-config press enter
3. Go to Advanced options (9)
4. Go to Memory Split (A9)
5. Delete any settings there and type 256
6. Restart your pi

Question:
My screen has a little thermometer in the upper right corner sometimes. (THANKS progets!)

Answer:
That is not attract mode or retropie or retroarch. That is your Pi..and you are burning it up! Note that the pi was designed to run without a heat sink or a fan.(people would never buy cell phones if they had to deal with that!) But letting your pi run that way for too long WILL KILL IT! You need at the very least:

1. A good heat sink
2. a well ventilated case.

 (although that is not the best as noted here http://forum.attractmode.org/index.php?topic=1234.msg8901#msg8901)

The best is a small fan connected to the pi.

Video snaps are much more demanding than still pictures. Stay with still snaps if you can't cool your pi for whatever reason.
You are using software video decoding. Go into The configuration menu then to general then video decoding and change it to mml (Note that the floobs image (as of aug-20016 at least) does not have the option for mml. You have to compile it in yourself

https://github.com/mickelson/attract/wiki/Compiling-on-the-Raspberry-Pi-%28Raspbian-Jessie%29


Some layouts are to much for the pi to handle (ex. arcade-bliss)

Question:
The scraper did not find everything I wanted.

Answer:
It is not perfect. I have scraped my system and it missed artwork that it had sitting there on the gamesbd.net website. Download them from there and add them manually. Or if the game artwork/ info is missing add the game to the database.
Other places to get art work are
1 .http://www.hyperspin.com
2. http://www.emumovies.com.
3. A search engine for anything that they don't have.

Question:
[insert game here] doesn't work.

Answer:
That has nothing to do with attractmode and has to do with retroarch (the emulator) or you don't have the correct roms set (mame/arcade) %99.5 of the time. The 0.5% being that if you can start the game from the command line or emulationstation check your systems.cfg file in attractmode for errors.

https://github.com/retropie/RetroPie-Setup/wiki/MAME
https://github.com/RetroPie/RetroPie-Setup/wiki/Managing-ROMs

If you have done all the above then ask here.

Question:
I want to play multi-player games but none of the how-to's I found work and I never got an answer on the retropie / retroarch fourms:

Answer:
Huh..you too? Well here's how I fixed that (THANKS progrets!)

http://forum.attractmode.org/index.php?topic=1243.0

Here is some other info:
https://www.youtube.com/watch?v=36jnP-4cr6A
https://www.youtube.com/watch?v=AhkEnDdygbQ

Question:
I noticed this thing called kodi in the attract mode set up.

Answer:
We have nothing to do with that program whatsoever.
https://kodi.tv/

Question:
My arcade / mame rom list is full of funny names like dkong or sf2ce. What's that about and how do I fix it?

Answer:
Could be two reasons:
1. You don't have the gamesdb.net set in the info / source scraper settings.
2. You're not connected to the internet.

I can't get on the internet...So I'm stuck?

There is a work around if you are willing to do it...

First we need to add the emulator advmame to our pie image:
1. Go to Attract Mode setup
2. Choose RetroPie setup
3. Manage Packages
4. Manage Optional Packages
5. Install advmame (binary or source it doesn't matter..binary is faster though)

Next we edit our mame config..(which ever one you are using). In that config we are going to change two things. I suggest writing down the settings in there before you make changes..because we will change them back.)
We will change just the executable here..but first we need to set it up correctly:
Make your exucutable look like this:

Code: [Select]
/opt/retropie/emulators/advmame/bin/advmame

2. change the info source to lixtxml
3. now generate your roms list
4. Last type the line you wrote down back into the executable line.

Code: [Select]
/opt/retropie/supplementary/runcommand/runcommand.sh

7. Go back to the main display. Your names should be long and descriptive now! :)

You can do this same procedure for all your arcade roms you want to use. (It might work for final burn alpha also..haven't tested it yet.) Understand that this is a "last ditch effort" because you can't get on-line at all. I strongly recommend that you use the gamesbd.net source and make your list that way if you can.

more info here:
http://forum.attractmode.org/index.php?topic=1764.0

Question:
I still hear my videos after launching attractmode. Or I hear the game but attractmode is in the way.

Answer:
1. Go to the configure menu (TAB key)
2. Go to general
3. Go to window mode
4. Select fullscreen mode
5. Back out and try..if not then ask the forum.

Question:
My (insert controller name here) isn't working!

Answer:
If you need help connecting it (bluetooth) this is not the place to ask https://retropie.org.uk/forum/
If it is not working with games go here: https://forums.libretro.com
if it is not working with retropie in general..go here: https://retropie.org.uk/forum/
IT works but the buttons are wrong https://github.com/RetroPie/RetroPie-Setup/wiki click on the system/emulator to the right
if it works with everything else but not Attract Mode check the forum first..if you find nothing..then ask us :)

If your controller works but the buttons don't "work right" with your games then check the wiki here https://github.com/RetroPie/RetroPie-Setup/wiki/RetroArch-Configuration and choose your system (eg megadrive) and make sure that you have your buttons set correctly

Question:
My sd card is too small for all my stuff but I have a USB hard drive can I use it?

Answer:
Yes. Just change the paths accordingly in the Attract mode configs to point to your roms/artwork. And note that to use a USB hard drive you WILL need a powered USB hub. Your pi CAN NOT power your hard drive by itself!

Question:
I did that but now my sound samples in mame don't work!

Answer:
That has to do with the RetroPie paths/setup not Attractmode. I would suggest you drop your samples into the correct folder on your sd card. (your sd card can't be that small that you don't have room for samples!)


 if you have additional questions you can watch these for more information. Note that I did not make any of these videos, I am not responsible for anything in these videos..if you want your link removed send me a PM Some of these videos might be old.

https://www.youtube.com/watch?v=-ssbyofbm4Q
https://www.youtube.com/watch?v=Zlbw4Wpn64M
https://www.youtube.com/watch?v=1DRJs3I8FqQ
https://www.youtube.com/watch?v=xvYX_7iRRI0

Writing the SD card:

https://www.youtube.com/watch?v=LaQoI6s0RWE <-- mac
https://www.youtube.com/watch?v=ana7uz0l728 <-- linux
https://www.youtube.com/watch?v=vw2nTpLFof8 <-- windows

The above video may not say install retopie image. That is fine the idea is that same no matter what image you are writing. Just substitute the attractmode image for the image they use

Controllers:

https://github.com/retropie/RetroPie-Setup/wiki/RetroArch-Configuration
https://www.youtube.com/watch?v=tq3lk9muDHU
https://www.youtube.com/watch?v=pE6vRv6GuKo
https://www.youtube.com/watch?v=mzyZnAwTowI
https://www.youtube.com/watch?v=AhkEnDdygbQ

Transferring Games/Roms:

https://www.youtube.com/watch?v=zriog_qLLSo

https://www.youtube.com/watch?v=OYMoxvbkYD4
https://www.youtube.com/watch?v=zriog_qLLSo

connecting via ssh
Note here that you can use Filezilla or Putty on linux (yes it is for linux also) or you can use the terminal as posted here.
https://www.youtube.com/watch?v=fsRkTlv5rxw
« Last Edit: January 17, 2018, 10:08:30 AM by akafox »
People want life easy..then complain about it

wrybread

  • Sr. Member
  • ****
  • Posts: 100
    • View Profile
Re: How to set up Attract Mode step by step for raspberry Pi zero, 1, 2, 3
« Reply #1 on: January 08, 2024, 08:07:08 PM »
I just finished getting Attract Mode setup on a Pi 3, so adding my notes in case they're useful to anyone.

I flashed the SD card using Raspberry Pi Imager:

https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/

The image I flashed is retropie-buster-4.8-rpi2_3_zero2w.img.gz.

Go to options in the installer and set whatever options you want (I enable the SSH server) but make sure the username is set to "pi". I learned the hard way that using a custom username breaks Retropie and I had to reinstall.

After install run the Retropie setup utility:

Code: [Select]
sudo RetroPie-Setup/retropie_setup.sh
Go to Manage Packages -> Experimental Packages and install Attract Mode. I like to also install Mame4All (also under experimental packages) since it's a bit easier to use than the Libretro core version of MAME that is the default version, but it's optional.

The default MAME installed (mame-libretro) uses MAME 0.78 aka Mame2003 roms, Mame4All uses MAME 0.37b5 aka Mame2000 roms.

The Libretro MAME runs this command to start a ROM:

Code: [Select]
/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ mame-libretro "/home/pi/RetroPie/roms/mame-global/roms-mame2000/digdug.zip"
(Obviously adjust the path to your ROMs in the above command).

My emulator file for MAME looks like this:

Code: [Select]
executable           /opt/retropie/supplementary/runcommand/runcommand.sh
args                 0 _SYS_ mame-libretro [romfilename]

rompath /home/pi/RetroPie/roms/mame-global/roms-mame2000/

romext .zip;.ZIP

system               MAME
info_source          listxml

artwork    flyer           /home/pi/RetroPie/roms/mame-global/flyer
artwork    marquee         /home/pi/RetroPie/roms/mame-global/marquee
artwork    snap            /home/pi/RetroPie/roms/mame-global/snap
artwork    wheel           /home/pi/RetroPie/roms/mame-global/wheel
artwork    cabinet           /home/pi/RetroPie/roms/mame-global/cabinet

To get AttractMode to start automatically run retropie_setup.sh and go to Tools/configuration and tell it to start emulation station manually, then click the option to edit the config file "emulationstation" to "attract". Or I think you can edit the text file with this command: sudo nano /opt/retropie/configs/all/autostart.sh.

The only other emulator I set up is NES. It's installed by default, and runs this command:

Code: [Select]
/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ nes "/home/wrybread/RetroPie/roms/nes/roms/Super Mario Bros. (World).zip"
Obviously you'll need to upload your own ROMs and adjust the path above.

The stock "Nintendo Entertainment System.cfg" file in Attract Mode's emulator directory works out of the box.