Löve is a 2d game engine programmed primarily in lua.
It only really works well on a Raspberry Pi 2. Games are programmed for different versions of Löve. RetroPie uses Love 11.1 and so it is likely a lot of games will not work because they have not been updated for version 11.1. See the section "Versions" below for step by step instruction how to install the older version 0.10.2 of Löve.
Accepted File Extensions: .love
Place your Löve games in
Note that love games are basically .zip files with a .love extension instead of a .zip, so when building love files from repos, the files all need to be in the top level directory (especially main.lua)
Controls vary by game though most will need a keyboard. Mari0 (which is installed when you install Löve) has some support for gamepads but you still need to use a keyboard to navigate the menus.
For display it is best to leave the video settings alone in the runcommand menu and just use the in game settings to scale it to 5.
You can add the following scripts in the configure function of
or you can just follow the links and download the .love files and place them into your ROM folders manually.
# get mrrescue-1.02e.love (freeware game data) if [[ ! -f "$romdir/love/mrrescue-1.02e.love" ]]; then wget "https://github.com/SimonLarsen/mrrescue/releases/download/1.02e/mrrescue1.02e.love" -O "$romdir/love/mrrescue-1.02e.love" chown $user:$user "$romdir/love/mrrescue-1.02e.love" fi
# get sienna-1.0c.love (freeware game data) if [[ ! -f "$romdir/love/sienna-1.0c.love" ]]; then wget "https://github.com/SimonLarsen/sienna/releases/download/v1.0c/sienna-1.0c.love" -O "$romdir/love/sienna-1.0c.love" chown $user:$user "$romdir/love/sienna-1.0c.love" fi
# get 90secondportraits-1.01b.love (freeware game data) if [[ ! -f "$romdir/love/90secondportraits-1.01b.love" ]]; then wget "https://github.com/SimonLarsen/90-Second-Portraits/releases/download/1.01b/90secondportraits-1.01b.love" -O "$romdir/love/90secondportraits-1.01b.love" chown $user:$user "$romdir/love/90secondportraits-1.01b.love" fi
It can be run with
cd RetroPie-Setup sudo ./retropie_packages.sh love configure
The default behavior of RetroPie is to always install the latest version of Love. Currently, this is v11. However, most games are written for v10. This includes the bundled Mari0 game which will just show a blue screen and an error message if it is started with v11 of Love.
In order get Mari0 and most other games to work, it is necessary to install Love v10. This requires editing the install script to point it to the correct url, and then (re-)installing Love from source. For this, a keyboard and internet access are required:
- In Emulationstation, press F4 to exit into a command prompt, then enter
sudo nano RetroPie-Setup/scriptmodules/ports/love.sh
- An editor should open
- Use the cursor keys to navigate to the line
hg clone https://bitbucket.org/rude/love "$md_build"
- Change it to read
hg clone https://bitbucket.org/rude/love/#0.10.2 "$md_build"
- Press CTRL-x and then y to save the changes
sudo rebootto restart Emulationstation
- In Emulationstation, select Retropie -> Retropie Setup
- In the Retropie Setup menu, select Manage Packages -> Optional Packages
- In the list of optional packages, select love
- Select "Install from source" (if Love is already installed, select 'uninstall' first and then 'install from source')
- Love 0.10.2 is now being downloaded and installed automatically. This takes a while.
- Perform a reboot once installation is done
- Emulationstation should now show Love as a selection, and the pre-installed game Mari0 should work without errors.