Wiki/wiki-rtd/docs/wiki_system_guides/desktop-launch/desktop-launch.md
2025-03-13 22:55:00 +01:00

9.7 KiB

Launching Desktop Games with RetroDECK

This is an experiment made by the user murkl and later expanded on with the RetroDECK Team togheter.

Prerequisites

Information:

This experiment requires the flatpak-spawn permission, which breaks the sandbox environment that RetroDECK operates in. Therefore, we do not recommend attempting this unless you are confident in your understanding of the process and its implications.

Flatpak Spawn Permission

You can enable it by running this command in the terminal.

flatpak override --user --talk-name=org.freedesktop.Flatpak net.retrodeck.retrodeck

Folder structure

Type Folder Comment
Windows Roms Folder retrodeck/roms/windows/

How-to Make .desktop files

Make an empty file with the <gamename>.desktop.

Example:

Ultima I.desktop and put it into the retrodeck/roms/windows/ folder.

How-to: Launch Lutris Games

Step 1: Create an empty desktop file

First, create the .desktop file as mentioned above with the game name and put it in the retrodeck/roms/windows/ folder.

Step 2: Get Identifier and Internal ID

  1. Open Lutris.
  2. In Lutris, Right Click the game -> Configure and make a note of your Internal ID under Identifier.
  3. Make a note of the Identifier as well.

Example: Ultima I

Internal ID: 2

Identifier: ultima-i

Step 3: Populate the .desktop file

Open the .desktop file and populate it.

The files are different if you have the native version of Lutris installed or the Flatpak version.

Step 3a: Lutris (Native)

This for Lutris that is installed natively.

Copy this:

[Desktop Entry]
Type=Application
Name=NAMEHERE
Icon=lutris_IDENTIFIERHERE
Exec=env LUTRIS_SKIP_INIT=1 flatpak-spawn --host lutris lutris:rungameid/INTERNALIDHERE
Categories=Game

Change the values of:

  • Name= NAMEHERE
  • Icon= lutris_IDENTIFIERHERE
  • Exec= rungameid/INTERNALIDHERE

Example: Ultima I.desktop

[Desktop Entry]
Type=Application
Name=Ultima I
Icon=lutris_ultima-i
Exec=env LUTRIS_SKIP_INIT=1 flatpak-spawn --host lutris lutris:rungameid/2
Categories=Game

Step 3b: Lutris (Flatpak)

This for Lutris that is installed via Flatpak.

Copy this:

[Desktop Entry]
Type=Application
Name=NAMEHERE
Icon=lutris_IDENTIFIERHERE
Exec=env LUTRIS_SKIP_INIT=1 flatpak-spawn --host flatpak run net.lutris.Lutris lutris:rungameid/INTERNALIDHERE
Categories=Game

Change the values of:

  • Name= NAMEHERE
  • Icon= lutris_IDENTIFIERHERE
  • Exec= rungameid/INTERNALIDHERE

Example: Ultima I.desktop

[Desktop Entry]
Type=Application
Name=Ultima I
Icon=lutris_ultima-i
Exec=env LUTRIS_SKIP_INIT=1 flatpak-spawn --host flatpak run net.lutris.Lutris lutris:rungameid/2
Categories=Game

How-to: Launch Steam Games

Step 1: Create an empty desktop file

First, create the .desktop file as mentioned above with the game name and put it in the retrodeck/roms/windows/ folder.

Step 2: Get the Steam AppID

  1. Open Steam.
  2. In Steam, go to Library -> Right Click the game -> Properties -> Updates.
  3. Make a note of the AppID.

Example: ASTLIBRA Revision

App ID: 1718570

Step 3: Populate the .desktop file

Open the .desktop file and populate it.

The files are different if you have the native version of Steam installed or the Flatpak version.

Step 3a: Steam (Native)

This for Steam that is installed natively.

Copy this:

[Desktop Entry]
Type=Application
Name=G NAMEHERE
Icon=steam_icon_APPIDHERE
Exec=flatpak-spawn --host steam -silent steam://rungameid/APPIDHERE
Categories=Game

Change the values of:

  • Name= NAMEHERE
  • Icon= steam_APPIDHERE
  • Exec= rungameid/APPIDHERE

Example: ASTLIBRA Revision.desktop

[Desktop Entry]
Type=Application
Name=ASTLIBRA Revision
Icon=steam_icon_1718570
Exec=flatpak-spawn --host steam -silent steam://rungameid/1718570
Categories=Game

Step 3b: Steam (Flatpak)

This for Steam that is installed via Flatpak.

Copy this:

[Desktop Entry]
Type=Application
Name=G NAMEHERE
Icon=steam_icon_APPIDHERE
Exec=flatpak-spawn --host flatpak run com.valvesoftware.Steam -silent steam://rungameid/APPIDHERE
Categories=Game

Change the values of:

  • Name= NAMEHERE
  • Icon= steam_APPIDHERE
  • Exec= rungameid/APPIDHERE

Example: ASTLIBRA Revision.desktop

[Desktop Entry]
Type=Application
Name=ASTLIBRA Revision
Icon=steam_icon_1718570
Exec=flatpak-spawn --host flatpak run com.valvesoftware.Steam -silent steam://rungameid/1718570
Categories=Game

How-to: Launch Flatpak Games

You can either copy and edit the desktop files or make your own.

Step 1: Find the files

Note: All files here are symlinks, but the export folders contains them all in a conventient way.

Depending if you how you have installed the application they can either be under:

  • System Wide: /var/lib/flatpak/exports/share/applications/
  • Local User: ~/.local/share/flatpak/exports/share/applications/

Step 2: Show Target

Right Click on the symlinked .desktop file in the folder and press Show Target.

This will take you to the real .desktop shortcut.

Example eu.vcmi.VCMI.desktop:

  • System Wide: /var/lib/flatpak/app/eu.vcmi.VCMI/current/active/export/share/applications/
  • Local User: ~/.local/share/flatpak/app/eu.vcmi.VCMI/current/active/export/share/applications/

Step 3: Copy the .desktop file

Copy the .desktop file to retrodeck/roms/windows/

Step 4: Rename the file

Rename the file to something more fitting.

Examples:

net.openra.OpenRA.desktop -> OpenRA.desktop or Red Alert.desktop

eu.vcmi.VCMI.desktop -> VCMI.desktop or Heroes of Might and Magic III.desktop

Step 5: Edit the file

Open the .desktop file and edit the Exec= values so they are changed to flatpak-spawn --host flatpak run.

Example VCMI.desktop:

  • Before: Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=vcmilauncher eu.vcmi.VCMI
  • After: Exec=flatpak-spawn --host flatpak run --branch=stable --arch=x86_64 --command=vcmilauncher eu.vcmi.VCMI

Make your own desktop files

Step 1: Create an empty desktop file

First, create the .desktop file as mentioned above with the game name and put it in the retrodeck/roms/windows/ folder.

Step 2: Get the Run Command and Full Flatpak Name.

Find them on Desktop

Note this was done in KDE

  • Right Click in on the Application in the Application Launcher Menu and press Edit Application.
  • Command-line arguments should contain the Full Flatpak Name and Run Command.

Find them on Flathub:

  • Go to Flathub.
  • On flathub go to a the application you want to add, press the Down Arrow next to Download Button to get the Run Command and Full Flatpak Name.

Example: OpenRA.desktop

OpenRA - Flathub

  • Run command: flatpak run net.openra.OpenRA
  • Full Flatpak Name: net.openra.OpenRA

Step 3: Populate the .desktop file

Open the .desktop file and populate it.

Copy this:

[Desktop Entry]
Type=Application
Name=NAMEHERE
Icon=FULLFLATPAKNAMEHERE
Exec=flatpak-spawn --host flatpak run RUNCOMMMANDHERE
Categories=Game

Change the values of:

  • Name= NAMEHERE
  • Icon= FULLFLATPAKNAMEHERE
  • Exec= RUNCOMMMANDHERE

Example: OpenRA.desktop

[Desktop Entry]
Type=Application
Name=OpenRA
Icon=net.openra.OpenRA
Exec=flatpak-spawn --host flatpak run net.openra.OpenRA
Categories=Game

How-to: Launch Heroic Games

Step 1: Create and move .desktop file from Heroic

  1. Open Heroic
  2. Install the game
  3. Go to the Library -> Your Game -> Press the Three Dotted Menu
  4. Press Add Shortcut
  5. A shortcut will now be created on the Desktop.
  6. Move that to retrodeck/roms/windows/.

Step 2: Edit the .desktop file

Open the .desktop file and edit it.

The files are different if you have the native version of Heroic installed or the Flatpak version.

Step 2b: Heroic (Flatpak)

Edit the file original file.

  • Exec= Add the flatpak-spawn --host flatpak run com.heroicgameslauncher.hgl --no-gui --no-sandbox instead of xdg-open.

Example: Original - Flight of the Amazon Queen.desktop

[Desktop Entry]
Name=Flight of the Amazon Queen
Exec=xdg-open heroic://launch?appName=1207659723&runner=gog
Terminal=false
Type=Application
Icon=/home/deck/Games/Heroic/Flight of the Amazon Queen/goggame-1207659723.ico
Categories=Game;

Example: Edited - Flight of the Amazon Queen.desktop

[Desktop Entry]
Name=Flight of the Amazon Queen
Exec=flatpak-spawn --host flatpak run com.heroicgameslauncher.hgl --no-gui --no-sandbox heroic://launch?appName=1207659723
Terminal=false
Type=Application
Icon=/home/deck/Games/Heroic/Flight of the Amazon Queen/goggame-1207659723.ico
Categories=Game;

How-to: Launch Native Games

W.I.P

You can either copy and edit the desktop files or make your own.

Step 1: Find the files

The desktop files should be located under

/usr/share/applications/

The Last Step: Launch the Games via RetroDECK & Scrape

After the .desktop files have been created and everything is working as expected, RetroDECK will recognize the .desktop file the next time you start it. The games will appear under the Windows tab in ES-DE. If you have named the games correctly, there is a good chance that the scraper will identify them.