|15a2c5e777||2 days ago|
|.github||2 days ago|
|config||2 months ago|
|distributions/AmberELEC||2 months ago|
|licenses||2 years ago|
|packages||2 days ago|
|projects/Rockchip||4 weeks ago|
|scripts||2 days ago|
|tools||12 months ago|
|.dockerignore||12 months ago|
|.gitignore||2 months ago|
|Dockerfile||1 year ago|
|Makefile||5 months ago|
|README.md||5 months ago|
An open source firmware for the Anbernic RG351P/M/V/MP and RG552 devices.
AmberELEC (formerly know as 351ELEC) is a fork of EmuELEC which is based on CoreELEC, Lakka, and Batocera. It is intended for use only on the RG351P/M/V/MP and RG552, it is not compatible with any other device.
We have a Website with installation instructions and a lot of information on how to get started using AmberELEC.
Visit us on our Discord! https://discord.com/invite/R9Er7hkRMe
Please visit our Website Installation page for installation instructions.
Building from Source
Building AmberELEC from source is a fairly simple process. It is recommended to have a minimum of 4 cores, 16GB of RAM, and an SSD with 200GB of free space. The build environment used to develop these steps uses Ubuntu 20.04, your mileage may vary when building on other distributions.
sudo apt update && sudo apt upgrade sudo apt install gcc make git unzip wget xz-utils libsdl2-dev libsdl2-mixer-dev libfreeimage-dev libfreetype6-dev libcurl4-openssl-dev rapidjson-dev libasound2-dev libgl1-mesa-dev build-essential libboost-all-dev cmake fonts-droid-fallback libvlc-dev libvlccore-dev vlc-bin texinfo premake4 golang libssl-dev curl patchelf xmlstarlet patchutils gawk gperf xfonts-utils default-jre python xsltproc libjson-perl lzop libncurses5-dev device-tree-compiler u-boot-tools rsync p7zip unrar libparse-yapp-perl zip binutils-aarch64-linux-gnu dos2unix p7zip-full libvpx-dev meson git clone https://github.com/AmberELEC/AmberELEC.git AmberELEC cd AmberELEC make clean make world
The make world process will build and generate a image which will be located in AmberELEC/release. Follow the installation steps to write your image to a microSD. It will build for the RG351P/M, RG351V, RG351MP and for the RG552.
To create the image for the RG351P/M just
make RG351P, and just for the RG351V
make RG351V, and just for the RG351MP
make RG351MP, and just for the RG552
Building from Source - Docker
Building with Docker simplifies the build process as any dependencies, with the exception of
make, are contained within the docker image - all CPU/RAM/Disk/build time requirements remain similar.
NOTE: Make can be installed with
sudo apt update && sudo apt install -y make on Ubuntu-based systems.
All make commands are available via docker, by prepending
make RG351V becomes
make docker-RG351V and
make clean becomes
New docker make commands:
make docker-image-build- Builds the docker image based on the Dockerfile. This is not required unless changes are needed locally.
make docker-image-pull- Pulls docker image from dockerhub. This will update to the latest image and replace any locally built changes to the docker file.
make docker-shell- (advanced) Launches a shell inside the docker build container. This allows running any development commands like
./scripts/build, etc, which aren't in the Makefile.
- NOTE: Errors like
groups: cannot find name for group ID 1002and the user being listed as
I have no name!are OK and a result of mapping the host user/group into the docker container where the host user/groups may not exist.
- NOTE: Errors like
Example building with docker:
git clone https://github.com/AmberELEC/AmberELEC.git AmberELEC cd AmberELEC make docker-clean make docker-world
Automated Dev Builds
Builds are automatically run on commits to
main and for Pull Requests (PR's) from previous committers.
Development builds can be found looking for the green checkmarks next to commit history. Artifacts are generated for each build which can be used to update the RG351P/RG351V and are stored for 30 days by GitHub. Note that due to Github Action limitations, artifacts are zipped (.img.gz and .tar are inside the zip file).
All artifacts generated by builds should be considered 'unstable' and only used by developers or advanced users who want to test the latest code.
See: Build Overview for more information.
GitHub Actions and Forks
Builds use GitHub actions (
.github/workflow) to execute. GitHub validates that changes to the
.github/workflow folder require a special
When using Personal Access Token to push in upstream changes from AmberELEC into your fork, you may get an error similar to the following:
! [remote rejected] main -> main (refusing to allow a Personal Access Token to create or update workflow `.github/workflows/README.md` without `workflow` scope) error: failed to push some refs to 'https://github.com/my-AmberELEC-fork/AmberELEC.git'
To fix, edit the Personal Access Token to add
workflow permissions (or create a new token with workflow permission).
Alternatively, ssh-key authentication can be used.
AmberELEC (formerly known as 351ELEC) is a fork of EmuELEC which is based on CoreELEC which in turn is licensed under the GPLv2 (and GPLv2-or-later), all original files created by the AmberELEC team are licensed as GPLv2-or-later and marked as such.
This firmware includes many non-commercial emulators/libraries/cores/binaries and as such, it cannot be sold, bundled, offered, included, or anything similar, in any commercial product/application including but not limited to: Android Devices, Smart-TVs, TV-boxes, Hand-held Devices, Computers, SBCs, or anything else that can run AmberELEC. with those emulators/libraries/cores/binaries included.
As AmberELEC includes code from many upstream projects it includes many copyright owners. AmberELEC makes NO claim of copyright on any upstream code. Patches to upstream code have the same license as the upstream project, unless specified otherwise. For a complete copyright list please checkout the source code to examine license headers. Unless expressly stated otherwise all code submitted to the AmberELEC project (in any form) is licensed under GPLv2-or-later. You are absolutely free to retain copyright. To retain copyright simply add a copyright header to each submitted code page. If you submit code that is not your own work it is your responsibility to place a header stating the copyright.
All AmberELEC (formerly known as 351ELEC) related logos, videos, images and branding in general are the sole property of AmberELEC and they are all Copyrighted by the AmberELEC team and are not to be included in any commercial application whatsoever without the proper authorization! AmberELEC may not be bundled with games or distributed as donationware!
You are however granted permission to include/modify them in your forks/projects as long as they are completely open-source, freely available (as in [but not limited to] not under a bunch of "click this sponsored ad to get the link!"), and do not infringe on any copyright laws, even if you receive donations for such project (we are not against donations for honest people!), we only ask that you give us the proper credit and if possible a link to this repo.