Skip to content

Commit

Permalink
Merge pull request #2 from hiulit/develop
Browse files Browse the repository at this point in the history
Bumped to v1.3.0
  • Loading branch information
hiulit authored Nov 23, 2020
2 parents 9348998 + 0848461 commit d24819a
Show file tree
Hide file tree
Showing 7 changed files with 427 additions and 74 deletions.
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,20 @@

* Up to date

## [1.3.0] - 2020-11-23

### Added

* Support for the Raspberry Pi 4.
* New Godot binaries compiled specifically for the Raspberry Pi 4 (`godot-engine-x.x.x-rpi4`).
* A new option in the scriptmodule's configuration menu to force Godot to use the GLES2 video driver on single-board computers, such as the Raspberry Pi.
* A [compatibility list](https://docs.google.com/spreadsheets/d/1ybU_NHqhnJmZnlP9YDDGEf4BJ5nInbfsVVQtQCM7rYw/edit?usp=sharing) to check which games work.

### Changed

* Updated FRT binaries to [v0.9.8](https://github.com/efornara/frt/releases/tag/0.9.8).
* Updated Godot versions (`3.2.3`).

## [1.2.3] - 2020-02-04

### Changed
Expand Down
94 changes: 81 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,24 @@

A scriptmodule to install a Godot "emulator" for RetroPie.

Thanks to [@efornara](https://github.com/efornara) (for creating [FRT - A Godot "platform" targeting single board computers](https://github.com/efornara/frt)) you can now **play\*** games made with [Godot](https://godotengine.org/) on your Raspberry Pi (and other single board computers) using [RetroPie](https://retropie.org.uk/).
Thanks to [@efornara](https://github.com/efornara) (for creating [FRT - A Godot "platform" targeting single board computers](https://github.com/efornara/frt)) you can now **play\*** games made with [Godot](https://godotengine.org/) on the Raspberry Pi (and other single-board computers) using [RetroPie](https://retropie.org.uk/).

**\*Games that (would) work on a Raspberry Pi must have been created with Godot version >= 3.1.x using GLES2 (or maybe Godot 2.x.x) and that they must not use any "fancy VFX", like particles and other CPU/GPU demanding stuff.**

If you are running RetroPie on an `x86` PC, the Godot "emulator" uses the **Linux/X11-32bits** export template instead of **FRT**, so most games should work fine.

There are plenty of games made with Godot, most of them hosted on https://itch.io/.

You can find Godot games using the following links:

* https://itch.io/games/made-with-godot
* https://itch.io/games/tag-godot

**\*Games that (would) work on a Raspberry Pi must have been created with Godot 3.1.x using GLES2 (or maybe Godot 2.x.x) and not using any 'fancy VFX' like particles and other CPU/GPU demanding stuff.**
**NOTE**:

When you download a game from https://itch.io/, you have to look for a `.pck` file. Those files will most likely be found on Linux downloads (maybe on Windows too).

Take a look at the [compatibility list](https://docs.google.com/spreadsheets/d/1ybU_NHqhnJmZnlP9YDDGEf4BJ5nInbfsVVQtQCM7rYw/edit?usp=sharing) to check which games work. Everyone can contribute to the list.

## Install the setup script

Expand Down Expand Up @@ -114,24 +121,69 @@ and then go to:
* godot-engine
* Install from source

A new `godot-engine` folder will be created in `/home/pi/RetroPie/roms/`, where you can put your games using `.pck` and `zip` extensions.
A new `godot-engine` folder will be created in `/home/pi/RetroPie/roms/`, where you can put your games using the `.pck` and `.zip` extensions.

For example, if you download a game from https://itch.io/, the downloaded `.zip` usually contains 2 files: the executable and the game. The later is, most the times, a `.pck` file and that's the one we want. Just copy it to `/home/pi/RetroPie/roms/godot-engine`.
For example, if you download a game from https://itch.io/, the downloaded `.zip` usually contains 2 files: the executable and the game. The later is, most of the times, a `.pck` file. That's the one we want. Just copy it to `/home/pi/RetroPie/roms/godot-engine`.

The script installs different versions of the "emulator" for maximum compatibility:

- `2.1.6`
- `3.0.6`
- `3.1.2`
- `3.2.0`
- `3.2.3`

If the game you are trying to play doesn't work, try changing the "emulator" in the [runcommand](https://github.com/RetroPie/RetroPie-Setup/wiki/runcommand).

If you are using an `x86` PC, the "emulators" used are Godot's export templates downloaded from https://godotengine.org/download/.

For the Raspberry Pi, the script will auto-detect if you are using a `0/1` or a `2/3` version and it will install the proper **FRT** "emulators". Same for any `arm64` single computer board.
* `godot-engine-x.x.x-x86`

For the Raspberry Pi, the script will auto-detect if you are using a `0/1`, a `2/3` or a `4` version and it will install the proper **FRT** "emulators".

* `godot-engine-x.x.x-frt-rpi0-1`
* `godot-engine-x.x.x-frt-rpi2-3`
* `godot-engine-x.x.x-frt-rpi4`

In the case of the **Raspberry Pi 4**, the script will install additional Godot "emulators", starting at `v3.1.2`, specifically compiled for it.

* `godot-engine-x.x.x-rpi4`

For any `arm64` single-board computer, the script will install the proper **FRT** "emulators".

* `godot-engine-x.x.x-frt-arm64`

In case none of the "emulators" work... Sorry.
In case none of the "emulators" work... **Sorry :(**

Well... there's **one last thing** you could try. See the section below.

### Force Godot to use the GLES2 video render

If you get this error when trying to play a game:

> Your video card driver does not support any of the supported OpenGL versions. Please update your drivers or if you have a very old or integrated GPU upgrade it.
You can force the Godot "emulator" to use the GLES2 video driver.

Run:

```
sudo /home/pi/RetroPie-Setup/retropie_setup.sh
```

and then go to:

* Configuration/tools
* godot-engine

Select **Force GLES2 video driver**.

![Configuration dialog](example-images/configuration-dialog.png)

Select **Yes**.

![Force GLES2 video driver dialog](example-images/force-gles2-video-driver-dialog.png)

If you want to to reverse that action, follow the same steps and select **No**.

## Uninstall the Godot "emulator" from RetroPie-Setup

Expand Down Expand Up @@ -182,6 +234,14 @@ and then go to:
* Configuration/tools
* godot-engine

Select **Use a GPIO/Virtual keyboard**.

![Configuration dialog](example-images/configuration-dialog.png)

Select **Yes**.

![GPIO/Virtual keyboard dialog](example-images/gpio-virtual-keyboard-dialog.png)

You will be prompted with a menu showing all the results from the command `cat /proc/bus/input/devices`. Select the GPIO/Virtual keyboard that you want.

### Remove the GPIO/Virtual keyboard
Expand All @@ -197,7 +257,13 @@ and then go to:
* Configuration/tools
* godot-engine

Select **No** when asked if you want to use a GPIO/Virtual keyboard.
Select **Use a GPIO/Virtual keyboard**.

![Configuration dialog](example-images/configuration-dialog.png)

Select **No**.

![GPIO/Virtual keyboard dialog](example-images/gpio-virtual-keyboard-dialog.png)

## How to create a new Godot system for an EmulationStation theme

Expand All @@ -209,29 +275,31 @@ As there is no way to create a script to automate this, because themes don't hav
* Rename it as `godot-engine`.
* Move the Godot `system.svg` and `controller.svg` to the `godot-engine/art` folder.

**Note**
**NOTE**:

The folder structure in the theme you are using might differ. Take a look at how this particular theme works to create the `godot-engine` folder accordingly. You might need to delete extra icons that are not needed.

## Premade Godot systems

I've created Godot systems for the default EmulationStation theme that comes in RetroPie, **Carbon theme**, and for my personal favourite theme, **Pixel theme**.
I've created a couple of ready-to-use Godot systems.

One for the default EmulationStation theme that comes in RetroPie, **Carbon theme**, and the other, my personal favourite theme, for the **Pixel theme**.

Copy the `theme/[THEME]/godot-engine` folder from this repository to `/etc/emulationstation/themes/[THEME]`.

### Carbon theme

![Godot system for EmulationStation's Carbon theme](/example-images/godot-engine-carbon-theme.jpg)
![Godot system for EmulationStation's Carbon theme](example-images/godot-engine-carbon-theme.jpg)

### Pixel theme

![Godot system for EmulationStation's Pixel theme](/example-images/godot-engine-pixel-theme.jpg)
![Godot system for EmulationStation's Pixel theme](example-images/godot-engine-pixel-theme.jpg)

## Changelog

See [CHANGELOG](/CHANGELOG.md).

## Authors
## Author

Me 😛 [@hiulit](https://github.com/hiulit).

Expand Down
Binary file added example-images/configuration-dialog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added example-images/gpio-virtual-keyboard-dialog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit d24819a

Please sign in to comment.