Changes to be committed: new file: wiki-rtd/docs/wiki_development/general/build-locally.md new file: wiki-rtd/docs/wiki_images/graphics/development/retrodeck-overview.png modified: wiki-rtd/mkdocs.yml
2.1 KiB
Development Build Locally Notes
This is WIP to help build RetroDECK locally. It wsa notes taken while adding the Flash Emulator Ruffle to the project.
Overview
RetroDECK is a big project in terms of scope and build size! It creates a 1.4GB flatpak file and the build folder is about 23GB. It takes about 3 hours to build on an 8 core PC.
It would also be worth running RetroDECK in debug mode to get familiar with how /apps folder and other read only areas of the flatpak.
Download RetroDeck
Clone the repository. The --recursive option is used to ensure the RetroDECK sub modules are download(ie Emulators from other projects). The only element that is not downloaded for changing/editing is the RetroDECK fork of ES-DE. That should only be needed if you wish to add a new emulator via ES-DE.
git clone --recursive https://github.com/XargonWan/RetroDECK
If you missed doing a recursive download then can also use the command below. The command is also initiated as part of the build process.
git submodule update --init --recursive
Then use git checkout to select the latest cooker branch.
Build locally via bash script
cd RetroDECK
developer_toolbox/build_retrodeck_locally.sh
Have a look at what the script does first and look at the corresponding automation_tools/ folder that the script above references for the build
The build will take about 3 hours on a relatively pc/laptop.
The build process creates a flatpak_builder file.
Build locally installed github runner.
Creates an artifact on Guthub and a local file in actions-runners
FAQ
Crash during local sh build?
- Stay Calm!
- Restart the PC/laptop.
- re run command below it should hopefully continue from the last good build action.
developer_toolbox/build_retrodeck_locally.sh
Crash during local github runner build?
- Stay Calm!
- Restart the PC/laptop.
- make sure runner started and then re run the failed Github action