Skip to content

June 2025: Putting Together all the Components

Lots of development focused RetroDECK 0.10.0b news.

The RetroDECK Team have been hard at work stirring the development cauldron.

Highlights

  • PerfectDark's Team Q&A's over at Lemmy
  • New Component System
  • RetroDECK API
  • W.I.P Development Guides
  • Argh Technobabble: What does it all mean?!
  • Summer Update: Slower Pace in July

PerfectDark's Team Q&A's over at Lemmy

User PerfectDark did an Q&A interview with the RetroDECK Team and others over at Lemmy they are worth a read!

Read more here:


New Component System

In version 0.10.0b, RetroDECK introduces a completely new method for adding and updating components.

Each component is now built inside its own sub-sandbox within the main RetroDECK sandbox.  This change eliminates the library and dependency conflicts that have caused issues in the past.

This is a complete rewrite of how RetroDECK builds and accesses components.

Key improvements:

  • Each component is isolated in its own environment.
  • Components ship with their own libraries.
  • We can still cross-reference shared libraries between components to minimize disk usage.
  • Adding and updating components is now much easier and more reliable, thanks to the modular sandbox structure.

This new system provides a cleaner, more reliable, and scalable way to manage components going forward.

Everything will be built with out new Component / Project builder called: RetroDECK Assembler.

Our Library Manager LibMan is also getting updated to better cross reference libraries across multiple components (thus reducing bloat).

Both LibMan and RetroDECK Assembler is part of the RetroDECK Framework.

We are also switching runtime from: KDE Framework to Freedesktop to allow us to be more modular.

What are components?

A component is a complete packaged executable of:

  • Emulators
  • Engines
  • Ports
  • Systems
  • RetroDECK

RetroDECK API

Starting with RetroDECK 0.10.0b, we’re introducing the RetroDECK API - a new way for external applications to interact with the RetroDECK Framework.

The API allows external tools to:

  • Access internal RetroDECK data
  • Trigger actions within the framework
  • All functionality in the RetroDECK Configurator is now fully routed via the API instead.

Access Methods

Currently, the API is accessible via:

  • Named pipes
  • Internal calls within the RetroDECK Framework

Additional communication methods may be added in future releases.

Why It Matters

This API lays the foundation for:

  • Better automation and scripting support
  • External UI tools or launchers
  • Easier integration with third-party systems

W.I.P Development Guides

The team is actively working on a full set of updated development guides, FAQ and information.
These are still work-in-progress and subject to frequent major changes and more guides will be added.

Document Title                                                                                                         Description                                                                
RetroDECK: Glossary           Definitions of key terms used across RetroDECK development                 
RetroDECK: API           Overview of the internal API powering the new Configurator and integrations
RetroDECK: Libraries           General information on Libraries and LibMan     
RetroDECK: Flatpak Folder Structure           Describes the Flatpak Folder Structure    
Step 1 - How-to: Add a Component General guide for starting a new component integration                     
Step 2A - Creating Component: From AppImage Instructions for integrating AppImage-based components                     
Step 2B - Creating Component: From Flatpak Instructions for integrating Flatpak-based components                      
Step 3 - Ingredient and Recipe Files How to define metadata and build instructions for components               
Step 4 - Add Component to ES-DE Integrating the component into the ES-DE frontend              

Argh Technobabble: What does it all mean?!

Mrs. A User:
"Gosh Golly RetroDECK Team!
I have a hard time following the technobabble, what does it all mean?!"

Mr. Z User:
"I Like Turtles!"

Thalin:
"What will happen to RetroDECK?!"

RetroDECK Team:
"Well dear users thanks for the questions, let us try to explain."

Please Explain: New Component System

This new system allows us to:

  • Add new components (Emulators, Ports, Systems, Engines) faster and more easily.
  • Ship updates for existing components hopefully more quickly than before.

We made it a priority to solve this in 0.10.0b - even though it is a highly complex and time-consuming task.

Important Note

This doesn’t mean users can update components themselves - sandbox limitations still apply. 

Please Explain: RetroDECK API

The RetroDECK API is the new foundation for the upcoming Godot-based Configurator, which will replace the legacy Configurator in future releases.

But it’s more than just an internal tool.

The API is designed to be open and flexible - allowing other developers to build their own tools and interfaces that integrate with RetroDECK.

Think of it as a "Build-Your-Own-Configurator" LEGO kit.


Summer Update: Slower Pace during the Summer!

Many members of the RetroDECK Team will be occupied with real-life commitments during the summer period, including:

  • Vacations
  • Home improvement projects
  • Family time
  • ...and other well-deserved breaks

As a result:

  • There will be no blog post published in July and maybe even August.
  • Team activity on social channels may be reduced during this time.

We wish everyone a happy summer! 🌞


That is all for now

There are more things we are working on, but you will see them in future blog updates!

And as always if you want to help with development join the 💙-i-want-to-help channel on Discord.

Thanks everyone!

//The RetroDECK Team


retrodeck.net

Discord

Revolt

Matrix

GitHub

Wiki

Donations

Lemmy