4.5 KiB
Development General Notes
This is WIP
Cooker builds
Every time a commit or a PR is done, a GitHub action automatically compiles the snapshot with the latest changes and publish them on the cooker repository. This can be publicly tested and if it's stable will be merged in the main branch creating a new release..
How to build RetroDECK?
Git clone the latest cooker branch or any of the cooker feature branches and run.
./build-locally.sh
Feature branches
Sometimes adding a new big component to RetroDECK warrants a feature branch from that could later be merged into the main cooker branch to keep the issues related to the feature contained. Talk to the RetroDECK development team if you have a need to make a new feature branch for a new bigger component such as adding a new system, emulator or a major feature.
Debug Mode
It's possible to enter in a sort of debug mode, it's actually the flatpak shell.
Enter in the flatpak shell:
flatpak run --command=bash net.retrodeck.retrodeck
NOTE: on wayland in some cases it's needed to enter with the command above otherwise some emulators will not run:
flatpak run --command=sh --nosocket=fallback-x11 --socket=x11 net.retrodeck.retrodeck
Launch ES-DE in Debug Mode:
emulationstation --debug --home /var/config/emulationstation
Launch a component in Debug Mode:
To get the list of the available binaries to launch, then just write the command:
ls /app/bin
retrodeck
for the whole application or certain components like ryujinx
or retroarch
.
This is useful when for example a game is not starting and you want the output printed in the terminal.
Manual installation instructions
This method is usually for the beta/cooker testers:
- Download the RetroDECK.flatpak from the release page or from the cooker release page (be sure to download the correct version, check the date as they're not ordered unfortunately).
cd
where the downloded file is locatedflatpak install RetroDECK.flatpak
or whatever the filename is
If this doesn´t work:
- cd into your download location
flatpak install RetroDECK.flatpak
- Run it from the start menu or, alternatively, from the terminal by typing
flatpak run net.retrodeck.retrodeck
- Then the first setup will guide you in the first steps, please read all the messages carefully as the rom directory must not be edited in EmulationStation
Updating instructions
- uninstall the previous version with
flatpak uninstall net.retrodeck.retrodeck
- follow installation instructions
- [OPTIONAL] In case of issues it's suggested to remove
~/.var/app/net.retrodeck.retrodeck
and runflatpak run net.retrodeck.retrodeck --reset
, but this will reset the application configs, please backup your data. NOTE: this will not be needed after v0.4.0b
.
Managing RetroDECK flatpak file
Install RetroDECK from flatpak file:
flatpak install RetroDECK.flatpak
Run RetroDECK:
flatpak run net.retrodeck.retrodeck
Uninstall RetroDECK:
flatpak uninstall net.retrodeck.retrodeck
Making your own ES-DE theme
Please check the following link link over ES-DE
Theme Development
Old build instructions
cd ~
git clone --recursive https://github.com/XargonWan/RetroDECK.git
cd RetroDECK
git submodule init
git submodule update
install flatpak flatpak-builder p7zip-full
with your distro's package manager, then:
flatpak remote-add --if-not-exists Flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13 org.freedesktop.Platform.ffmpeg-full/x86_64/21.08
To build the stable release:
flatpak-builder --user --install --install-deps-from=flathub --install-deps-from=flathub-beta --force-clean --repo=local ~/RetroDECK/retrodeck-main ~/RetroDECK/net.retrodeck.retrodeck.yml
flatpak build-bundle local ~/RetroDECK.flatpak net.retrodeck.retrodeck
Or alternatively, to build the cooker (experimental) release:
git checkout cooker
flatpak-builder --user --install --force-clean --repo=local ~/RetroDECK/retrodeck-cooker ~/RetroDECK/net.retrodeck.retrodeck.yml
flatpak build-bundle local ~/RetroDECK.flatpak net.retrodeck.retrodeck