2020-02-03 10:53:10 +01:00
# Amiga emulator for ARM boards
2021-05-08 21:52:57 +02:00

2020-09-17 15:15:53 +02:00
2019-12-06 22:39:19 +01:00
[](https://gitter.im/amiberry/Amiberry?utm_source=badge& utm_medium=badge& utm_campaign=pr-badge)
2019-12-29 19:39:46 +01:00
[](#backers ) [](#sponsors )
2020-05-18 23:55:32 +02:00

2019-03-14 18:20:34 +01:00
2021-01-25 10:46:01 +01:00
Amiberry is an optimized Amiga emulator, for ARM-based boards (like the Raspberry Pi, ASUS Tinkerboard, Odroid XU4, etc). The core emulation comes from WinUAE, but stripped down somewhat in order to achieve good performance in underpowered boards. It includes JIT CPU and FPU support, to get high-performance results on CPU-intensive emulated environments. On top of that, we have some unique features developed specifically for Amiberry, such as the WHDLoad booter and support for RetroArch controller mapping.
2016-08-16 13:21:15 +02:00
2020-10-14 19:42:47 +02:00
Amiberry requires the [SDL2 framework ](https://libsdl.org ) for graphics display, input handling and audio output. On the 32-bit RPI platform specifically, we offer a special alternative version which uses Dispmanx directly for the emulation screen, for maximum performance.
2017-02-09 15:42:17 +01:00
2020-02-03 10:53:10 +01:00
## Requirements
2019-08-31 22:30:02 +02:00
2019-11-16 12:48:05 +01:00
Amiberry has been tested on Debian/Raspbian Buster, and requires the following packages to run:
2016-02-03 19:46:32 +00:00
2020-10-14 19:42:47 +02:00
sudo apt-get install libsdl2-2.0-0 libsdl2-ttf-2.0-0 libsdl2-image-2.0-0 flac mpg123 libmpeg2-4
2016-02-03 19:46:32 +00:00
2019-11-16 12:48:05 +01:00
If you want to compile Amiberry from source, you'll need the `-dev` version of the same packages instead:
2019-08-31 22:30:02 +02:00
2020-10-14 19:42:47 +02:00
sudo apt-get install libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libflac-dev libmpg123-dev libpng-dev libmpeg2-4-dev
2016-02-03 19:46:32 +00:00
2019-11-27 20:58:46 +01:00
On the Raspberry Pi, if you're not running Raspbian you'll also need this:
sudo apt-get install libraspberrypi-dev
2020-06-11 22:45:49 +02:00
Or if you're using an Arch-based distro (e.g. Manjaro), you can use these instead:
2020-10-14 19:42:47 +02:00
sudo pacman -S base-devel sdl2 sdl2_ttf sdl2_image flac mpg123 libmpeg2
2020-06-11 22:45:49 +02:00
2020-02-03 10:53:10 +01:00
## Getting Amiberry
2016-02-03 19:46:32 +00:00
2019-11-16 12:48:05 +01:00
The latest stable releases come with binaries, that you can download from the [Releases ](https://github.com/midwan/amiberry/releases ) area.
Several popular distros (like RetroPie, DietPi, Amibian, and others) already include Amiberry either pre-installed, or through their package management systems.
Please follow the methods provided in those distros for a smoother experience.
2016-02-03 19:46:32 +00:00
2019-11-16 12:48:05 +01:00
Alternatively, you can compile the latest from source yourself. Clone this repo, like so:
2016-02-03 19:46:32 +00:00
2017-01-24 22:14:55 +01:00
cd ~
2018-04-18 20:41:16 +02:00
git clone https://github.com/midwan/amiberry
2018-04-15 15:29:16 +02:00
cd amiberry
2018-10-15 17:24:06 +02:00
2019-11-16 12:48:05 +01:00
## Choosing a target
2018-10-15 17:24:06 +02:00
2019-11-16 12:48:05 +01:00
Amiberry's Makefile includes several targets, to cover various platforms. For the Raspberry Pi platform specifically, we offer a special Dispmanx version for maximum performance:
2018-12-06 21:17:44 +01:00
2019-11-16 12:48:05 +01:00
- SDL2 with DispmanX back-end for graphics (RPI platforms only)
- SDL2 with whatever back-end it was configured with (e.g. KMS, OpenGL, X11, etc.)
2016-02-03 19:46:32 +00:00
2019-11-16 12:48:05 +01:00
## Compiling a target
2016-02-03 19:46:32 +00:00
2019-11-16 12:48:05 +01:00
You must specify the Platform you want to build as a parameter to the `make` command. The process will abort if you use an incorrect platform or no platform at all.
Some example platforms are shown below, but feel free to explore the full list within the Makefile.
2016-08-11 18:45:50 +02:00
2019-11-16 12:48:05 +01:00
### Raspberry Pi with SDL2 + DispmanX
2016-08-11 18:45:50 +02:00
2019-11-16 12:48:05 +01:00
Use the following command line options for compiling the special RPI-specific versions with Dispmanx:
2016-02-03 19:46:32 +00:00
2019-11-16 12:48:05 +01:00
For the Raspberry Pi 4
2015-08-06 10:45:19 +02:00
2019-11-16 12:48:05 +01:00
make -j2 PLATFORM=rpi4
2018-10-15 17:24:06 +02:00
2019-11-16 12:48:05 +01:00
For the Raspberry Pi 3(B+)
2019-08-17 11:49:13 +02:00
2019-11-16 12:48:05 +01:00
make -j2 PLATFORM=rpi3
2019-08-17 11:49:13 +02:00
2019-11-16 12:48:05 +01:00
For the Raspberry Pi 2
2018-10-15 17:24:06 +02:00
2019-11-16 12:48:05 +01:00
make -j2 PLATFORM=rpi2
2018-10-15 17:24:06 +02:00
2019-11-16 12:48:05 +01:00
For the Raspberry Pi 1/Zero
2018-10-15 17:24:06 +02:00
2019-11-16 12:48:05 +01:00
make PLATFORM=rpi1
2018-10-15 17:24:06 +02:00
2019-11-16 12:48:05 +01:00
### SDL2 Platforms
2018-10-15 17:24:06 +02:00
2019-11-16 12:48:05 +01:00
Below is an example list of several available targets in the Makefile, and what command line option to use when compiling for them:
2018-10-15 17:24:06 +02:00
2019-11-16 12:48:05 +01:00
For the Raspberry Pi 4
2019-08-17 11:49:13 +02:00
make -j2 PLATFORM=rpi4-sdl2
2020-06-11 10:35:43 +02:00
For the Raspberry Pi 4 64-bit
2020-06-11 13:57:51 +02:00
make -j2 PLATFORM=pi64
2020-06-11 10:35:43 +02:00
2019-11-16 12:48:05 +01:00
For the Raspberry Pi 3(B+)
2017-12-19 11:48:06 +01:00
2018-12-06 21:17:44 +01:00
make -j2 PLATFORM=rpi3-sdl2
2017-12-19 11:48:06 +01:00
2019-11-16 12:48:05 +01:00
For the Raspberry Pi 2
2017-12-19 11:48:06 +01:00
2018-12-06 21:17:44 +01:00
make -j2 PLATFORM=rpi2-sdl2
2019-11-16 12:48:05 +01:00
For the Raspberry Pi 1/Zero
2017-12-19 11:48:06 +01:00
2018-12-06 21:17:44 +01:00
make PLATFORM=rpi1-sdl2
2017-12-19 11:48:06 +01:00
2019-11-16 12:48:05 +01:00
For the Odroid XU4
2018-10-15 17:24:06 +02:00
2018-12-06 21:17:44 +01:00
make -j6 PLATFORM=xu4
2019-11-16 12:48:05 +01:00
2020-06-11 10:35:43 +02:00
For the ASUS Tinker board (Supported distro: Armbian)
2018-10-15 17:24:06 +02:00
2019-12-02 16:01:44 +01:00
make -j6 PLATFORM=RK3288
2019-11-16 12:48:05 +01:00
For the Odroid C1
2018-10-15 17:24:06 +02:00
2018-12-06 21:17:44 +01:00
make -j4 PLATFORM=c1
2018-10-15 17:24:06 +02:00
2019-11-16 12:48:05 +01:00
For the Vero 4k
2018-10-15 17:24:06 +02:00
2018-12-06 21:17:44 +01:00
make -j4 PLATFORM=vero4k
2019-11-16 12:48:05 +01:00
For the OrangePi PC
2018-10-15 17:24:06 +02:00
2019-01-11 18:20:57 +01:00
make -j2 PLATFORM=orangepi-pc
2019-11-16 12:48:05 +01:00
2020-06-11 10:35:43 +02:00
For the Odroid N2/RockPro64
make -j2 PLATFORM=n2
2017-12-19 11:48:06 +01:00
You can check the Makefile for a full list of supported platforms!
2018-10-15 17:42:25 +02:00
For more documentation subjects, please check the [Wiki page ](https://github.com/midwan/amiberry/wiki )
2019-12-29 19:39:46 +01:00
## Contributors
2020-02-03 10:53:10 +01:00
2019-12-29 19:41:54 +01:00
This project exists thanks to all the people who contribute. [[Contribute]](../.github/CONTRIBUTING.md).
2019-12-29 19:39:46 +01:00
< a href = "graphs/contributors" > < img src = "https://opencollective.com/amiberry/contributors.svg?width=890" / > < / a >
2020-02-03 10:53:10 +01:00
2019-12-29 19:39:46 +01:00
## Backers
2020-02-03 10:53:10 +01:00
2019-12-29 19:39:46 +01:00
Thank you to all our backers! 🙏 [[Become a backer ](https://opencollective.com/amiberry#backer )]
< a href = "https://opencollective.com/amiberry #backers " target = "_blank" >< img src = "https://opencollective.com/amiberry/backers.svg?width=890" ></ a >
2020-02-03 10:53:10 +01:00
2019-12-29 19:39:46 +01:00
## Sponsors
2020-02-03 10:53:10 +01:00
2019-12-29 19:39:46 +01:00
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor ](https://opencollective.com/amiberry#sponsor )]
< a href = "https://opencollective.com/amiberry/sponsor/0/website" target = "_blank" > < img src = "https://opencollective.com/amiberry/sponsor/0/avatar.svg" > < / a >
< a href = "https://opencollective.com/amiberry/sponsor/1/website" target = "_blank" > < img src = "https://opencollective.com/amiberry/sponsor/1/avatar.svg" > < / a >
< a href = "https://opencollective.com/amiberry/sponsor/2/website" target = "_blank" > < img src = "https://opencollective.com/amiberry/sponsor/2/avatar.svg" > < / a >
< a href = "https://opencollective.com/amiberry/sponsor/3/website" target = "_blank" > < img src = "https://opencollective.com/amiberry/sponsor/3/avatar.svg" > < / a >
< a href = "https://opencollective.com/amiberry/sponsor/4/website" target = "_blank" > < img src = "https://opencollective.com/amiberry/sponsor/4/avatar.svg" > < / a >
< a href = "https://opencollective.com/amiberry/sponsor/5/website" target = "_blank" > < img src = "https://opencollective.com/amiberry/sponsor/5/avatar.svg" > < / a >
< a href = "https://opencollective.com/amiberry/sponsor/6/website" target = "_blank" > < img src = "https://opencollective.com/amiberry/sponsor/6/avatar.svg" > < / a >
< a href = "https://opencollective.com/amiberry/sponsor/7/website" target = "_blank" > < img src = "https://opencollective.com/amiberry/sponsor/7/avatar.svg" > < / a >
< a href = "https://opencollective.com/amiberry/sponsor/8/website" target = "_blank" > < img src = "https://opencollective.com/amiberry/sponsor/8/avatar.svg" > < / a >
< a href = "https://opencollective.com/amiberry/sponsor/9/website" target = "_blank" > < img src = "https://opencollective.com/amiberry/sponsor/9/avatar.svg" > < / a >