Skip to content

Available Platforms

Dimitris Panokostas edited this page Dec 29, 2023 · 16 revisions

Amiberry includes various platforms in the Makefile, for compiling it from source.

The syntax for compiling one of these platforms is: make PLATFORM=<XYZ> (note: PLATFORM should be in capital letters, as shown!)

Where <XYZ> is the platform name, based on what is supported. For example, make PLATFORM=rpi3 will compile a version suitable for RPI3 32-bit, using Dispmanx.

Tip: You can speed up the compilation process by using multiple CPU cores in parallel. To do that, you can include the option -j<X>, where <X> is the number of CPU cores you want to utilize when compiling. Don't use more than 2 if you only have 1GB of RAM (RPI3 or some RPI4 models), otherwise you can use as many as your CPU has (e.g. 4 on the RPI4).

For the Raspberry Pi platform specifically, we also offer a special Dispmanx version, but that requires the fkms driver to be used. However, please keep in mind that Dispmanx is disabled when using the newer kms driver (which is now the default from Bullseye onwards):

  • SDL2 with DispmanX back-end for graphics - RPI platforms only. Needs the fkms driver enabled.
  • SDL2 with whatever back-end it was configured with (e.g. KMS, OpenGL, X11, etc.) - all platforms.

On the latest versions of the KMS Driver, and latest versions of the SDL2 library, there is no more performance benefit in using the Dispmanx version. If you are running an Arch-based distro (like Manjaro Linux), then you should probably stick with the KMS driver and use the pure SDL2 versions of Amiberry anyway.

Below is a list of the currently available platforms and what parameters you can use:

Raspberry Pi models, 64-bit

RPI5: PLATFORM=rpi5-64-sdl2

RPI4: PLATFORM=rpi4-64-sdl2

RPI3: PLATFORM=rpi3-64-sdl2

Raspberry Pi models, 32-bit

RPI5: PLATFORM=rpi5-sdl2

RPI4: PLATFORM=rpi4-sdl2

RPI3: PLATFORM=rpi3-sdl2

RPI2: PLATFORM=rpi2-sdl2

RPI1: PLATFORM=rpi1-sdl2

Raspberry Pi models, 64-bit, Dispmanx (deprecated)

RPI3: PLATFORM=rpi3-64-dmx

RPI4: PLATFORM=rpi4-64-dmx

Raspberry Pi models, 32-bit, Dispmanx (deprecated)

RPI4: PLATFORM=rpi4

RPI3: PLATFORM=rpi3

RPI2: PLATFORM=rpi2

RPI1: PLATFORM=rpi1

OrangePi (cortex-a7), 32-bit, SDL2

PLATFORM=orangepi-pc

Odroid XU4 (cortex-a15), 32-bit, SDL2

PLATFORM=xu4

Odroid C1 (cortex-a5), 32-bit, SDL2

PLATFORM=c1

Odroid N1/N2 / RockPro64 (cortex-a72), 64-bit, SDL2

PLATFORM=n2

Vero 4k, 32-bit, SDL2

PLATFORM=vero4k

Amlogic S905/S905X/S912 (AMLGXBB/AMLGXL/AMLGXM) e.g. Khadas VIM1/2 / S905X2 (AMLG12A) & S922X/A311D (AMLG12B) e.g. Khadas VIM3, 32-bit, SDL2

PLATFORM=AMLGXBB PLATFORM=AMLGXL PLATFORM=AMLGXM PLATFORM=AMLG12A PLATFORM=AMLG12B

Amlogic S905D3/S905X3/S905Y3 (AMLSM1) e.g. HardKernel ODroid C4 & Khadas VIM3L, 64-bit, SDL2

PLATFORM=AMLSM1

Odroid Go Advance (cortex-a35), 64-bit, SDL2

PLATFORM=oga

Generic Cortex A53, 64-bit, SDL2

PLATFORM=a64

RK3288 e.g. Asus Tinker Board

RK3328 e.g. PINE64 Rock64

RK3399 e.g. PINE64 RockPro64

RK3326 e.g. Odroid Go Advance - 32-bit userspace

PLATFORM=RK3288 PLATFORM=RK3328 PLATFORM=RK3399 PLATFORM=RK3326

sun8i Allwinner H2+ / H3 like Orange PI, Nano PI, Banana PI, Tritium, AlphaCore2, MPCORE-HUB, 32-bit, SDL2

PLATFORM=sun8i

LePotato Libre Computer, 64-bit, SDL2

PLATFORM=lePotato

Nvidia Jetson Nano, 64-bit, SDL2

PLATFORM=jetson-nano

La Frite Libre Computer, 64-bit, SDL2

PLATFORM=mali-drm-gles2-sdl2

Generic Cortex-A9, 32-bit, SDL2

PLATFORM=s812

MacOS X, M1, 64-bit, SDL2 (experimental, no JIT support) - Requirements: https://github.com/BlitterStudio/amiberry/wiki/Compiling-for-macOS

PLATFORM=osx-m1

MacOS X, x86-64, 64-bit, SDL2 (experimental, no JIT support) - Requirements: https://github.com/BlitterStudio/amiberry/wiki/Compiling-for-macOS

PLATFORM=osx-x86

Generic x86-64 target, 64-bit, SDL2 (experimental, no JIT support)

PLATFORM=x86-64

Generic RISC-V target, 64-bit, SDL2 (experimental, no JIT support)

PLATFORM=riscv64

Clone this wiki locally