Skip to content

Creating Component: Ingredients, Libraries and Recipe Files Guide

Description

Read the Development Glossary a more shot general explanation of each file: Development Glossary

The Recipe file:

component_recipe.json

The Ingredient files:

component_launcher.sh
component_functions.sh
component_manifest.json

Prerequisites: A tested component

Note:

This assumes you have already tested a component folder from:


Step 1: The RetroDECK Alchemist

Create the artifact.

Read more here:


Step 2: Prepare the component_launcher.sh ingredient

Read more here:

Look at at the examples of other components and just copy from the one closest and start from there.


Step 3: Do a test run of component_launcher.sh

  1. Run: flatpak run --command=bash net.retrodeck.retrodeck --debug.
  2. Then from the terminal shell try to run your newly created component_launcher.sh.

Keep tinkering until the file launches and works as excepted.

Then PR it to the RetroDECK/components/cooker next to the artifact in the folder.


Step 4: Create the rest of the Ingredient Files

Read more here:


Step 5: Add the Ingredient files

Add the Ingredient files to: retrodeck/components/<component_name>

components/<component_name>/component_launcher.sh 
components/<component_name>/component_manifest.json
components/<component_name>/component_functions.sh

Example:

components/cemu/component_launcher.sh 
components/cemu/component_manifest.json
components/cemu/component_functions.sh

Step 6: Configurations: Try to Optimize (If possible)

Do a first pass and try to tweak configurations:

  • Tweak Controls: Test the controls with Steam Input (if possible) and tweak from there.
  • Tweak Performance: Check the performance: RetroDECK standard is the Steam Deck hardware as default.

Step 7: Assemble the Release & Into the Cooker

The RetroDECK Alchemist building process follows the component_recipe.json and builds the artifact with the ingredients files into:

RetroDECK/components/releases

After that the RetroDECK Alchemist will take the finished component artifacts and make them part of:

The RetroDECK Team and Community (Taste) Testers will:

  • Give you feedback.
  • Test and bug report.
  • Ask you to tweak configurations.

Step 10: How-to: Access your component?

Now your component have been added into RetroDECK, but how do the users access it?

You need to make it accessible within ES-DE (unless your component is a system that should only be part of the Configurator).

Read more:

Component: Add to ES-DE